The deskilling of web dev is harming the product but, more importantly, it's damaging our health – this is why burnout happens
The deskilling of web dev is harming the product but, more importantly, it's damaging our health – this is why burnout happens
Skip to main content
The deskilling of web dev is harming the product but, more importantly, it's damaging our health – this is why burnout happens
20 May 2024 – Baldur<br>Bjarnason
AI
Even before the web developer job market became as dire as it is today, I was regularly seeing developers burn out and leave the industry. Some left for good; some only temporarily. Many have outright destroyed their health through anxiety and burnout.
The only other industry I’m familiar with that has the same levels of physically-demanding anxiety and worker churn is trade publishing – and that’s an industry famous for literally paying below-subsistence wages for the cities they’re based in.
“Maybe I should try to find a job that doesn’t involve web development?”
Even those still in web dev are feeling burnt out and the reason for that is – unfortunately – quite straightforward:
We’re expected to keep up with multiple specialities that, in a sensible industry, would each be a dedicated field.
CSS isn’t just a complex language, it’s one of the most advanced graphics, layout, and typesetting languages available in computing.
HTML and the DOM are two language that interweave to create a complex and dynamic environment that is the foundation of everything we do in web dev and, by proxy, every industry that has adopted parts of the web stack for their own purposes. They are a deep speciality even without adding JavaScript into the mix.
JavaScript has become a complex language with a number of built-in APIs and language features that rivals that of many other programming languages. That’s despite not having a proper standard library.
HTTP on its own is a fully fledged field of study as a platform of multiple integrated protocols (1.1, 2, and 3) that have little in common except for their shared idioms. That’s without getting into WebRTC.
Web server development is yet another field of study with issues that are completely unique and not shared with the other parts of the web stack, except for maybe…
Service workers, which require a completely different mode of thinking from the rest of front-end development and have more in common with web server programming than DOM manipulation.
Workers have become a full-featured parallel programming paradigm.
Testing, irrespective of the language or platform, is yet another complex specialisation we all just pretend doesn’t exist.
Of course you’re having problems keeping up with everything that’s happening in web dev. Of course!
You’re expected to follow half-a-dozen different specialities, each relatively fast-paced and complex in its own right, and you’re supposed to do it without cutting into the hours where you do actual paid web development.
Worse yet, you’re not actually expected to use any of it directly. Instead you’re also supposed to follow the developments of framework abstractions that are layered on top of the foundation specialities, at least doubling the number of complex fields a web dev has to follow and understand, right out of the gate.
This is immense – an expectation so mind-boggling that we need to acknowledge just how remarkable it is that each of us has managed as well as we have.
The framework knowledge itself is also perishable. Not because your memory or physical coordination deteriorates (though that happens too), but because frameworks change more and faster than the underlying platform.
I learned how the CSS Grid works over a decade ago. Even if I hadn’t kept up with CSS, everything I learned back then still works today. I could use the basic techniques of the CSS Grid as it existed in 2014 and that code would work unchanged today.
The recommended semantics for HTML have changed, but the basic principle of list or table markup is the same as it was over twenty-five years ago , when I first began. If twenty-something Baldur was cast forward in time to the year 2024 and asked to put together an HTML table that rendered in a modern browser, he’d probably have a harder time figuring out the modern browser UI than with the coding task itself.
But the React skills I have are all out of date and obsolete. I would effectively have to start from scratch even if I wanted to get back into React work. Everything React has changed in ways that are fundamentally incompatible.
The same applies to my skills in Svelte. I first got into Svelte with version 3. They’re now releasing version 5 and are completely changing their approach to state management. My old Svelte skills are obsolete but they’re still there, useless and cluttering up my memory.
Framework skills are perishable, but are easily just as complicated as the foundation layers of the web platform and it takes just as much – if not more – effort...