In my latest long form article for Begin:

For years now, the most popular JS frameworks have carried out intense marketing initiatives based on the premise of improving developer experience (#DX). What is it about these promises of great DX that is consistently delivering poor user experiences? Can we change our approach to DX for the betterment of end users?

Plus a wild segue into the world of hand forged scissors šŸ‘€

https://begin.com/blog/posts/2023-02-28-redefining-developer-experience

Redefining Developer Experience — Begin Blog

For years now, the most popular JS frameworks have carried out intense marketing initiatives based on the premise of improving developer experience (DX). What is it about these promises of great DX that is consistently delivering poor user experiences? Can we change our approach to DX for the betterment of end users?

Begin

@colepeters Great stuff Cole! As a (former*) web dev educator I've struggled with a lot of this. Held off integrating React into RRC curriculum for a long time, & kept our focus on fundamental / server-side templating. Eventually added React basics to address industry needs, but I was continually frustrated by the number of things already built into the browser/web standards that had to be reinvented when working in React.

*I'm teaching game dev now, which is a whole other ball of wax!

@stungeye Thanks so much Kyle! Your approach is really commendable. Admittedly I’ve only come around to this view in the last year or so, so I get how much energy it must’ve taken to keep focusing on the fundamentals. I’m glad I learned them in the first place; have tried teaching them to folks further in their career and it can be a huge challenge!
@colepeters Cue nightmares about a generation of web developers who don't realize that a browser can serialize and POST a form without the need for javascript/JSON/fetch/axios/etc. šŸ˜‰
@stungeye I feel like so many poor web apps are a result of this one thing šŸ˜…

@colepeters One thing I've been missing in the game dev world is the equivalent of web standards.

Every game engine does things differently, so you can't teach foundational skills in the same way as you can with web tech.

When I was teaching web I used to evaluate course material according to a standard of "will this still be relevant in ten years?" And sure, Unreal/Unity/Godot/etc will all surely be around in ten years, but you sorta have to hitch your horse to specific transitory wagons...

@stungeye Oh wow, that sounds pretty intense. At least with web frameworks there are often threads you can trace back to standards (like JSX -> HTML). Having to choose one game engine (or learn multiple from scratch) would give me so much anxiety šŸ˜…
@colepeters This post quelled a lot of my web dev insecurities. I always felt like all these JS frameworks would add way to much bloat to a project, so I never bothered learning any of them. Then started to fear that I was somehow doing my clients a disservice by not using them or I was no longer going to be a competitive candidate if I ever looked for a real dev job.
@yannnovak This is so lovely to hear, thank you so much for sharing! I hear this a lot from people in my circle, so you definitely aren’t alone — and I think it’s so important for folks to know that relying on web standards instead of the framework du jour is always the safest (and probably best) bet. And FWIW, I would always hire someone with strong fundamentals over someone with framework experience, so I think you’re doing it right! Happy to chat any time if I can help with anything.

@colepeters Good article. I’ve written some of my thoughts about DX in a comment or two on here before now.

https://home.social/@philsherry/109952391520325010

Phil Sherry (@[email protected])

@[email protected] @[email protected] Even the phrase bothers me: ā€œdeveloper experienceā€. The whole thing should usually always be built for end users, unless it’s so badly built nobody can use it, yet we’ve allowed the phrase to become entire job roles. I’ve seen people introduce themselves as ā€œdeveloper experience engineer/managerā€ and my head almost falls off from shaking. Every aspect is ā€œme me me me meā€ and never ā€œthe userā€ā€”build time, code coverage, bundlers, etc. Burn it all.

HOME.social

Pretty interesting blog post. It resonated a lot with what I think about the state-of-art of modern ā€œfrontendā€ development and software development. Replace React or JS with the complexity of having to deal with Docker, Kubernetes, Serverlless functions, etc. Also resonates a lot with what DHH postes in https://world.hey.com/dhh/saas-startups-will-have-to-care-about-productivity-again-78d4bd1a

@colepeters

SaaS startups will have to care about productivity again

When the money flows freely, and there's a strong cachet to having tons of open positions, you can be forgiven to think that the individual productivity on a product team just doesn't matter. So much time is spent coordinating the work anyway. Who cares if the stack you're using takes twice the number of people to ship meaningful updat...

I totally agree with the problems of not understanding fundamentals. Sure for a simple web app you don’t need to know the underpinnings of the HTML spec or know how an OS works, know system programming etc. Most probably it shouldn’t be how you learn how to code at first. But I do think that eventually you need to know these things.
Same with algorithms, discrete mathematics and computer science. Is it necessary for writting a mobile app or web app, probably not but it is important to understand at least 1 abstraction layer under what you normally use and, at least in my case, it taught me how to ā€œthinkā€.
The fundamentals are pretty useful when you have to approach a problem you’ve never seen before. It gives you more tools to tray to tackle the problem. Also it helps you to better understand or model how you design will respond to different scenario. Sure early optimization is probably bad but for example choosing the right data structures and algorithm does not take too much upfront cost and would probably result in better software
There is one thing that’s mentioned in the blog post https://begin.com/blog/posts/2023-02-28-redefining-developer-experience that I think should be read carefully. I’m not saying this is the intent of @colepeters but as I’ve seen too many times before the pendulum is gonna swing. I could easily see people interpreting this as frameworks / libraries are not necessary. Why using other languages Javascript is good enough. Sure, it a lot of cases that’s true but we have frameworks and alternative languages for a reason.
Redefining Developer Experience — Begin Blog

For years now, the most popular JS frameworks have carried out intense marketing initiatives based on the premise of improving developer experience (DX). What is it about these promises of great DX that is consistently delivering poor user experiences? Can we change our approach to DX for the betterment of end users?

Begin

Software is getting more complex, in part because the tools got more complex but in parte because the use cases, business needs or what you need to accomplish to differentiate is bigger.

Therefore having a framework o language that helps you avoid a lot of incental complexity is good (when you need them).

Personally I stayed away of modern frontend development, in part because I was the CTO of my company and I wasn’t coding and in part because it didn’t like at all the current state of frontend development. Too much shit to deal with.

I did have a completely different experience using Elm, personally it would be my go-to-language for any frontend development and I don’t I would need anything else.

For me Elm is an excellent example of language, paradigm and tool that strikes the right balance between DX that translate to high quality software that translate to good UX.