A Fresh Perspective on What Developer Experience Really Should Be

Actionable steps to improve developer experience in your organization

Nick Cox
Level Up Coding

--

Introduction

Developers are often the powerhouse of our organizations, the lifeblood of the products we offer to our customers and earn our revenue from. Thus, it is super important that we provide them with the best experience possible, so that we can keep them motivated, successful, and happy.

Practitioners and writers often comment on the equivalence between developer experience (DX) and user experience (UX) when the user of the software is a developer. This is not a bad definition, but it is very narrow in scope. I have chosen to adopt a more fulsome definition for developer experience that encompasses the entirety of the organizational environment and culture that we create for our developers.

In this article, I offer actionable steps you should take to improve the developer experience in your organization, beyond the UX aspects of the developer platform itself. Here is a summary of what you can expect when you read on:

  • Enhance business knowledge and understanding
  • Give your developers a voice
  • Automate the mundane and repetitive tasks
  • Schedule meetings at non-disruptive times
  • Equip your developers with the best possible tools
  • Deploy documentation-as-code
  • Remove roadblocks and obstacles
  • Allow time for refactoring
  • Acknowledge estimates for what they are
  • Invest in the skills of your developers

I started my career as a consultant and therefore I like to think big picture and holistically when I solve problems. It is because of this that some of my recommendations may not be what you were expecting. But, I promise that if you take a holistic approach too, you will experience measurable improvements as a result.

Action: Enhance Business Knowledge and Understanding

Ensure that your developers are well versed in the mission and objectives of your organization. There is no better way to achieve buy-in and focus than having a highly engaged workforce. And there is no better way to achieve engagement than to have a workforce who believes in and is passionate about the mission of your organization.

It is a worthwhile investment for your developers to spend time learning about the products and processes of the organization, the industry it operates within, and the nature of your customer base.

A developer with broad and deep knowledge of your organization will code with purpose and will deliver better code.

Action: Give Your Developers a Voice

Empower your developers by including them in the decision-making process, not just as it relates to development activities, but also broader organizational initiatives and decisions.

This really goes hand-in-hand with the previous action in that your developers will be more highly engaged if they are involved in the decisions that make a difference. Your developers are highly-skilled and knowledgeable and may offer new and different perspectives that could unlock unrealized potential.

Action: Automate the Mundane and Repetitive Tasks

We do not want our highly-skilled developers wasting their time performing mundane or repetitive tasks. If a developer is spending 30 minutes a day on such tasks, this equates to 10 hours per month and 120 hours per year that a developer could be dedicating to new functionality and improving the customer experience.

Allow time for your developers to automate these mundane and repetitive tasks. The upfront investment pays dividends for years to come. Automation of testing should also be considered.

Action: Schedule Meetings at Non-Disruptive Times

Most of us do not enjoy endless time-consuming meetings that do not have a clear purpose nor useful outcomes. Your developers are even more loathsome about meetings than most. And it is not just the duration of the meetings that matter, it is also when they are held.

Make your meetings purposeful, efficient and schedule them during the least disruptive times for your developers. There is nothing worse than interrupting a developer who is in the middle of coding a winning algorithm.

Action: Equip Your Developers with the Best Possible Tools

Although I have taken the focus away from UX in this article, having the best tools for your developers is still a must. Functionality, ease of use, availability, collaboration, and good documentation are all important. This applies equally to hardware, software, and cloud services.

Like an artist or a builder, developers are able to produce their best work when they have the tools they need, but without the frustrations of bad design and poor functionality.

And as suggested earlier, give your developers a voice in what tools and technology you adopt. An investment in tools and technology is an investment in your developers.

Action: Deploy Documentation-as-Code

The thrill of coding for developers is creating cool new functionality. Writing documentation in support of it usually does not come with that same thrill. Adopting documentation-as-code, where code and documentation is created and maintained equally, is an alternative approach that your developers may embrace.

Action: Remove Roadblocks and Obstacles

If you have given your developers a voice and if you are listening, you will learn about the roadblocks and obstacles that they are facing in their day-to-day work. Partner with them to remove the roadblocks and obstacles. Unleash the full power of your developers.

You should also give your developers the authority to fix problems and remove obstacles without the need to always obtain permission first.

Action: Allow Time for Code Refactoring

Code refactoring is the process of restructuring existing code without changing its external behavior. It is intended to improve the design and structure while preserving the functionality.

Allow your developers some time to refactor their existing code. Many developers relish the challenge of improving performance and efficiency. It has the benefits of keeping code fresh and can prevent hours spent to maintain and debug old code. The benefits outweigh the costs.

Action: Acknowledge Estimates for What They Are

Estimating how many hours and resources are required to develop the requested functionality is an impossible task. Nobody gets it right every single time. By all means, provide your developers with tools and protocols for building estimations, but it is equally important to acknowledge that estimates are just that. Ensure that your developers are continually learning from estimates that were precise and estimate that missed the mark by a wide margin.

Action: Invest in the Skills of Your Developers

This should be obvious but is often overlooked. Ensure that budget is available to upskill and cross-train your developers. They will enjoy learning new skills and the organization will ultimately benefit from having highly-skilled and leading-edge developers. Training budgets are often the first cut made during trying times. Do not make the same mistake yourself.

Concluding Remarks

I know that I have given you a lot to consider. You do not have to attempt all of these actions at once. Set a priority list and get started. Your developers will thank you for it.

--

--

Data Scientist | Expert in Generating and Intelligently Communicating Insights and Solutions | Find me on LinkedIn: https://www.linkedin.com/in/nickdcox