As long as developers have been interacting with tools, there’s been a “developer experience.” And it was usually bad, because writing software is expected to be hard. There was not a widespread desire to make things easier for the builders. That changed as APIs became the core ingredient for platforms that would grow with greater developer success. From this trend came the term developer experience.
First published in UX Magazine in 2011, Jeremiah Lee said “better DX will create a more successful UX for the platform product.” In other words, replace the U for User with the D for Developer.
From this earliest article, DX has meant more than “good documentation.” Jeremiah outlined four main areas:
- Trust and Communication: Have conversations, share your roadmap, and encourage community collaboration.
- Education: Yes, documentation, but also tutorials, sample projects, and community contributions.
- Tools: Dog food your API or dev tool in your own projects and provide emulators, sandboxes, and simulators to aid development.
- Platform Usability: Help developers build on your platform in “the correct manner” and provide good design patterns and error messages,
What jumps out to me is how each of these topics comes back to a relationship with developers.
Developer Experience in 2021
By now, developer experience is a term ingrained in companies of all sizes. Many organizations have entire departments dedicated to the practice, though each interprets their focus differently. Developer-first startups now expect developer experience to be applied throughout the company. Developer expectations from their tools are much higher now than 10 years ago.
It’s perhaps its wide applicability that has it mean so many different things:
- Documentation
- Onboarding
- API design
- Dashboard design
- Support
- Tooling
- Helper code
- Community
And likely many more. In the spirit of community, add comments with what we missed and I’ll update this post.
A list of “things” isn’t even a complete view of developer experience. In Developer Marketing Does Not Exist, I write about the journey a developer takes with a product.
A developer needs different things at each moment along their journey. The content (and developer experience is made of content) that attracts a new developer might not interest someone who has long-ago integrated. Similarly, the first experience rarely gets a developer to a meaningful, permanent success.
The 2011 article identifies developer experience as a practice. It’s a collection of communications activities to support and encourage developers. Borrowing from user experience, it aims to improve all developer interactions through those activities.
“Yes And” in Developer Experience
The first rule of improv comedy is to always agree. When would-be comedians disagree, it blocks a scene’s momentum.
Developer experience is still coming together. It encompasses the “things” developers need, the journey they take, and the practice described 10 years ago.
Yes, and more, too.
Jeremiah Lee closed out that first article with the heading, “Together, We Can Do So Much.” Though a reference to what platforms make possible, I think it’s also a call to all of us who educate and inspire developers. And it’s the mindset from which we will all reach more developers.