I’m Joining LinkedIn

I’m very excited to share that I’ve joined LinkedIn as a full-time employee.

LinkedIn has bet big on Ember. They debuted their new mobile site earlier this year, and have already started to roll out a new, Ember-based version of the desktop linkedin.com experience. I will be joining a team of top-notch engineers whose job is to scale up Ember to handle the needs of a large, globally-distributed engineering organization.

So why do I want to work for LinkedIn? The world is changing, and it’s easy to forget what economic insecurity feels like in an industry where recruiters are knocking down our doors to offer us six-figure salaries. I believe in LinkedIn’s mission to connect the world with more and better economic opportunity.

But, on a more personal level, I believe that the web is at an important inflection point. The web has gone mobile, and the majority of the world is now coming online via a smartphone. At the same time, the challenge of building web apps that reach a global audience has never been greater.

In order for LinkedIn to grow, they will need tools to help them reach developing markets, where the majority of users have low-powered handsets and slower network connectivity. My work at LinkedIn will allow me to see, up close and personal, exactly what the challenges are—and then we’ll need to find solutions that scale to an engineering organization the size of LinkedIn.

I find most of the current advice on how to target underpowered devices to be unhelpful at best. It relies too much on abandoning tools and developer productivity in favor of crafting a tiny, hand-optimized app. While this can be effective in the small, my experiences at Apple, LinkedIn and at my consulting clients have shown me that artisanal, shade-grown code doesn’t scale to large engineering organizations. And even for the smaller teams that are able to do it, it’s still a huge a waste of time.

I believe very strongly that advanced tools are critical to democratizing engineering excellence. Perhaps you can hand-tune x86 assembly to be faster than gcc -O3, but I (and most of the rest of the world) cannot. Perhaps you can write perfect C++ code that never segfaults, but I (and, as evidenced by many security vulnerabilities, the rest of the world) cannot. I would rather let Rust’s borrow checker verify memory safety for me.

Perhaps you can write a tiny web app that loads instantly and still retains a full set of features, but most of the world cannot. Over time, Ember will become like gcc -O3 for web apps, intelligently optimizing them and delivering them as fast as possible, piece by piece, to your user’s browser.

More software gets written every day by people for whom programming is just a 9-to-5 job, not a lifelong passion. I think that’s wonderful. We need to help those people do a great job by building tools that make the right thing the easy thing. Working at LinkedIn will allow me to devote my full time and attention to working on these problems.

Under normal circumstances, I would hesitate to join a large company to work on an open source project, out of fear that they may attempt to dominate it. But two things make me confident to work on Ember at LinkedIn.

First, I have always believed that vibrant open source projects require a diversity of viewpoints. That’s why we rejected the BDFL model in favor of a consensus-driven core team, and we adopted Rust’s RFC process, which has helped us gather input from a wide range of voices during the design process. Our governance model is specifically designed to put small and large players on equal footing and to prevent any one company from dominating.

Second, even if Ember didn’t have such a strong governance model, I trust LinkedIn’s attitudes towards open source. They have demonstrated that they understand the importance of independence and community when supporting other open source projects for which I have tremendous respect, including Sass, Kafka, Samza, Voldemort and more.

I have to confess that I’m excited to see what the competitive landscape looks like now that Ember has even more serious resources behind it. We’ve often flown on a wing and a prayer, and those constraints forced us to be incredibly resourceful if we wanted to survive. I think that was a good thing. But I’m hoping that we can turbocharge that scrappiness, and build what I think the world needs: an open source SDK for the mobile web.

Yehuda and I have some really cool stuff to share with you all at the EmberConf keynote in March. As the web continues to gain incredible new capabilities, it’s never been more important to have a productive framework to help everyone—of all skill levels—take advantage of them. It’s going to be a very exciting 2017.


SemVer Shouldn’t Mean More Breaking Changes

December 15th, 2016

There’s a fundamental mistake I see a lot of open source maintainers make when they start thinking about Semantic Versioning, or SemVer.


What’s the Deal with TypeScript?

April 11th, 2017

Two weeks ago at EmberConf, we announced Glimmer.js, a component-based library for writing superfast web applications. In the demo video, we use TypeScript to write our Glimmer components. Some people have been asking, what’s the deal? Have we turned our backs on JavaScript and embraced our new TypeScript overlords?