Skip to main content
Image
Blog%20banner_0.jpg

Why should you prioritise Developer Experience?

article publisher

Maitreayee Bora

Generic

Technology is continually evolving, becoming more smarter and powerful with each passing day. Organisations are seen striving towards establishing themselves as, “tech companies”, focusing on creating platforms for their consumers. In order to build such platforms, it necessitates developers with different skills like an engineering mindset, a robust grounding in technology, innovative thinking, and problem solving. Consequently, companies are aiming to hire and retain the best developers talent. Additionally, the companies will have to be responsible enough to enhance the developers effectiveness, well-being and work satisfaction. So, in this article we will come across all the important approaches towards improving the overall developer experience. 

Why should you prioritise investing in a good developer experience? 

Let us find out why it is important to invest in a good developer experience. A good developer experience encourages innovation, safety, iteration, and velocity. Great developer experience enables developers to experiment with what is significant, and do not take up any kind of technical debt with non-functional or application operational concerns like robustness and scaling. An improved developer experience can lead to a higher developer effectiveness, and organisational performance. 

Here are some examples shared by Thoughtworks, on enhancing the developer experience. 

In one of their automotive projects, it was observed that the unavailability of hardware and manual steps in the testing procedure lead to a two-three-week cycle for the developers. Therefore, it resulted in waiting on time slots with a hardware test bench and even moving physically to another building with all required pieces of equipment. Since this particular task was performed various times a week and also was key to the software quality, the leverage of resolving this issue was quite high. By availing remote updates and automated tests on the test benches, the test cycle time could be successfully lessened from weeks to hours. The developers were seen to benefit from an enthralling experience that supported much more testing. Also, the accelerated software delivery allowed the business to deliver the software to the customers with much higher quality, and even before the stipulated time. 

It’s a well-known fact that flexibility results in experimentation and it further leads to innovation. So, the organisations are seen moving towards cloud infrastructure as it provides flexibility to the developers, also enabling them to experiment and innovate potentially at their best. 

It is essentially important that the organisations actively invest in their work environments, which will motivate the developers to think out of the box and increase their efficiency. Usually, it is observed that various innovative companies look for top tech talent, but along with that they should also prioritise facilitating full freedom to the developers to try something new and bring up some great work of innovation.  

Let us now see what McKinsey has to say about improving the developer experience. Well, they found that prioritising the Developer Velocity can be the key to a seamless developer experience. Therefore, in order to get a better understanding of the factors that enable companies to accomplish Developer Velocity, they conducted an extensive survey at 440 large enterprises of senior executives, including more than 100 expert interviews, and in-depth external research. Further, they created the Developer Velocity Index (DVI), which determines the most crucial factors in accomplishing Developer Velocity. 

The research confirms that the top-quartile DVI scores correspond with 2014-18 revenue growth which is 4 to 5 times quicker than bottom-quartile DVI scores (Figure 1). It is observed that top-quartile companies have 60% higher total shareholder returns and 20% higher operating margins. Additionally, top-quartile players tend to be much more innovative, attaining 55% higher on innovation in comparison to the bottom-quartile companies. These businesses also succeed in scoring higher in terms of brand perception, customer satisfaction, and talent management as well (Figure 2). 

Figure:1

Companies in the top quartile of the Developer Velocity Index (DVI) outperform others in the market by 4 to 5 times

An image displaying a survey conducted by McKinsey & Company on developer velocity
Source: McKinsey & Company 


Figure:2

Top companies by Developer Velocity have an innovative edge

An image displaying a survey conducted by McKinsey & Company on developer velocity
Source: McKinsey & Company 


Similar patterns can be seen within some particular industries and sectors. For instance, top-quartile software companies witnessed growth in revenue around two times faster in comparison to any other software company within the same period. Also, in financial services and retail, top-quartile companies witnessed positive revenue growth whereas average revenue reduced in the other quartiles. Interestingly, it was observed that the sectors which are digitally more advanced including financial services, software, and discrete manufacturing have overall much higher DVI scores. 

McKinsey also examined 13 capabilities (composed of 46 individual performance drivers) in order to closely understand the specified conditions which could create a better Developer Velocity. Eventually, they found that various tools, culture, product management, and talent management could successfully bring a positive impact upon the overall business performance. 

Therefore, this research reveals that the companies mastering Developer Velocity also support developers in their different work endeavours, improving the developer experience at its best. 

How can you succeed in offering a seamless developer experience?

This section will essentially provide you with the various ways in which you can create a positive developer experience. 

By understanding what exactly your developers want

First and foremost, you need to understand what exact jobs your developers require to do, starting from setting up their developer machine to the code delivery to production. It’s quite obvious that jobs like this will be very dull and uninteresting. So, you have to carefully observe what kind of work excites them. For example, developers might look for compelling onboarding, automation, self-service, and many more. Therefore, by exploring different developer personalities in regards to various wants and challenges, you can understand your developers better and work for their well-being. 

By adopting product thinking for technical products and platforms

While identifying opportunities for your new products or even improving your present product, you would certainly research what your consumers want or if there are any challenges that they happen to come across. Then depending on your understanding, you will aim to develop a product that would satisfy your consumers and earn a sufficient amount of revenue for your business. Well, you can apply similar techniques to create products for developers. Therefore, developers can also be considered as your consumers, and it is even observed that the highly evolved companies tend to adopt product thinking for technology platforms and products in order to accelerate development, minimise operational complexity and enhance time to market. Also, the developer effectiveness can be increased by adding UX designers and product managers which will help in bringing design and product capabilities to a platform team. 

Learn more:

Establishing an extensive product-management function 

As we have discussed earlier, embracing Developer Velocity can be a key to a better developer experience. So, you must know the ways to improve Developer Velocity. Now, let’s find out how establishing a comprehensive product-management function can be helpful. Well, what is product management? Product management is the process of confirming that the right products are developed in the right ways to offer a better customer experience. The significance of offering this particular type of experience is the reason why the product-management function tends to become so crucial over the last decade and even why these capabilities happen to rank as the third most leading driver of Developer Velocity.

So, by improving the Developer Velocity, the overall developer experience can be well enhanced. 

By shortening feedback loops for developers to enhance frequent workflows

Feedback loops can be of great significance since they help to maintain proper communication throughout the development process, collect important feedback from development teams, and identify important areas for improvements. The feedback loops need to be kept short so that they can be easy to test. Also, the reduced feedback loops enable developers to focus upon the present task and prohibit any context switching. 

By allowing developers to collaborate and increase mutual understanding

According to a decade of State of DevOps reports, it is observed that the capacity of different disciplines to accomplish positive results is among the best predictors of IT performance. Even though earlier this majorly was referred to as development and operations, the 2020 report expanded this particular concept by illustrating DevOps as allowing everyone to collaborate with each other towards a collective business goal. So, this can be a good opportunity to improve the developer experience by creating opportunities for sharing relevant information by conducting internal conferences, lightning talks, or hackathons where employees from various departments and teams can come along and learn from one another. Also, holding regular standups for colleagues from different teams is one of the convenient options to build up mutual understanding among each other. Therefore, all these collective efforts can contribute to the enhancement of developer experience. 

By building a culture where team members are encouraged to experiment and innovate

It is very important that you build a safe and healthy environment for your developers so that they can experiment and feel encouraged to innovate, and also create business value. Further, if anybody has doubts about their company’s environment aka organisational culture, then they can look at the characteristics examined by sociologist Dr. Ron Westrum especially on that topic. 

Let me give you some examples. Google’s researchers confirmed that there is the possibility of employees with higher psychological safety harnessing the power of various unique ideas from their colleagues, and earning much more revenue for their company. And, Netflix, which is a role model for DevOps, considers that a majority of their success is due to the healthy culture and thinking process. Also, Netflix is seen to be hiring managers so that they can help the engineer do their work more productively. 

Additionally, by offering exciting incentives, and keeping a check on the team’s health, the developers can be encouraged to creatively innovate and contribute to the overall growth of the company. Therefore, one of the best telecom companies facilitates with a wider range of skills certifications or “microbadges,” from beginner’s-level mobile development to machine learning. Also, the company established a Developer University to offer developers new and fresh learning opportunities and apply the learned skills at their workplace.

Learn more:

  • Building a culture of innovation at the workplace

By choosing the right tools, processes and project management techniques for your developers

You need to be very careful while choosing the right tools for your developers. It is preferable not to choose the tools based on trends or any or convincing sales calls, but rather go for tools that can provide a good developer experience for your teams. It is observed that the companies with robust tools are able to plan, develop, collaborate and innovate much better than the companies that do not prioritise using strong tools. By allowing access to such significant tools at every stage of the software life cycle, developer satisfaction can be immensely increased. Also, by selecting the right languages and frameworks, you can enhance the productivity and experience of your developers. Furthermore, the tools should enable the developers to use them at their comfort without facing any difficulty.

A good developer experience can be supported by collaborative efforts using a reliable approach like the Agile methodology. This methodology enables companies to constantly monitor needs, plans, and outcomes to iterate and enhance the developer experience.  

Learn more:

By providing a self-service and effective environment

Companies are seen providing self-service environments which are cloud-enabled, possess integrated toolchains, and automated build and deploying pipelines to enhance the developer experience. Therefore, the developers who have access to polyglot sandbox environments get the opportunity to validate their unique ideas, and also the modern technologies help them in nurturing their skills and capabilities. The organisations that support such environments offer an effective reinforcement for developer experience.

Also, by offering an effective environment, you can smoothly put useful, high-quality software into production, and also effortlessly operate it so that your developers do not encounter any unwanted complexities, long delays, allowing them to focus on value-adding tasks. Therefore, by providing such a frictionless environment, you can allow your developers to continuously improve in their career paths, also helping you to achieve your expected company returns. 

By appointing developer advocates

Companies having a huge community of developers appoint Developer Advocates to constantly keep in touch with the developers to better understand their issues and concerns and actively work with companies to respond to those concerns. Also, Developer Advocacy helps in bringing a much more committed, dedicated, and efficient community of developers for the company.

By keeping a proper momentum from onboarding to project work

Onboarding can be considered a critical step to get right for all organisations. Most of the newly hired developers examine the organisation’s culture, management, and procedures in the first few months to decide whether they will remain or quit their job. Therefore, positive engagement can be considered as a significant factor within the first few months for any onboarded developer since it provides support to them while building a bond with leadership and other colleagues of their project. Also, by offering a structured plan to your new employees which will offer support or assistance beyond the initial onboarding, you can enhance the beginning of the developer experience. You need to establish a robust foundation by assigning small particular tasks and responsibilities slowly which onboard a developer onto project functions without giving them any major tasks so that it gets easier for them to develop momentum for wider project work. After the developer establishes connections with the colleagues or team, gets well engaged with the assigned tasks, it becomes easy for them to carry momentum into the other significant project stages. 

Case Studies

Here are two case studies that you can refer to for better understanding. 

Spotify

User research was conducted by Spotify among its engineers in order to understand the developer’s effectiveness. The research revealed two major findings:

  • Fragmentation in the inner tooling. The internal architecture and tooling of Spotify were developed as small isolated “islands” directed towards context switching and cognitive load for engineers.
  • Poor discoverability. There was no central place to identify technical information in Spotify. Since the information was spread all around, engineers weren’t aware of where to begin looking for information.

Spotify's developer experience team described these concerns as some kind of a negative flywheel; a vicious cycle where developers are given a lot of unknowns, compelling them to take decisions in isolation, that in turn compounds fragmentation and duplication of attempts or efforts and eventually destroys from beginning to end of the delivery time of products.

An image displaying a survey conducted by Spotify to understand developer's effectiveness.
Source: MartinFowler


In order to reduce such complexities, Spotify developed Backstage, an Open-Source developer portal, consisting of a plugin architecture that helps in exposing all the infrastructure products in one place, delivering a well-organised developer experience, also enabling engineers to get the information they require. 

Etsy

Etsy can be considered as one of the pioneers of the DevOps movement. The leaders of Etsy have worked well to drive-in developer effectiveness into their culture, along with a belief that moving swiftly can be both a technical as well as a business strategy. They measure their capacity to keep valuable products into production securely and quickly, also adjusting their technology investments in order to fix any kind of slowness or blockers. 

One of Etsy’s major metrics is lead time, which can be measured, monitored, and displayed in real-time all over their offices. While the lead time reaches above a particular major threshold, the release engineering team tends to work to lower it to an appropriate level. Mike Fisher. Etsy’s CTO discusses Etsy engineers being “fearless” towards moving forward swiftly, holding a secured net to try out new things.

In order to make software valuable for customers, Etsby adopts a data-driven approach, with each feature having measurable KPIs. Additionally, Etsy currently has an initiative that emphasises the developer experience. There are four major pillars.

  • It helps in crafting products, ensuring that you possess the perfect abstractions, libraries, and scaffolding for product engineers to efficiently do their work.
  • It helps in developing, testing, and deploying focuses on product engineers, particularly the development environments themselves (IDEs, linters), unit/integration test patterns/runners, and the deployment tooling and procedures. 
  • It helps in building with data focusing on data scientists and machine learning engineers, ensuring that the complete data engineering ecosystem is set up in such a manner that is intuitive, simple to test, and also easy to deploy.
  • It helps in reducing toil focuses on the on-call engineers, to ensure that we develop build production systems with the suitable levels of automation, have runbooks and documentation that is simply accessible and current, and we track and emphasise reducing toil-y activities.

Our Developers’ views on DX

This is what our OpenSense Labs developers have to say on boosting developer experience.

“It is highly important to keep an eye on the fresh concepts, the latest trend, and tools since they are very beneficial for both the company and the developer and can even strengthen the entire developer experience for sure.”- Raman Batra, Software developer, OpenSense Labs.


“By allowing in-house UX designers to review designs for any project and providing feedback within a short-time period, the developer’s effectiveness can be well improved.”- Bhumika Varshney, Former Frontend Drupal Developer, OpenSense Labs.


“You need to create a positive work environment where any kind of transparent discussions can take place regarding developer’s progress, enhancing the overall developer experience.”- Meenakshi Gupta, Former Senior Drupal Developer, OpenSense Labs.


Good communication among the developers, irrespective of the technologies they are working with, can give a clear understanding of the project’s inner working and can also encourage independent thinking among the team that is needed to improve the developer experience.”- PREMANSHU P, Software Developer, OpenSense Labs. 


“Encouraging developers by recognizing and appreciating their work can play a vital role in improving the developer experience.”- Anmol Goel, Technical Lead, OpenSense Labs.

Conclusion

The Developer Experience can be considered as a major contributing factor to organisational productivity and effectiveness. Therefore, if the developers are empowered with the right support, then they can surely come up with better ideas and offer importantly stronger business results.
 

Subscribe

Ready to start your digital transformation journey with us?

Related Blogs

In conversation with Danish Usmani, CEO, OpenSense Labs

danish-interview-osl.jpeg

In a year-end interview, CEO Danish Usmani showcases OpenSense Labs' achievements, emphasising new client partnerships and…

Why should you prioritize lean digital in your company?

Untitled%20design%20%281%29.png

We are living in an era where the change and innovation rate is just so high. If you want your organization to reach new…

How to measure your open source program’s success?

Untitled%20design%20%282%29%20%281%29%20%281%29.png

Along with active participation, it is very important to look after the ROI of open-source projects, programs, and…