We are in the midst of a rapidly changing industry, which is pushing more than ever for faster development cycles and less isolated departments. While advanced technologies and better methodology look great on the face of business decision makers, they lack something even more important in avoiding production bottlenecks. To successfully engineer software in our competitive landscape, you need to improve the developer experience.
Developer Experience (DevEx) is the combination of the interactions and feelings each of your developers encounters as they work toward a goal. Developer experience encompasses every area of your organization that developers interact with – architecture, tools, processes, and culture – and all positive and negative experiences with these elements. Unfortunately, organizations often miss the goal of prioritizing the developer experience (and in general) luck). Instead, they prioritize hiring and respond to the increased attrition caused by disgruntled developers.
We see the problem here. The more revenue your business experiences, the more time it spends on work and rework processes. I worked with a company that said it takes an average of 4-6 months from a developer’s initial onboarding to make them productive. Your developers train new team members instead of spending their time on growth and innovation as an organization.
Not to mention the challenge of finding talent in today’s environment.
“Senior executives report that the lack of developer talent is one of the biggest potential threats to their business. In fact, they are now more concerned about access to developers than about access to capital, immigration issues and other challenges.” – Stripe’s Developer Coefficient Report
The same report estimates that the global GDP loss from developer efficiency is $300 billion and the developer efficiency loss is 31.6%. Think about it – almost 1/3 of your developers’ time is lost today.
This masks the anger and frustration developers feel when their day is lost. To improve the developer experience, organizations need to understand what their developers’ day-to-day struggles look like and easily devise ways to combat these obstacles.
Elements of Successful Developer Experience
Maybe it’s no surprise that 96% of senior management wants to increase developer productivity. Thus, prioritizing developer experience is a big factor in determining whether companies can achieve their ambitions.
Developers spend almost 35 hours of a 41-hour work week struggling with bad code, debugging, technical debt and more. Their delivery pipeline defines their developer experience. It makes sense for organizations to focus on more data information and look at their pipeline to increase developer happiness.
Software engineering teams focused on improving the developer experience are already reshaping parts of their pipeline to be data-driven that impacts developer productivity and overall happiness. Here we identify the three key development teams used for a sustainable and successful developer experience.
In a TechStrong Report66% of respondents noted plans to use AI/ML in their DevOps pipeline over the next 1-3 years.
Using AI and ML to test process improvements
Testing is one of the biggest bottlenecks for development teams. Within DevOps, it was still the least-priority stage for progress, but it can cause the most problems for developers. There are two common scenarios where teams can rely on AI and ML to improve processes: too little or too many tests.
- AI/ML for too few tests: Insufficient testing leads developers to fly blind, unable to catch errors fast enough. If bugs are passed downstream, bugs have a higher chance of aggravation, making them even more troublesome if found. Your best bet right now is to get more tests into the system. This is where AI test generating tools like Mabl and Mesmer come in – focused on adding more quality tests, instead of polishing test programs with tests that don’t yield meaningful results.
- AI/ML for too many tests: It’s all too common for organizations to be faced with bloated test pipelines. Running unnecessary tests during each commit takes time and increases the chance of false positives/negatives. To counter this, teams using ML to support testing at scalecollecting data to identify the necessary tests to be performed.
Noise reduction in development pipeline
How many notifications do your developers get each day? There is a common battle between the oversaturation of notifications and feedback depletion that developers face with their pipelines. Tampering with the level of unnecessary feedback and getting the right signals to the right people dramatically improves the developer experience. But where can you really make less noise?
An important contribution to this sound is flaky tests, often a result of miswritten tests or of the environment. The pressure on timelines, compounded by distrust in the test, is exhausting developers, leading to distrust of testing in general, while adding unnecessary noise to the pipelines.
Organizations minimize flaky tests with new models and automation. Spotify’s test flaking system and Dropbox’s “automated build health management system” focused on understanding the significant impact of flaky testing and finding a solution that works for their teams.
Focus on quality over quantity of data
It is important for organizations to realize that data for the sake of data does not lead to better pipelines. Developers are producing a tsunami of data on the regular. But that data doesn’t have value just because of the sheer amount of it. An overabundance of data can negatively impact developers’ experience if not used effectively.
“Data users can spend 30 to 40 percent of their time looking for data and 20 to 30 percent cleaning it. The result is often a kind of data drunkenness where companies chase different ideas in an uncoordinated and disjointed way. In fact, they are trying to manage the scale rather than extract the value.” – McKinsey
Organizations that focus on the quality rather than the quantity of data have the most success using data to make pipelines smarter and improve developer happiness. More than 60 percent of tech leaders say they plan to scale data, analytics, and AI. Perhaps surprisingly, this is more than any other tech initiative.
Modern data-driven pipelines make developers happier
Fostering happier developers isn’t so much about reinventing the wheel, but more about actively improving your existing pipelines to become data-driven.
The maturation of software engineering teams should inevitably lead to a focus on the developer experience. Setting up a team to lead this task—whether named specifically for Developer Experience or within a Developer Excellence or Health initiative—should have a universal vision focused on keeping engineers employed. The overall goal of these teams should be not to reinvent the wheel and rely on established, genuine Developer Experience Platforms and Tools for long-term developer happiness.
Your organization doesn’t have to pioneer to create a better developer experience. Successful organizations already exist apply solutions to improve the developer experience. It’s about finding the best tools, methods, and solution partners for your organization’s needs.