What is developer experience?

Taylor Bruneaux

Analyst

Developer productivity all comes down to developer experience.

When we talk about developer experience, or DevEx, we’re talking about the real, everyday challenges developers face. Improve that, and you’ll see clear gains in efficiency, quality, job satisfaction, and overall productivity.

More companies are waking up to the fact that focusing on DevEx is the strongest way to understand your developers. By putting developers at the center, leaders uncover insights that traditional metrics miss. That’s why we’re seeing more dedicated DevEx and platform engineering teams popping up, laser-focused on making life easier for developers.

Relying on old-school metrics like lines of code or number of PRs is outdated. These numbers don’t capture the full picture of what developers actually do.

In this piece, we dive into how to measure and enhance DevEx by getting direct feedback from developers and combining it with data from their tools and systems. This approach gives a full view of productivity and drives real, meaningful improvements.

What is developer experience?

Developer experience, or DevEx, refers to how developers feel about, think about, and value their work. DevEx extends beyond just the tools used; factors such as clear project goals, having enough time for deep work, and codebase experience play significant roles in enhancing developers’ performance. These elements contribute to developer productivity, satisfaction, engagement, and employee retention, underscoring the importance of a positive DevEx.

Interruptions, unrealistic deadlines, and lack of reliability in development tools are examples of issues that can create a bad developer experience.

Developer experience varies depending on the organization and the team’s area of focus and processes. Understanding DevEx requires attention to both specific personas and broader organizational patterns.

Developer experience has three core dimensions: feedback loops, cognitive load, and flow state.

Feedback loops

Feedback loops enable continuous improvement through rapid learning and adjustments. The process reuses its output as an input, feeding it back into itself and making improvements.

In software development, feedback loops are pivotal for optimizing value streams by minimizing delivery delays, enabling quick iteration, and allowing swift course corrections.

Short feedback loops enhance the developer experience. Developers encounter numerous feedback-dependent tasks daily, such as waiting for code recompilation or test completions and navigating through approval processes for code reviews. Conversely, long feedback leads to frustration and delays, interrupting workflows and compelling developers to wait or switch tasks, disrupting focus and productivity.

Cognitive load

Cognitive load is the mental processing a developer needs to perform a task. This load usually increases when a developer works on a complex or difficult task or tries to learn an unfamiliar framework. The presentation of information can also impact cognitive load, which increases when individuals need to process information to transform it into longer-term knowledge.

A heavy cognitive load impedes developers’ most important responsibility: delivering customer value. When cognitive load remains high due to poorly documented code or systems, developers must devote extra time and effort to complete tasks and avoid mistakes.

To improve the developer experience, teams reduce cognitive load by eliminating unnecessary hurdles in the development process. A manageable cognitive load relies on clear and organized code and helpful technical documentation.

Flow state

Developers frequently discuss “getting into the flow” or “being in the zone.” These phrases casually refer to the flow state, a mindset in which someone engaged in activity experiences deep immersion, energized concentration, complete involvement, and enjoyment.

When engineers enter a flow state, they tend to be more productive and grow in their roles. Developers who enjoy their work also tend to create better products. However, disruptions and delays can make it difficult for developers to get into that flow state. Managing the way they work, setting clear goals for the team and projects, and taking on engaging and challenging tasks can all play a significant role in helping them achieve flow.

For a good developer experience, teams and organizations can focus on creating an optimal flow state environment. A great environment involves reducing interruptions by grouping meetings, limiting unexpected tasks, and consolidating requests for assistance. Additionally, it’s essential to recognize that a positive team culture, which provides developers with independence and challenging projects, significantly facilitates the flow state.

Can you measure developer experience?

Yes, it is possible to measure developer experience. It starts with identifying what aspects to measure and how to measure them.

You cannot measure developer experience and productivity with just one metric. To effectively measure DevEx, metrics should focus on the developers themselves and their firsthand experiences in the software development process. The best DevEx metrics encompass the performance of engineering systems and the developers’ perceptions of interacting with these systems – measuring perceptions, workflows, and software development KPIs

To get a complete picture of how developers experience their work, measure perceptions (how developers feel about their work), workflows (the systems and processes they use), and KPIs (Key Performance Indicators that gauge the effectiveness of software delivery).

Measuring DevEx involves understanding developers’ views, feelings, and data about their work systems and processes. Comparing developers’ opinions with actual workflow data is the best way to understand the entire developer experience, as one factor alone doesn’t show the whole situation. For instance, quick code reviews might still bother developers if they interrupt too much, and even if developers are happy with their build processes, actual build times show the process could be faster.

Focusing only on individual factors may lead organizations to overlook overall goals and misallocate resources. Therefore, track key performance indicators (KPIs) that reflect broader DevEx goals, like developer productivity, satisfaction, engagement, and retention. These KPIs guide strategic decisions and show the broader changes.

Here are some examples of each of these styles of measurement across the core DevEx dimensions:

FEEDBACK LOOPS

COGNITIVE LOAD

FLOW STATE

PERCEPTIONS

Human attitudes and opinions

Satisfaction with automated test speed and output

Perceived complexity of codebase

Perceived ability to focus and avoid interruptions

Satisfaction with the time it takes to validate a local change

Ease of debugging production systems

Satisfaction with clarity of task or project goals

Satisfaction with the time it takes to deploy a change to production

Ease of understanding documentation

Perceived disruptive- ness of being on-call

WORKFLOWS

System and process behaviors

The time it takes to generate Cl results

The time it takes to get answers to technical questions

Number of blocks of time without meetings or interruptions

Code review turnaround time

Manual steps required to deploy a change

Frequency of unplanned tasks or requests

The time it takes to release a change to production

Frequency of documentation improvements

Frequency of incidents requiring team attention

KPIS

North star metrics

Overall perceived ease of delivering software

Employee engagement or satisfaction

Perceived productivity

Developer experience surveys

To analyze their software delivery processes effectively, organizations need to collect data from both human sources and software systems through appropriate infrastructure. Once the data is collected, teams can analyze both quantitative and qualitative results by using key performance indicators (KPIs). These engineering KPIs provide a comprehensive view of the software delivery process, which can help organizations improve their overall efficiency and effectiveness.

Developer surveys

Developer surveys are essential for assessing developer experience and gathering feedback on software delivery challenges. When properly designed, they can rapidly collect data, offering timely and precise insights to set benchmarks and drive improvements for your engineering team.

Here are some tips for designing great DevEx surveys:

  • Define your objectives clearly to guide your survey design and ensure it meets your goals.
  • Keep your survey concise to increase completion rates and obtain more reliable data.
  • Use simple language to make your questions understandable for all respondents.
  • Break down results by team and persona to improve experiences for specific groups within your organization.
  • Avoid leading questions that suggest a particular answer, as they can bias your results.
  • Refrain from overloading your survey with open-ended questions to prevent respondent fatigue.
  • Avoid double-barreled questions to ensure clarity and reliability of the responses.
  • Don’t focus solely on aggregate results, which can obscure specific issues within smaller groups.

Incorporating quantitative data

Organizations should collect quantitative data from systems and surveys to understand all the factors of a good developer experience. System data helps understand infrastructure and application performance, offering insights that augment self-reported survey information. This process involves integrating data collection into systems and normalizing data across tools and teams.

To assess developer experience quantitatively, consider collecting system data on:

  • Build success rate: the percentage of successful versus failed builds, indicating the health of development processes.
  • Application performance metrics: includes response times and error rates, showing how well the applications meet performance expectations.
  • Deployment frequency: the rate at which your team successfully deploys new releases, demonstrating agility and efficiency in delivering updates.
  • Issue resolution time: time taken to resolve bugs or issues, reflecting the effectiveness of the support processes.

While quantitative data provides measurable and objective insights into developer experience, remember that it tells only part of the story. Quantitative data must be paired with qualitative data to understand the developer’s experience fully. Qualitative data offer context and depth to the numbers, revealing the reasons behind trends and anomalies in quantitative data. Incorporating quantitative and qualitative data ensures a holistic approach to assessing and creating a great developer experience, balancing the “what” with the “why” to inform strategic decisions and foster a more productive, positive development environment.

How eBay accelerated velocity by creating a great developer experience

eBay has prioritized improving how quickly and efficiently it delivers software. The company has started the “Velocity Initiative” project, which focuses on better feedback and reducing unnecessary work for developers. The internal DevEx team looks into problems and finds ways to fix them by asking developers for their opinions every three months and checking how systems work in real time.

Using this information, eBay has fixed issues with developer tools and instructions, simplified development and release processes, and made it easier for different teams to work together. They work closely with other teams to introduce these changes smoothly, including giving training and feedback sessions.

Thanks to these efforts from the developer experience team, eBay’s developers can release updates faster, significantly improving the speed of software delivery and making eBay more competitive. The company also ensures that developers are happy and have everything they need to do their jobs well, aiming for better customer results.

How Pfizer empowers developers to deliver at ‘lightspeed’

Pfizer has been enhancing the Developer Experience (DevEx) to enable developers to produce innovations at ‘lightspeed.’

The company’s software engineering division expanded significantly between 2018 and 2022, updating its software development practices with open-source and cloud technologies. Pfizer’s focus is now on improving the developer experience to accelerate team productivity.

Despite regulatory challenges, Pfizer supports small teams and encourages developer creativity. The DevEx team prioritizes feedback and maintains a productive workflow, using surveys to gather key performance indicators and providing tailored advice to improve team performance. Pfizer allows teams to focus on local improvements, which speeds up organizational changes faster than centralized efforts. This strategy includes significant projects like creating a unified developer portal, minimizing redundant code across teams, and enhancing version control tools.

How to start improving developer experience

If you’re beginning to invest in developer experience, here are some simple ways to get started:

  • Choose a leader passionate about a positive developer experience to take on the role of developer experience engineer. This individual should be acknowledged for their strong advocacy to invest in DevEx improvements.
  • Create a survey to gather feedback on developer tool usage, process satisfaction, and suggestions for improvement.
  • Distribute the survey to developers, encourage honest feedback, set a deadline, and send reminders.
  • Analyze the survey results to identify common problems and areas for enhancement. Determine impactful changes to make. If this is your first survey, use this as a baseline for DevEx or update existing metrics with new data.
  • Implement changes based on the feedback and DevEx data, focusing on small, targeted projects that align with current business priorities.

How DX helps you understand and improve your developer experience

Developer Experience (DevEx) is critical to the productivity and satisfaction of development teams. DX, a developer intelligence platform, is specifically designed to provide a comprehensive view of your developer ecosystem, combining both qualitative and quantitative data. By leveraging DX’s unique tools, organizations can pinpoint areas for improvement, enhance their development processes, and foster a more productive and satisfying work environment for their developers.

DX sets itself apart with its DevEx 360 survey tool, which quantifies internal developer experience, and the Data Cloud, which unifies metrics across various data sources. These tools offer a holistic view of developer productivity and experience, enabling teams to identify bottlenecks, track improvements, and make data-driven decisions. Additionally, PlatformX delivers real-time feedback for platform teams, ensuring they can respond swiftly to any issues, and the Onboarding feature accelerates developer ramp-up time, reducing the time it takes for new developers to become productive team members.

By using DX, organizations can move beyond traditional metrics and gain deeper insights into their developers’ needs and challenges. This comprehensive approach improves productivity and enhances overall job satisfaction, leading to better retention rates and a more motivated workforce. With proven success in top companies across various industries, DX provides the tools and insights to transform your developer experience and drive continuous improvement.

Published
June 13, 2024

Get started

Want to explore more?

See the DX platform in action.

Get a demo