An Attempt at Outlining the Many Factors Influencing Developer Experience

Published on September 6, 2022 (↻ July 1, 2023), filed under (RSS feed for all categories).

When looking at DX naively, it can seem that it depends on only one factor. Alex Russell recently pointed at this problem when ranting about improving the developer experience of the JavaScript ecosystem by “retiring this language.” But here and elsewhere, is DX only DX(x) (really: DX = ƒ(x))?

No, it’s not. Of course it’s not. Developer experience—Developer Experience—depends on many factors. Here’s a quick attempt at sketching just what factors, each of which can tip the scale. I’m breaking these down into extrinsic and intrinsic factors, because it seems indefensible to assert that an experience only depended on external circumstances. The experience of someone who’s highly motivated is different from someone who’s sliding off the chair.

I’m using the term “product” to denote what the developer would make an experience with. This can indeed be a product, like a tool or service an engineer would use or implement, but also a specification or even a language.

Extrinsic Factors

[I’ve reworked this section, playing with the rough general areas of (technical) quality, usability, and community. Please share your thoughts!]




Intrinsic Factors

❧ Recall the theory: Any of these factors changes the developer experience.

And recall the premise: This is a quick shot at DX factors, to fend off the idea we can fix it by changing one single thing. We can’t—we probably need to fix more factors. And then it may still be broken by another. Developer Experience needs to be approached holistically—for it’s much more complex than just DX = ƒ(x).

Many thanks to Thomas Steiner and Francesco Sciuti for reviewing and sharing feedback on this post.

As they near the northern marches of the kingdom, a change in the weather adds to their discomfort and increases Gawain’s bitterness.

Figure: Not a good knighthood experience. (Copyright King Features Syndicate, Inc., distr. Bulls.)

Was this useful or interesting? Share (toot) this post, or maybe treat me to a coffee. Thanks!

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens (long: Jens Oliver Meiert), and I’m a frontend engineering leader and tech author/publisher. I’ve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on I share some of my views and experiences.

If you want to do me a favor, interpret charitably (I speak three languages, and they can collide), yet be critical and give feedback for me to learn and improve. Thank you!