The Developer Experience, from your Own Team to your End-Users
Tags: developer, productivity, devops, softwareengineering
Published: 2023-09-21 15:34:09

Developer experience, or DX, refers to all a developer's perceptions, feelings, and experiences in interacting with a tech product or software. In this instance, 'interaction' can be two-fold.

A developer could use your product, such as a software development kit or an API, to create a product for the end user. Two, the developer could be creating a product for you, such as an app, working as your employee.

Since the term 'user experience' is more commonly known than DX, it helps to compare the two. Do they both tie in? A DX vs UX comparison will show that user experience concerns the end users, while developer experience concerns the developers who create the product for end users.

Both have one main thing in common; the aim to create a good product. That makes DX important for both the external users and the internal teams. For the former, developer satisfaction means better products, increased user satisfaction, and higher user retention. For the latter, it results in faster development and higher productivity.

So how do you go beyond the DX vs UX differences and balance both in your organization? Let's find out.


## Developer Experience for Your Team

Internal developer experience comprises the tools, processes, and culture you create for your development team. Simply put, it's the experience developers have while working on an internal project.

For instance, a team of developers may be creating a new app for your product. Many factors, such as the workflows, level of support, tools, technology, mentorship, collaboration, etc., will impact their experience.

### Benefits of Prioritizing Internal DX

When you prioritize internal DX, you improve employee retention and increase the number of success stories from your organization. Here are some other benefits:

- Increased Productivity: When developers can access effective training, streamlined workflows, and modern tools, they work better. Higher productivity results in faster project delivery and better efficiency.
- Better Innovation: With proper support, responsiveness, and mentorship, there's a greater chance of creativity and innovation. An organization that focuses on internal DX can create an environment that fosters risk-taking and experimentation.
- High-Quality Code: The prioritization of internal DX also results in better code quality. Developers can leverage feedback mechanisms to write scalable, maintainable, and high-quality code.

### Tips to Improve Internal DX

McKinsey recommends focusing on the following to improve developer velocity: ''tools, culture, product management, and talent management''. Organizations can heed this advice by:

- Offering growth and learning opportunities to developers to help them stay up-to-date with new technologies
- Providing user-friendly and modern technologies for the development process
- Creating streamlined workflows, such as code testing, review, and deployment, to lower friction
- Creating a collaborative culture where developers can work with their colleagues for better outputs
- Listening to developer feedback and using it to make improvements in the development environment

![Figure showing the correlation between Developer Velocity and Market Performance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4r1bv4j7o2xgjbnpcng7.png)


## Developer Experience for Your End-Users

External DX is the experience developers have when they use a company's products or services to build their software. It comprises the following:

- API usability and ease of integration
- Quality of support and documentation
- Tools, libraries, and frameworks available for development

A comparison of StackOverflow Developer Surveys over the years shows that the time developers spend per project has been decreasing. That's only possible with a decent external DX.

### Importance of End-Users DX

It's imperative to provide a good external DX for users since it results in increased use and adoption of a company's software development products. A higher adoption helps drive revenue generation and business growth.

It also helps users by allowing them to create robust applications and enjoy better integrations. Developers who use these products can also create more diverse applications in shorter timeframes.

### Best Practices for Improving External DX

A reference book on the subject: the Devrel Book. It presents a mapping of the developer's journey and the external developer experience. This book gives you the contact points you need to optimize.

![Developer Journey and Developer Experience by DevRelBook
](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d5m82aqxrb2wq0hc91qf.png)

Some good practices for improving external DX include:

- Publishing clear and understandable landing pages and product pages,
- Creating FAQ page,
- Providing clear documentation,
- Helping developers to get their first win with Quick Start Guides that include explanations of endpoints, examples, and code snippets,
- Offering libraries and sample codes to give developers a starting point for the development,
- Making it easy to sign up or register,
- Offering a sandbox to "play" with the tool, without any risk,
- Communicating about news, features and changes through a changelog,
- Introducing all the integrations and extensions. 
 

## Balancing Internal and External DX

If a company has poor internal DX, it can lead to errors and delays in API improvement. That would further reduce experience quality for external developers using the company's product.

Likewise, external DX can also impact internal DX. Suppose external developers run into various issues with the SDK (software development kit) or API.

They would need increased support from the company's internal developers. It could divert resources away from a company's internal development processes.

A balance between the two is necessary to keep developers satisfied on both ends. Google is a good example of such a company. On one end, Google offers SDKs and APIs for Google Cloud Platform, Google Maps, and Google Drive. These products allow developers to integrate Google's tech into their products.

Internally, Google builds software like Google Chrome and Google Ads. Google's internal developers often use the same tech and tools the company offers to external developers.

In doing so, Google strikes a balance as the collective use of resources requires consistency and reliability to keep both internal and external projects running smoothly.

Other organizations can follow suit by:

- Gathering insights and feedback from internal and external developers to learn about improvement points
- Aligning internal and external goals to create synergy between the two
- Ensuring consistency across products when creating APIs, SDKs, and libraries
- Encouraging user advocacy for internal and external projects.

## Improve DX With Automation

Developer experience is an important component of measuring success today. While improving the developer experience can take time, one step can make some quick improvements. That is automation.

With a tool like Mergify, workflow automation becomes a breeze. Mergify optimizes the CI/CD pipeline by queuing, updating, and merging your pull requests automatically. It saves time and money by eliminating outdated PRs and manual rebase, allowing faster project delivery and better code security.

Most importantly, Mergify can improve the developer experience by providing reliable workflows with minimal friction.