Developer experience (DevEx) — sometimes called DevX or DX — examines how developers, processes, and tools work as a whole and how these interactions affects software development either positively or negatively.
What is developer experience
Developer experience describes the overall feelings a developer has while interacting with a technological product. It doesn't matter if your developers are using a product (such as APIs, SDKs, frameworks, etc) or if they are creating it (your developers are crafting a product for other users), you are dealing with developer experience.
DevEx questions every aspect of a developer's journey (tools, systems, processes, etc) from it's local machine to a successful product in production and measures how they are affecting developer effectiveness.
A good DevEx is all about optimizing the developers' tools, workflows, processes, and more, so they can have a smoother experience when developing software. When having good DevEx, developers stop switching contexts and loosing focus constantly, so they are less distracted, with less mental fatigue, and able to produce better solutions.
“Building software is like having a giant house of cards in our brains. Tiny distractions can knock it over in an instant. DevEx is ultimately about how we contend with that house of cards.”
Why is DevEx important
If your business depends (even partially) on creating software products, developers are a big part of your entire operation. And no business is sustainable if your internal employees are getting all the support they need.
Improved employee well-being and retention are clear results of a good developer experience, and those are clear metrics for loyalty and better performance.
However, that's not the only advantage. Having happy and empowered developers creates better products.
Research from McKinsey shows that companies with better DevEx to outperform their competitors, regardless of vertical.
What makes a good DevEx
While describing all the parts can be tricky, experts agree that a good developer experience has the following:
- Short feedback loops
- High degrees of automation and integration
- Low levels of friction or toil
- Transparent, well-documented processes
Ways to improve developer experience
If we take a look at the points above, some improvements came right out:
- Shortening feedback loops so that developers' don't loose focus on long waits.
- Reducing cognitive load by creating an Internal Developer Portal and centralizing all developers' knowledge
- Enabling developer self-service with an Internal Developer Platform
While there are lots more, these three will surely improve your DevEx and boost your developer effectiveness.
While developer experience covers a wide range of interactions and improving it could sound intimidating, it's all about improving your team's overall satisfaction.
In order to do so, bear in mind that how developers subjectively feel makes the difference, so talk to them, measure what works and what not, and iterate together to find that sweet spot that will boost your performance.