7 Reasons Developer Experience is a Strategic Priority
The problems a good developer experience can solve are often the problems that feel the hardest to solve any other way.
originally published in The New Stack
When I started working in software development, I had a few “red flags” that meant I didn’t want to join a team. Once I knew the team culture was good and the environment felt familiar, my two big questions were:
- How often do you ship code?
- How long does that take?
Some of the answers I got were truly surprising. The coolest project I was ever invited to join admitted they hadn’t released new code to production in 18 months, and they knew it would be at least six more months before they released their current candidate. Before you ask, no, they weren’t working on Martian rovers!
When I explained to my friends that I passed on this dream project because they never got to shipping, some were confused: “Nica, if the money’s good and the tools are interesting, what does it matter whether you ship every day or every year?” The answer involves a fundamental truth about software engineering: The experience of writing, testing and deploying code has a huge effect on the happiness of engineers.
When I first started working as a programmer, every office had a beer keg and a ping pong table, and most had pinball machines. A few thousand dollars spent keeping developers happy was more than worth it. What we’re coming to realize as an industry is that developers’ experience of doing their jobs matters more than any number of fancy drinks or office toys.
This is why developer experience became a central value for market-leading engineering teams. Especially developer experience for backend engineers working in cloud-native, microservices environments. Often, the areas that most benefit from good developer experience are the things engineering leaders care most about but feel they have the least control over. No one wants to miss deadlines and deliver features at half the estimated speed, but software development has always been a complex landscape, and only by empowering our engineers can we set them up for success.
What is DevEx?
Developer experience (DevEx) refers to the overall environment, tools, practices and culture that software developers encounter in their daily work. It encompasses everything from the ease of setting up development environments, to the efficiency of workflows, to the effectiveness of tools and processes, to the overall work culture that supports their creative and technical endeavors.
When people imagine a great developer experience, they imagine intuitive tooling and practices that enable developers to focus on coding and problem-solving, rather than being bogged down by procedural inefficiencies or technological hurdles. In essence, DevEx is about providing a supportive framework that allows developers to perform their best work, innovate and contribute meaningfully to their projects and the broader goals of their organizations.
Good DevEx can help you retain developers longer and find they’re more committed to the mission. It helps your developers know and care more about the business problems you face rather than the technical hurdles you overcame. Retrospectives and demos will include more “We sped up the interface for 80% of end users” and less “This week we finally figured out how to connect AWS Lambda with NAT gateways.” Having exactly the right tools at the right time can make a well-run shop a genuine pleasure to work in and work with.
7 Reasons to Prioritize DevEx
Prioritizing DevEx is essential for several compelling reasons:
- Increasing Productivity and Efficiency: Improved productivity is perhaps the most direct impact of improved DevEx. When developers have the right tools, processes and environment, they can work more efficiently. This leads to faster development cycles, quicker turnaround times for feature releases and more responsive maintenance and bug fixes.
- Innovating and Improving Output Quality: Developers with access to the best tools and practices and who work in a supportive environment are more likely to experiment and innovate.
At Uber, the fluidity of the developer deployment experience, letting developers safely test services against a production environment, were part of the tooling that enabled the product team to roll out new artificial intelligence (AI)-enabled strategies on matchmaking and route-finding in weeks instead of months. Developers can test code nearly as fast as submitting a pull request, and the result has been new experiences for users that are far beyond the competition.
Better quality output and innovation leads to better quality products and potentially groundbreaking new features.
3. Attracting and Retaining Top Talent: In the competitive tech industry, attracting and retaining skilled developers is a significant challenge. Superior DevEx is a critical factor that top talents look for in an employer. Companies known for providing excellent DevEx are more likely to attract and retain the best in the field.
4. Reducing Operational Costs: Good DevEx can lead to more efficient use of resources, thereby reducing operational costs. This includes less time spent on debugging and fixing issues due to better testing and development practices and reduced costs associated with developer turnover.
5. Building a Strong Company Culture: Prioritizing DevEx shows that the company values its employees and their work environment. When DevEx is done right, it creates champions within your engineering team who will support adoption of new tools and practices. Romaric Philogene talked about how early adopters for a developer platform can create a strong team culture:
“These early adopters can provide valuable feedback, advocate for your platform internally and drive organic growth through their endorsement."
This can lead to higher employee satisfaction and a stronger sense of belonging, which are critical for long-term success.
- Responding Faster to Market Changes: In a rapidly changing technology landscape, the ability to adapt quickly is vital. Improved DevEx means the development team can respond more swiftly to market changes, customer demands and new trends.
- Mitigating Risk: When we ask what causes software delays in modern software development, a frequent answer is “regressions, rollbacks and other out-of-band failures.” Essentially, when we deploy code that appears to be working but find that it breaks in production, the process of identifying the problem, documenting it and getting an engineer to fix it is a lot slower than if you had identified the problem earlier. Developer experience is central to mitigating this risk. Better DevEx often translates to better testing and quality assurance processes, which help identify and mitigate risks earlier in the development cycle. This can prevent costly failures or security breaches down the line.
Money is Important, But Good DevEx Retains Talent
The problems that good developer experience can solve are often the problems that feel the hardest to solve any other way. No manager can claim they always know the best way to attract and retain tech talent, or how they can make sure features never get delayed. These problems feel intractable because their causes aren’t easily quantified.
We all know competitive pay helps retain good talent, but what makes an engineer jump ship after a year is rarely a question of money, working hours or anything you can enter into a spreadsheet. Rather, it’s the soft parts of that developer’s day-to-day work: how interesting the problems she’s working on feel, how frustrated she feels when tests don’t detect problems or how hard it is to control operational costs. These frustrations are often the cause of poor retention, and developer experience can help solve them all.
Of course, the holy grail of any software team lead is the somewhat-nebulous developer velocity. We want work to feel like a hackathon, with new features prototyped in the morning and tested in the afternoon. We want customer feedback to be treated as a precious resource rather than more dross for the backlog. With a strong developer experience, we empower our engineers to build the tools they need and change fluidly with user feedback.
In the next part of this series, I’ll talk about the principles and processes that are core to developer experience and how to measure success.
If you’d like to join a community that’s enabling DevEx at a high level and talk about strategies for a smooth testing and deployment experience, join the Signadot Slack community to connect with others trying to increase developer velocity.
Join our 1000+ subscribers for the latest updates from Signadot