Did you hear about DX? Recently it has become one of the hot topics in software development.
Let’s think about what today’s software development looks like and what tools are used. We have plenty of them – code review tools (GitHub, Gitlab, Gerrit, etc.), project tracking (JIRA, ClickUp, Asana, etc.), cross-team collaboration (Confluence, SharePoint), documentation tools (Sphinx, MkDocs), and many more.
Normal days when a developer or tester starts working with one tool have ended – nowadays knowledge about different tools, how they are connected, and what they are presenting is crucial for developing software.
DX (Developer Experience) is a topic that tries to simplify all the things above. Companies start to think about how they can make developers (and testers, project managers, etc.) life easier to let them focus on what need to do. It is not only about automation things (for instance moving a task to “Done” when change is merged to production), but also about giving new experience on how to work with software. It gives enormous profits in long-term:
- People are less frustrated because they do not have to jump to different places to find useful information
- People are happy because they can focus on what they like and were hired for
- Onboarding new people is faster because there are fewer things that they need to know
- The presentation of data is much more user-friendly, so tracking of software development process is easier
- Documentation is easily reachable because it can live with code
- Information sharing is faster as there is one place that rules them
- Many more…
All the things above have a huge influence on productivity – companies can develop software faster with higher quality still having the same number of people who work on it.
As you may notice, developer experience focuses on different aspects of software development – it can be automation, it can be merging information into one place, one frontend to show everything that is needed, or even simpler processes or less of them. Practically, everything that leads to decreasing cognitive load.
Improving DX can be done by introducing even small changes. A good example was introducing a new favicon in GitHub a couple of years ago:
A little hack week project @notdetails and I just shipped. pic.twitter.com/3EvfEmWtan
— Jason Long (@jasonlong) October 24, 2017
This was a very small change but had a big impact on developers, who were very happy that they could see the status of the job immediately.
Another example is introducing the Developer Portal in the company. If you worked with Azure, AWS, or Google Cloud, you may know such view:
This view shows you all the relevant information related to your resources. What about creating something similar for your company?
This is where Developer Portals come in. One of the most popular examples is Backstage created by Spotify.
It provides a great framework for building developer portals, which in the end shall help people in their daily jobs.
Thoughts
Developer experience is a very wide topic because it touches different areas. Software development is already a difficult process, so there are possibly many places that can be improved – using some small changes (low-handing fruits) or investing in big ones (like developer portal).
As RSC we can help to find these places and propose solutions.
In our next stories, we will go back to this topic. We will also try to check when the developer portal is a good option and how the developer portal may support testers or project managers, as they are also part of the software development process.