Developer Experience
developer metrics

What is developer experience?

A good developer experience improves morale, productivity, and retention. In this blog we'll share how to think about truly understanding developer needs to improve their experience, and efficacy.

By
Cortex
-
March 26, 2024

Companies obsess over end user experience, whether it is Amazon’s customer-centric innovation or Steve Jobs suggesting starting with the customer experience and working backwards to technology. But as our world becomes more knowledge-based and digital, we also need to consider the most important stakeholder on the payroll - software engineers. The developer community is the driving force behind software as it eats the world, and enabling developers in the work environment helps your culture, productivity and your company overall.

A developer’s work life is not without challenges. Sometimes it’s hard to get your local set-up functional. Running tests can be an unnecessarily long process. The feedback loop moves at a snail’s pace and it often takes you three JIRA tickets to get a piece of infrastructure up and running. At times, the red tape feels onerous and endless. Such blocks slow software engineers down and interfere with their workflows. If their productivity takes a hit, their velocity declines, and the impact is noticeable in the software development process.

To prevent this, developers are held accountable to a number of metrics such as DORA. These help to maintain high standards and improve output, but don’t capture the inputs related to how developers do their work. Just as we track user experience alongside sales and growth, learning about what lies beneath productivity can make for a healthier working environment.

In this article, we dig deeper into developer experience. It’s crucial to understand this experience and its importance before seeking to improve it for the developers in your team.

What is developer experience (DevEx)?

Developer experience (DevEx) refers to the technology, processes and culture that define software development in an organization. It describes how well an engineering culture incentivizes quality work, and how easy it is to get things done.

Developer experience comprises all activities that development teams must partake in as part of their role in the software development process. It’s an umbrella term covering developers’ multiple daily activities and can include removing the bottlenecks identified above or proactively enabling developers through DevOps.

A good developer experience is a measure of how empowered your developers are to complete the tasks that help the team move forward quickly on the project. The speed at which your developers produce quality work is an important metric in the software development process, and enhancing developer experience is one way to increase their speed. By enabling developers to do their best work without unnecessary burdens, you can simultaneously improve their efficiency and happiness.

For instance, how easily can a new developer spin up a microservice and set up their local environment? Do they need to spend an entire week wiring the hardware and looking at documentation? Or is there already a script they can run that will have all necessary configurations built for them? Other considerations include the time it takes to develop software locally and how complicated it is to set up some examples. If a local microservice environment already exists, can a developer simply wire in a new service and test it without doing mocks?

Infrastructure provisioning is another component of the developer’s job. The infrastructure being based on TerraForm or AWS can change the developer’s workflow. For infrastructure based on AWS, developers might need to contact people with access to the AWS console who are willing to help out. The ease with which a developer can start using new technologies is an important aspect of the developer experience.

Why is developer experience important?

There are many tangible reasons why DevEx drives innovation and stability and increases productivity and output. A considerable majority of respondents to Forrester’s Opportunity Snapshot believe that improved DevEx can drive productivity (74%), shorten time to market (77%) and increase customer satisfaction (85%).

But there is a host of intangibles to best practice DevEx too. Productive, happy colleagues are better to be around, and an overall sense of pride and alignment with the company’s mission is a rising tide that lifts all boats.

Let’s further examine the role that DevEx plays in your developers’ work life and its contribution to the software development process. It can significantly improve the following:

Developer Productivity: By improving working conditions and enabling developers to take more pride in their work, DevEx enables developer to perform their roles with more ease and efficiency. A positive developer experience streamlines workflows, reduces friction, and allows developers to focus on writing high-quality code, ultimately leading to faster development cycles and improved productivity. It’s even possible to track these improvements in developer productivity, although it’s important to remember that DevEx and developer productivity are not the same thing.

Attracting and Retaining Talent: Building a reputation for a stimulating and engaging working environment allows you to attract and retain top talent in the competitive tech industry. When developers are willing and able to do their best and there is high morale and less churn in the engineering team. By providing the right tools, support, and a conducive work environment, developers can become advocates for their employers and help with retention and recruitment.

Innovation and Creativity: Innovation is just another word for solving problems, and good DevEx involves creating an environment for doing creative work and focusing your time on hard problems. An environment that encourages deep work represents good DevEx and the ideal platform for innovation.

Competitive Advantage: If you’re innovating, attracting the top talent and enabling them to do their best work, competitive advantage will follow from this. Developers are arguably the most important resource at your disposal, and using them correctly can be a competitive advantage of its own.

Customer Satisfaction: Customers want high-quality, reliable products and serviced delivered on deadline. Software companies that prioritize DevEx create the environment needed for developer to deliver these, and enjoy their work while doing so. A positive developer experience contributes to the creation of stable, feature-rich applications, ultimately enhancing the end-user experience and satisfaction with the delivered products.

All of the above helps to reduce costs, improving the bottom line. The Developer Experience Lab also has more on the tangible benefits of DevEx improvements.

What makes a good developer experience?

Developers tend to be smart, and good DevEx often boils down to limiting friction and getting out of their way. Jonathan Carter, technical advisor to the GitHub CEO, said “great DevEx shortens the difference between intention and reality.” It’s not about extracting anything from your colleagues, but removing obstacles and providing the processes and developer tools for them to do their best work.

Areas to focus on include:

Clear Documentation: Clear, comprehensive documentation is a cornerstone of a great developer experience. It serves as an essential guide, helping developers understand how to use specific tools, libraries, or frameworks effectively. Getting it right reduces cognitive load and ensures developers spend more time on problem solving and less on unnecessary research.

Intuitive and Performant Tools: Good tooling streamlines the development process, reducing the time and effort required to complete tasks. Automation tools help eliminate manual, repetitive tasks, while integrations between different tools foster seamless workflows, both of which make developers’ lives easier and roles more rewarding.

Robust and Reliable Support: Quick, responsive support channels help developers resolve issues swiftly, minimizing downtime and disruption to their workflow. Short feedback loops are particularly important, as they allow developers to quickly iterate on their work, improving their code quality and accelerating the development cycle.

Community Support + Collaboration: Enabling a supportive developer community provides a platform for knowledge sharing, problem-solving, and networking with other professionals. This encourages continuous learning and innovation, fosters a sense of mission and belonging, and enables developers to leverage collective intelligence to overcome challenges and improve their skills.

For more information on how to provide a great developer experience check out this article.

How to track and improve the developer experience

Now that we have discussed what a positive developer’s journey looks like and why it’s important, let’s consider what you can do to optimize it. Perhaps your developers will benefit from shorter feedback loops, working using a programming language like Java or JavaScript, or maybe they just want better communication and  encouragement. To get DevEx right you have to check in with your developers.

If your team is small, discuss this question during your collective retrospectives. Whenever your team gathers for a retrospective every couple of weeks, have an open and honest conversation about what could be better and how you can improve it together.

For larger organizations, the best way to track DevEx is by gathering data. You can run focus groups with a subset of employees first to find out top-line concerns, then use this shortlist to work up a broader survey for the whole engineering team. Ensure that your DevOps team is involved throughout the process, and do what you can to incentivize participation and honesty. Once the data is gathered, you should look to run analytics and consider way to automate and integrate data collection. If your surveys and research efforts are being rejected or ignored, that is a DevEx red flag to begin with.

Key developer experience metrics to track

Because DevEx is a subset of culture it has a subjective element, and so there are no standard metrics to track. While DORA metrics are useful to gauge productivity, they don’t track morale, burnout, or pain points.

That said, here are a few metrics to consider:

Time to First Hello World: This metric measures how quickly a developer can get started with a new tool or language. It's a useful indicator of the intuitiveness and ease of initial setup of your development environment.

Documentation Completeness: As outlined in this article, completeness of documentation can directly affect the ease with which developers can understand and use your product or service. It's a key measure of the accessibility and clarity of your technical information.

Developer Satisfaction Score (DSS): DSS gathers data internally to gauge the overall satisfaction of developers with their working environment, tools, and processes. It's a valuable metric for understanding and improving the overall developer experience.

Time to Debug/Resolve Issues: This is an important measure of the effectiveness of your support and problem-solving resources. Efficient debugging reduces cognitive load.

Onboarding Completion Rate: Good onboarding is a useful proxy for good DevEx and an efficient working environment.

Error Rate/Error Frequency: These metrics can help assess the stability, functionality and reliability of your tools and systems. Efficiency and DevEx correlate strongly.

API Usage Volume: The volume of API usage can indicate how frequently and extensively developers are leveraging your API, shedding light on its utility and usability.

Feature Adoption Rate: This measures how quickly new features are adopted by developers. It can signify the relevance and value of these features to the developers' work.

Feedback Response Time: This metric is an indicator of the responsiveness and efficiency of your support channels. Like with debugging, good support makes for a good experience.

Time to First Contribution of New Hire: This metric pairs well with completion of onboarding, measuring the time it takes for a new hire to make a tangible contribution. It’s a useful way to consider your company’s process and the talent of your new arrivals.

As always, choosing metrics is only part of the challenge to getting DevEx right. aligning them with your internal culture and practices is crucial. There is no perfect, mythical DevEx, only what is best for your organization.

It is also important to implement metrics as part of continuous integration. Good DevEx is a process and a state of constant change, not a destination.

How to improve developer experience

Improving DevEx is like improving products. It is an iterative process that can sometimes be helped by profound insights, but will also be helped by researching, discovering, testing and making gradual improvements focused on personas and use cases.

It is rarely improved by imposing changes from the top down. While assigning a developer experience team can be useful, it is essential to make developers central stakeholders, designing and developing processes and evaluating tools.

  • Invest in Documentation: Investing in clear, comprehensive documentation helps developers quickly understand and effectively use your tools or services. This reduces frustration and increasing productivity by providing immediate guidance and answers.
  • Streamline Onboarding Processes: improving onboarding processes makes it easier for new hires to get up to speed. By reducing the time it takes for them to become productive members of the team, they are able to settle in and feel like valued team members from the start.
  • Offer Robust Support Channels: Providing robust support channels, including detailed FAQs, responsive help desks, and active community forums, ensures developers have access to the help they need when they encounter obstacles, reducing downtime and frustration.
  • Encourage Collaboration: Encouraging collaboration among developers fosters a sense of community, facilitates knowledge sharing, and promotes innovative problem-solving, enhancing the overall development process and outcome.
  • Optimize Performance and Reliability: Ensuring tools and systems are optimized for performance and reliability minimizes disruptions and delays caused by technical issues. This allows developers to work more efficiently and confidently.
  • Promote Openness and Transparency: Promoting openness and transparency about development processes, product updates, and decision-making fosters trust and engagement among developers, making them feel more valued and involved in the ecosystem.
  • Cultivate a Developer-Centric Culture: Cultivating a culture that values and prioritizes the needs and well-being of developers creates an environment where they can thrive, fostering loyalty, satisfaction, and a sense of belonging within the organization.

An internal developer portal (IDP) can help with all of the above, and become a central part of your DevEx offering.

How can Cortex help?

Cortex’s IDP is the ideal tool for prioritizing your developers’ needs. Our IDP drives best practice  and is used by customers such as Adobe, Tripadvisor, and Grammarly. Using this portal enables all of the central planks of building good DevEx - tracking relevant KPIs, enabling greater collaboration, reducing cognitive load and enabling continuous improvement.

Once you've defined your DevEx objectives and established relevant metrics, the next step involves collecting and analyzing data for continuous improvement. Cortex allows you to synchronize this data through our standard integrations or create customized apps using plug-ins to integrate within the IDP's interface.

Our Eng Intelligence tool is particularly valuable as it extracts data from the software development life cycle (SDLC), pinpointing critical insights for DevEx improvement. This aids in identifying bottlenecks and digging into root causes rather than just surface-level issues.

Cortex also facilitates the incorporation of DevEx objectives into continuous enhancement efforts by utilizing custom scorecards to monitor progress on experience.

Finally, our IDP tailors communication of priorities to your preference. The developer homepage leverages Slack and Teams notifications to ensure that developers can be fully involved in the process, and allows DevEx to get the prominence that it deserves.

Explore how Cortex can enhance your Developer Experience by scheduling a demo today!

Developer Experience
developer metrics
By
Cortex
What's driving urgency for IDPs?