DX Considered Harmful
I don't like the term DX (or Developer Experience or DevEx).
That means you should stop using it.
And you should listen to me because I am words on the Internet, and the Internet is never wrong.
Let me explain.
Here's what DX is according to the champions of open-source who don't even open-source their own platform, destroyed the distributed nature of Git for the vast majority of projects, and then laundered the GPL-ed code they host to ingest it into their stochastic parrots that are really only good for writing unit tests (that still need a lot of editing afterwards).
DevEx refers to the systems, technology, process, and culture that influence the effectiveness of software development. It looks at all components of a developer’s ecosystem—from environment to workflows to tools—and asks how they are contributing to developer productivity, satisfaction, and operational impact.
This is stupid.
There's fundamentally no difference between DX and UX.
We are also users of our tools. Like our users, we want a seamless, intuitive, efficient, and satisfactory interaction with the systems we use. The factors that contribute to a positive experience are similar for everyone: a well-designed interface, reliable performance, and a set of useful features.
Here's another quote from our overlords who gamify programming with bullshit, meaningless achievements and activity maps to foster a culture that spams maintainers with bullshit PRs for single letter "typos".
“DevEx puts developers at the center and works to understand how they feel and think about the work that they do,” says Eirini Kalliamvakou, staff researcher at GitHub. Developer sentiment can uncover points of friction and provide the opportunity to find appropriate fixes.
THIS IS JUST UX. THIS IS WHAT YOU DO WHEN YOU DO UX.
Distinguishing between DX and UX is redundant, I see no reason to consider us "special" and have a need to distinguish us from our users.
The tools we use are products just as much as the things that we use them to make are.
"Differentiating" between DX and UX can also create this false dichotomy that makes people believe the two concepts are mututally exclusive - as if enhancing one would necessarily degrade the other, or that it's okay for one to be degraded if the other is enhanced.
You see this ALL the time in JS land.
JS devs are always making "trade-offs", especially against performance. Just look at every Electron app ever made. Just look at the entire concept around "serverless".
And holy shit don't even get me started on "clean code". (1) (1) Like has anyone noticed the book is actually kinda garbage? Even if we give into the delusion that "clean code" (as the creepy weirdo Uncle Bob describes it as) exists, and is a thing that should always be done, the examples are just... bad.
Yeah, go ahead and write some code that executes hundreds of thousands more instructions than it needs to, because having more useless abstractions is "cleaner", even though you're going to re-write this anyway because YOUR ABSTRACTION IS ALWAYS WRONG THE FIRST TIME, AND SINCE YOU JUST COOKED UP A BUNCH OF SPAGHETTI YOU THOUGHT WAS "CLEANER", IT'S GOING TO TAKE EVEN LONGER TO CHANGE.
Ultimately, I think the confusion comes from a misunderstanding of what UX is, and so even with how people separate it into UI/UX, they still conflate UI with UX.
They see a flashy GUI web-app and say "that's nice UI/UX", but they don't say that to the tools they use, the simple, performant, well-documented command line program, with consistent and clear behaviour.
That's because the latter is "just a tool", and tools aren't supposed to be nice or have UX, they're supposed to be utilitarian. This is such a bizarre, nonsensical dichotomy. A well-designed tool is one that can be used intuitively and efficiently, and that's good UX.
We're not a special class of users that need a different term for our experience with the tools we use. We are just as much users as our customers, clients, or audience. The experiences we have with our tools affect the work we do and the products we create, and they should be considered under the same umbrella as user experience - because they are user experiences.
And so maybe acknowledging that we are the same as our users will give us the empathy to see that a 100 MB website that loads into another loading screen for garbage that had no reason to use React or it any of it's meta-framework (because our frameworks need their own frameworks now) IS NOT OKAY AND WE SHOULD STOP THINKING IT'S OKAY. (2) (2) Ok but seriously, why is everyone seemingly fine with how slow everything has gotten? Hardware performance has 10x-ed in the last decade AND YET EVERYTHING IS STILL AS SLOW AS IT WAS THEN, MAYBE EVEN SLOWER??!?!?! WHY IS EVERYONE OK WITH THIS?!?!?!? HELLO?!?!?!
In conclusion, stop using Electron and write more stuff in Rust.
Also, get off GitHub.