Close

Микросервисы: что они из себя представляют и каковы их преимущества

Developer experience (DX or DevEx) focuses on developers' lived experiences: the points of friction they encounter in their everyday work and how they connect emotionally with their jobs. 

This article explains why developer experience is important and how an improved developer experience leads to better outcomes for developers and organizations. It also provides recommendations for meaningful change on your team.

Логотип Compass.

Попробуйте Compass бесплатно

Повышайте удовлетворенность разработчиков, каталогизируйте все сервисы и улучшайте работоспособность программного обеспечения.

Understanding developer experience

Developer experience has become widely discussed since developer productivity became the main focus of most engineering teams. With mounting pressure to capitalize on investments in developer talent and technologies over the last few years, leaders have invested significant resources trying to prove they're building high-performing and productive teams.

However, development teams evaluated on the wrong metrics, such as hours worked or lines of code, are becoming less productive by trying to meet arbitrary requirements. Atlassian’s State of Developer Experience report found that more than half of the engineering leaders using productivity metrics find them ineffective as a measure of developer productivity. That isn’t surprising, given that 38% of organizations measure developer productivity by hours worked, yet 69% of developers lose 8 or more hours of their week to work inefficiencies.

Why is developer experience important?

When organizations improve the core components of developer experience, developers have more time to work on what matters: shipping high-quality software. Developers who can focus on what they love are much more productive than those pushed to do more while facing obstacles.

A better developer experience doesn’t only lead to more productive developers—developers are also much happier in their roles, which means they’re less likely to leave their teams.

Attracting and retaining talent is another reason why developer experience is crucial. Our report shows that 63% of developers consider developer experience important or very important when deciding whether to stay in their current jobs. Not only that, but 86% of leaders also believe attracting and retaining the best developer talent will be almost impossible without improving the developer experience.

Components of developer experience

Research shows there are three core components of a positive developer experience:

  1. Feedback loops that allow for continuous improvement through learning and adjustments
  2. Manageable cognitive load through well-organized code and easily accessible documentation
  3. The ability to get into a “flow state” where developers are moving fluidly through tasks and completely engrossed in their work

Factors influencing developer experience

Developer experience is heavily influenced by the quality of tooling and the efficiency of the software development. When tools and processes allow for all three of these components daily, developer experience soars and development teams reap the rewards with more high-quality software and happier staff. 

Your team’s culture also impacts developer experience. A team that doesn’t promote feedback loops, protect focus time to work, or support developers in their needs will not offer a great experience. Ultimately, a combination of tooling and culture shifts will help you provide a better developer experience.

Strategies to enhance developer experience

Organizations have direct control over the experience of their development teams, which means you can and should intentionally improve your developer experience.

While every team and organization has different needs and challenges, these strategies are a great place to start improving developer experience. If implemented, these changes can significantly impact developer satisfaction and lead to productivity gains.

Tools and technologies

Your DevOps toolchain provides a wealth of disparate data points, so make sure your teams are getting the most out of them. Add modules showing in-progress tasks, bug counts, time to resolution, SLA compliance, release readiness, sprint burndown, and build status. This gives your developers a holistic view of work to see their progress and establishes constant feedback loops.

For a deeper view of the microservices and other components your team works with, try the component catalog and system scorecards in Compass, Atlassian’s Internal Developer Platform (IDP). Developers can quickly access the information they need to work with components, such as who owns them and how they interact with other systems. Meanwhile, leaders can use scorecards to track software and team health to identify bottlenecks and blockers.

Documentation

In our State of Developer Experience report, we found that 41% of developers report inefficient documentation as a major hindrance. However, developers don’t always have the time (or desire) to write the documentation they need. AI can create code and process documentation quickly and painlessly, allowing developers to focus on more impactful tasks that contribute to a better developer experience.

It’s not just building out documentation that affects developer experience. According to the latest Stack Overflow Developer Survey, over a quarter of developers spend an hour or more each day searching for information. AI tools like Atlassian Rovo can gather and summarize existing internal documentation and project management tools to reduce time spent away from software development and wasted on tedious searching.

Onboarding process

A poor onboarding process is the gateway to a poor developer experience. Setting up your developers for success makes them feel more satisfied in their new role and helps them ramp up more quickly. A strong onboarding experience is also something your team members can refer back to as they become familiar with different aspects of their roles and new software components.

Thanks to the comprehensive software component catalog, Compass has everything your developers need in a single and standardized location. This saves new hires from having to scan through pages of documentation or ask other team members for constant guidance in their first few weeks. And because everything is in one centralized space, there’s no need to memorize or bookmark anything for future use. Everything in the component catalog, from repositories and libraries to APIs, can be found with a quick and simple search.

For more onboarding ideas, take a look at Atlassian’s employee onboarding steps.

Support and community

Developer experience is how developers feel about the tools and processes they use to create software, so the only people who know what it is like at your organization are your developers. By listening to what your developers have to say, you can build a community on your teams and show your support for developer experience.

At a smaller organization, you might be able to speak to all your developers, but to create a scalable process and a safe space for feedback, we recommend developer experience surveys. You can use the information from your surveys to track improvements in a specific focus area. Just remember to acknowledge and act on the feedback you receive so your teams see that you’re invested in developer experience.

Regular team retrospectives give developers and leaders a chance to reflect together on what’s going well and create the feedback loops required for a positive developer experience. Discussions can range from cultural topics like workloads and deadlines to technical issues like API design. Our retrospective play provides basic retrospective instructions and templates, as well as variations for specific situations, to help you get started.

Culture and work environment

Staying in the flow is impossible for developers if they don’t have large blocks of uninterrupted focus time. That means avoiding a culture of meetings and constant pings. Using a centralized tool like Compass that hooks in all the information and insights your developers need from across your toolset can also reduce context switching.

Some teams designate one or two days each week as “no-meeting days.” For a more ad hoc approach, encourage team members to put a handful of recurring 90—to 120-minute holds on calendars at whatever time works best for them. Check out Atlassian’s 2023 report on meetings for more ideas. 

Whatever you do, empower developers to silence their phones and turn off chat notifications so you can create a work environment that allows your teams to focus.

Enhance developer experience with Compass

Compass is the IDP that checks all the boxes of developer experience:

  • Maintain the flow state: Developers don't need to dig through the archives or disturb team members for answers. Compass makes everything available in a single location and standardized format through a comprehensive software component catalog.
  • Reduce cognitive load: Because developers can access information in one centralized space, they don’t need to remember the details of how everything fits together.
  • Provide feedback loops: Teams can review operational health together through weekly data-informed retrospectives and CheckOps practices to improve performance continuously.

Снимок экрана: каталог

These improvements make getting work done easier and more enjoyable, creating a better developer experience at your organization. You can get started right away, for free.

Developer experience: Frequently Asked Questions

What does a good developer experience look like?

A good developer experience allows developers to focus on what matters most—shipping more high-quality software, more frequently. It also allows developers to stay in the flow, reduces their cognitive load, and provides feedback loops. As a result, developers are satisfied in their roles, can onboard and focus on creating software more efficiently, and aren’t looking for their next role.

How do you measure developer experience?

There isn’t one universal metric or set of metrics to measure developer experience. This is because developer experience is highly contextual between teams and organizations. Even if all companies used the same tools and metrics to improve developer experience, the outcomes would still vary significantly between teams and companies.

To understand developer experience at your organization, you need a holistic view of what your developers live on a daily basis. Start with a meaningful north star from these three main areas:

  • Perceptions: How do your developers feel about their work and their working environment?
  • Workflows: How efficient and reliable are your systems and processes?
  • Key Performance Indicators (KPIs): What measures are your teams focused on? You might consider employee satisfaction, perceived ease of delivery software, or perceived team productivity.

We recommend using developer experience surveys for all of these areas. To get started, try our developer experience surveys play.

What are the pillars of developer experience?

The three core components of a positive developer experience are:

  1. Feedback loops that allow for continuous improvement through learning and adjustments
  2. Manageable cognitive load through well-organized code and easily accessible documentation
  3. The ability to get into a “flow state” where developers are moving fluidly through tasks and completely engrossed in their work