Member-only story
Software Engineering
8 Tools To Improve Developer Experience
Happy developers write better code

if (developer.happy == true){ jobTask.enjoy(); jobGoal.achieve(); }
Unlike User Experience (UX) — which is a familiar term that describes the experience of users while using an application, the term Developer Experience (DX) is less popular and a secondary priority in many organizations.
This term refers to the interactions and feelings that a software developer has while using or working on a product in order to meet a specific goal. Although people’s tastes are different, there are some common elements that make developers more satisfied, productive, and less likely to leave their jobs.
In this article, we’ll tackle the concept of developer experience, and see how we can improve it.
Table of ContentsWhat's a Developer Experience?
1. Software Architecture
2. Selection of the Programming Language
3. Project Setup and Code Formatting
∘ Prettier
∘ ESLint
4. Scaffolding Tools
5. Live Reload
∘ Frontend
∘ Backend
6. Debugging
7. Accelerate the Feedback Loop
8. Get a Grip on Time Wasters
Final Thought
What’s a Developer Experience?
Computer scientists Fabian Fagerholm and Jürgen Münch from the University of Helsinki¹ divide the developer experience into experiences with the development infrastructure, the emotional attitude towards work, and the value of one’s own contribution:

- The infrastructure includes the development, management tools, programming languages, libraries, platforms, and methods.
- How developers feel about their work depends on respect, solidarity, a sense of belonging, among other factors.
- The value of your own contribution could be measured by considering the relation between your own goals, those of the project you're working on, and your personal commitment.
A positive developer experience with the infrastructure means that you, as a developer, have…