Etsy has been at the forefront of several movements in engineering over the past decade, from blameless postmortems, to DevOps, to fostering a culture of continuous learning. In 2020, the company embarked on a multi-year initiative focused on improving their developer experience.
The DevEx initiative was launched to support engineering’s rapidly growing headcount: the engineering organization grew from 250 to almost 1,000 in a couple of years. Etsy’s management recognized the need to invest in processes and technology to ensure engineering could be productive at this new scale. The DevEx initiative encompassed their solution.
This article highlights key takeaways about the initiative, based on an interview with their former CTO, Mike Fisher.
Although “DevEx” was not widely used in 2020, Etsy’s decision to use the term was a natural choice for them. It starts with their mission, which is to “keep commerce human”: the company has always cared about supporting and helping humans, and the same principle applied to the DevEx initiative.
In this case, the company was rapidly hiring engineers and knew from experience that productivity would take a hit as a result. Etsy approached the problem by focusing on the friction getting in the way of developers.
Mike says, “DevEx was a natural fit for us. One of my colleagues used to say, ‘developers are happy when they’re shipping product.’ So we decided that if we can make sure people are able to ship things, we’re not only making them more productive but we’re also making their lives better, which helps them feel more engaged and committed as well.”
When Etsy kicked off the DevEx initiative, the company initially approached developer experience as a single, broad initiative. However, as they delved deeper, they discovered that the necessary improvements spanned areas such as engineers' use of data, code deployment, and after-hours notifications. That led them to realize that the initiative crossed multiple engineering leaders' domains and required division into smaller, more manageable parts.
Mike recalls that one of the engineering leaders dubbed the parts “pillars” and the name stuck. Four pillars were identified from this work:
Help me craft products focused on making it easier to deliver features to both sellers and buyers on Etsy. The word “craft” is intentionally used, as Etsy has always thought of software engineering as a craft and not something that can be easily measured. In practice, this meant focusing on projects like modernizing their frontend so developers could more easily work in that environment.
Help me develop, test, and deploy focused on development environments, test patterns, and deployment tooling and processes. Etsy is famously a monolith, and one of the secrets to being able to scale a monolith in terms of traffic and number of developers is fast deployment.
Help me build with data focused on enabling product managers and engineers to leverage Etsy’s massive amount of data to experiment more quickly and guide next iterations.
Help me reduce toil focused on reducing tedious or repetitive tasks. For example, making sure there are accessible and updated runbooks and documentation for on-call engineers.
Mike notes they had the trust of their product and business partners which enabled them to tackle all of the pillars simultaneously. “If you don't have the same situation, focus on one pillar, like ‘reducing toil,’ and work on it for a few quarters or sprints, sharing the positive results,” he adds.
Etsy dedicated 20% of their engineering capacity towards the initiative, which lasted for 18 months.
The justification for this investment centered around Etsy’s rapid growth. Leadership understood the need to evaluate how people, process, and technology would scale together: scaling one without the others would result in waste. “Scale technology too early and you’re wasting money. Scale process too early and you’re bureaucratic. If you scale people without scaling technology or process, your productivity takes a hit.”
Additionally, Mike presented the ROI of several developer experience projects the company could focus on. He says, “When discussing engineering projects with business partners, my advice is to focus on incremental revenue or reduced costs. For example, instead of explaining that you want to change the way you deploy code using packages, tell the CEO that the work will save 50% of engineering hours spent waiting for deployment, translating to 500 hours of saved engineering time or roughly a quarter of a full-time engineer.”
Each of the four pillars of the initiative were owned by a VP reporting to Mike as CTO. There was a VP focused on the data pillar, another focused on reducing toil, and so on. Each of the VPs built teams around their pillar.
Interestingly, while the company had attempted to create separate platform teams to tackle these areas, they were not successful due to a variety of reasons. According to Mike, this reflects a common cycle in which developer experience work typically starts out decentralized, becomes centralized, and then moves back to being decentralized. He explains: “The work typically starts decentralized, which is good. Developers know the problems, they can work on them. But eventually you get multiple teams trying to solve the same problems, and as a leader you think ‘well that’s wasted effort,’ so you centralize it. That will work for a while, until eventually the centralized team starts to slow things down. That’s when you go back to decentralizing the work.” Mike continues: “As a leader you have to always be thinking about where you are, and the org structure is one piece of that. It's not stagnant, it changes. And that's okay. That's what it should do.”
Ultimately Etsy did realize that there is a place for centralized teams, but chose to label them “enablement” teams rather than “platform” teams. This labeling reflected the team’s focus: by using the term enablement, everyone would know what the group’s focus was, which was to enable the teams closer to the customer to be more efficient.
As the DevEx initiative drew to a close, Etsy’s management recognized the importance of continuing to invest in developer experience projects on an ongoing basis, indicating the initiative’s overall success. The work was integrated into the organization’s standard workflow.