Framework Fatigue: The Real Reason Developers Get Angry About New Tech
63 comments
·January 21, 2025dmje
diggan
I agree, I've basically gone the same path as you, just ended up with a different stack to solidify behind, but same idea.
> YMMV but the point is, it's everso tedious and unsettling to those involved trying to figure out what the next thing to focus on should be.
I think it would all be fine, if people could just accept they're are part of this turning wheel, but instead they'll kick and shout that "No, but it's different this time, this time we really found the silver bullet" while you continue to look at them changing from HypedThing to HypedThing, repeating the marketing pitch while running into new walls.
I'll get jumped but whatever: Currently this is happening with for example TypeScript, where some people are so into it, they don't see it as just another "Compile to JS" language that will eventually be replaced by something else once the hype wheel starts turning yet again.
TeMPOraL
> they don't see it as just another "Compile to JS" language that will eventually be replaced by something else once the hype wheel starts turning yet again.
In case of TypeScript, they might be right - given its peculiar positioning and staying power, as well as indirect effects from resurgence of popularity around type systems (Rust, type annotations being leveraged in LLMs, etc.), it wouldn't surprise me if at some point, browsers (read: Google) decided to start supporting it as first-class language. A decade down the line, it might be that JavaScript will end up being compiled down to TypeScript instead of the other way around.
rounce
I think it’s more likely that TypeScript’s features will just be subsumed into Ecma262 with some adjustments to support backward compatibility. IMHO part of TypeScript’s staying power has been that the changes it makes are more conceptually radical compared to the useful but relatively lightweight sugar of Coffeescript for example.
diggan
> it wouldn't surprise me if at some point, browsers (read: Google) decided to start supporting it as first-class language. A decade down the line, it might be that JavaScript will end up being compiled down to TypeScript instead of the other way around.
If WASM still exists in some flavor at that point, but TypeScript ends up being the target for JS instead somehow, we can assume we probably have other, way worse issues in the world to deal with, because something clearly went wrong.
m2f2
Most frameworks are still there (requiring everyone be fluent in all of them) just because no meteorite killed that specific dinosaur.
Every framework starts from scratch pretending all done before belongs to the trash can, much like that multi-year discussion re: Raku being better than Perl just because has "say" instead of "print". The net outcome of that? the complete irrelevance of both.
Dear nerd-framework author, can you all invest 5 minutes in a cross compiler/converter, strive for compatibility and not reinventing the wheel when native JS performs the very same thing?
LudwigNagasena
I think that most simple and even some complex business use cases are already covered by solutions like WordPress, Shopify, Salesforce, etc. If one feels satisfied with “PHP + HTML + CSS + a sprinkling of JS”, maybe they don’t need any PHP or JS at all.
kookamamie
The article comes to this conclusion:
> After years of observing these cycles, I think it comes down to one word: employability.
> Developers want to keep getting paid for what they already know and use. We worry that today’s optional technology will become tomorrow’s job requirement.
However, that's not the real reason for the "fatique" or anger from the seasoned developers. The anger stems from the fact that we've seen all of this so many times before and it seems we're unnecessarily burning cycles on something that is spinned as "innovation", but pragmatically is a distraction.
This anger is further fueled by junior developers jumping directly on the new frameworks and disregarding the "old tech" as some sort of legacy.
agumonkey
I'd add another factor: neurology.
Our brain don't like to break accumulated "knowledge" to replace it. Especially if it's just to recreate a different mess without a global improvement in insight. And if this occurs too often.. it feels as breaking your leg every time your bones heals..
I don't get angry when I read a new topic, even if complicated, it's a motivating pleasure even.. but trying to reverse yet another vaguely specified build system .. not so much.
Aeolun
I have both now. When genuinely good tech comes around it’s extremely hard to convince leadership to use it because they’ve heard it all before.
At the same time all the implementation details fly under the radar, and the mountain of dependencies keeps increasing in size.
forgetfreeman
Related: there are few things in this world I capital H hate with a murderous rage quite so thoroughly as a smug 23 year old blithely declaring individuals who've been mastering entire tech ecosystems longer than they've been alive "don't want to learn". Correction, children: we get sick of learning bullshit subsets of things we already know merely to satisfy the current marketing cycle among technological semi-literates.
Moru
This is getting so ingrained in todays society that it even spills over on non-tech. We have this provatisation craze going since a while and as soon as something don't work we expect the market to sort it by switching provider. For example now, the state has hired a taxi company to do all school transports for all kids that can't take the bus for any reason. And all other disabled transports that is the responsibility of the state. This has been working very bad since a number of reasons. The solution to this is that they rewrite the rules for the next contract round. All taxi companies gets to bid on the contract and the cheapest wins the contract.
If it didn't work with the previous one, do we really think it will work with the next one that wants even less money? Hint: The workers are the same since the winning bid cannot be won by a single taxi company. There will be a big company that has no drivers and they in turn will hire all the local taxi companies to do the actual work. They will do the same mistakes of setting the incentives wrong and we will end up with non function disabled people transport. Again. It's not even the first circle coming round. It just keeps happening.
forgetfreeman
Like the man said, " If there's a new way I'll be the first in line but it better work this time."
TeMPOraL
This is missing another big reason: we're not just writing this stuff and casting it out into the void, fulfilling weird demands of weird space aliens somewhere. No, much more than producers, we're also - like everyone else - users of software written by others, too.
I don't do much frontend work these days, and when I need something, vanilla JS and CSS serve me just fine. Yet, I get angry or saddened by new things in web space all the time, and yes, sometimes even "offended to the bone that this new generation of developers is just running in circles" - that's because even if I don't work with frontend myself, I will be on the receiving end of all the bloated webshit garbage. Will be, and am - like everyone, I already am drowning in kaka felota.
Take SPAs: yes, they have a place, and frameworks can be used correctly and efficiently. But they mostly aren't, and instead, almost every single website I use - news sites, bank sites, online stores, e-mail services, blogs - they are all now steaming pile of half-broken garbage. Shmaybe they look cuter, and are easier to use with fat fingers on a tiny phone, but they're also less functional than generation before, and take longer to do anything. We've been through couple iterations of SPA-fication, and each one made things worse.
No, the true reason I get angry about new tech, is that new tech is shit, and I'm going to be force-fed that shit, because everything is going digital, everything is being written by juniors, and the market at this stage is structurally unable to make things better, or take feedback. So each time I see a new turd get a spike in popularity, I know that one year for now, I will be suffering at the receiving end of it.
wruza
The effect that you’re describing applies to vanilla js sites as well. It’s usually the result of an average team competence, or of just having a team. You’re cool with vanilla only until there’s few more random guys who slap the patches over the code. The only difference is that this method may break the codebase so bad that the site won’t see the light at all and there will be nothing to complain about.
TeMPOraL
> The only difference is that this method may break the codebase so bad that the site won’t see the light at all and there will be nothing to complain about.
Yes.
Or put another way: new shitty frameworks let teams of average competence to handle more challenging tasks, raising the complexity cut-off above which the shit pile collapses on itself and the product never gets published. This is not a good thing, because in practice, this means more garbage software being produced, and competing against older software that - by definition - had to be not shit just to see the light of day. Thing is, more and cheaper garbage always wins on the market because it's cheaper to make (= more money on polishing the turd and marketing the heck out of it). Overall result: instead of fewer good offerings, we have a glut of garbage ones.
wruza
I sort of agree, but believe that we are in our own shitty tech bubble, of which vanilla is actually rock bottom. It just doesn’t float as much.
It always puzzled me that we haven’t collectively invented some ways to skip all this “complexity” like e.g. ERP/CRM/CMS platforms do. Instead every team figuratively rewrites their whole stack from scratch in assembly. Even google sheets can publish a document and make it dynamically work faster and easier than any real-world webapp. I get your ideas, but we all are missing something here.
null
arkh
It's not just frameworks.
Every ORM or new database adjacent thingy has to invent a new WhateverQL. Kinda sorta like SQL but not the same (and usually less powerful) so you have to learn its syntax if you want to use it.
And same thing with structured document and each type having their own pathing syntax: xmlpath, jsonpath, css selectors. I was going to write at least yaml is using jsonpath but it got me to this other Thing-du-jour: config file formats.
gregoriol
There is no success without try. If nobody ever tried to make something new, we would have never had many of the great tools we like today. The main problem with the fatigue is not new tools, it's when a tool exists for some time, gets used by real-world people, and decides to change major things. There could be good reasons for the change: maybe something that wasn't well thought enough, or the big picture has changed, .... but then all those users/developers have to adapt their real-world scenarios to the new major forced change, and this fucks everything and everyone up. And this tends to happen way too often with modern development.
vladms
Engineering is a lot about trade-offs. Use a new (dynamic/not stabilized thing) because it is 20% better at something, but you risk to need to adapt or use something old and stable that involves more work?
It is possible that many people avoid thinking explicitly about these trade-offs then they are upset. But if you worked in the field more than 6 years you should have seen the pattern.
I worked with people that preferred 10 years old, stable technology and they did not have surprises. There were some downsides, but I think these types of companies are there.
danaris
Obligatory XKCD: https://xkcd.com/927/
EdwardDiego
If you're rejecting someone for having 4 years of Vue.js and you want React experience, well, you're either crippled and close to failure and desperately need to parachute in a JSX slinging ninja to avoid bankruptcy, or, you're hiring for stochastic parrots in human form, as opposed to hiring intelligent developers who can learn what needs to be learned.
I've never been hired for a framework, nor have I ever hired for a framework.
So. Je m'oppose the employability claim.
However, I do get annoyed when everything is gotta be in <X> lang or we're using <Y> tech that is designed for a different use-case, because someone read a few too many whitepapers or blog posts and has chosen a technology because it's new and shiny and hypey, with minimal thought as to whether or not it's actually useful for your given situation.
wruza
How can you give it a thought without experience? Trying new things on smaller projects allows you to solve annoying issues with the last library. Or fail to do so. Either way no one can just sit and decide what’s best simply by reasoning.
Before anyone asks I’m not advocating for React here, and also far from being new to this game. Btw, do you count Vue as old or new? Which version? Is 3 “established”? Would you hire a Rails guy for Zend?
0xEF
> no on can just sit and decide what's best simply by reasoning
Scary as it sounds, this happens more than most people realize because it stems from directed marketing in structures where financiers are making the decisions and the engineers are just expected to adapt. I don't know about the developer arena, but in industrial automation (my field) new tech and software gets pushed frequently based on whether or not a bean counter said it would improve efficiency, not because it was tested in that specific environment. It's a constant headache for integrators. The number of times I have had to sit and listen to a room full of salesmen explain to me why we're suddenly using Y when X was working just fine is ridiculous. They see in dollars, and to them, testing the new software or component in the working environment prior to making the call is a waste of dollars when weighed against how many dollars they will save with expedited implementation.
It's maddening, and probably the prime factor that makes my job unpleasant.
m2f2
+1
openrisk
Employability anxiety triggered by technology deprecation (real or perceived) is universal. Think e.g., of the large pool of C++ programmers that feel the stress of "memory safety" and Rust. But framework fatigue seems to be an issue affecting the javascript ecosystem disproportionally hard.
bborud
The fascinating thing about JS/TS UI frameworks is that they seem to grow out of a frustration with all the complexity, heaps and heaps of oddball syntax, implicit behaviors and things that need to happen in a particular order or things blow up in ways that take years to learn to avoid.
So someone sets out to "fix" some aspect of this, discovers that their new design was incomplete, and then all of this weirdness seeps back in to "fix" the problems that arise, and then the cycle starts over.
I had hoped that WASM would provide an opportunity to invite more disciplined designers to accomplish something in the browser, but that never happened. I've often wondered why. I've tried to make use of WASM on the server side, but I have to admit that it is limited and clumsy and leads to heaps of unpleasant and risky code.
rounce
Lots of things use Wasm/WaSI as a plugin interface/runtime everything so I really question your closing point. It’s more intended that you compile to it from other higher level languages like C, C++, Rust, C# etc. than writing the text format for example.
I suspect the reason it hasn’t become commonplace to build web UIs with it is because your average frontend dev isn’t too familiar with those languages or their UI libraries nor writing a browser compatible rendering backend for them.
roninski
Shiny object syndrome still goes strong in the software engineer population.
Jokes aside, the real value is in the fundamentals. Frameworks (or even simple languages like Go) can be learned to use efficiently in a matter of days. Good fundamentals make this process smoother.
zelphirkalt
This is what many employers don't get. If they hire someone with very solid fundamentals, not just some one framework specialization, they will, with minimal learning effort, be able to product acceptable, and soon better results. But in hiring as in other matters the short term view is so prevalent, that very capable people can have difficulties getting the job.
necovek
Software Engineering is about always maintaining the right balance between NIH syndrome and dependency hell (yeah, don't pull in leftpad as a dependency).
As such, new frameworks keep coming out as people decide to build something small and focused, and that keeps growing and becomes a framework.
It is bound to continue, as it should.
One should neither get too excited nor too upset, but some of those announcements will sound funny to anyone who's been around for a while (in general it is mostly rehashing all the same ideas from 70s onward).
graemep
Balancing NIH with dependency hell requires good judgement AND time. If you need to get something done to a deadline you take the path that is easier in the short term.
In Python projects I also find people use the output of pip freeze to generate their requirements.txt so it contains indirect dependencies and these never get removed. I just removed numpy from the requirements.txt of a web app - if was a dependency of an obsolete dependency.
> One should neither get too excited nor too upset, but some of those announcements will sound funny to anyone who's been around for a while (in general it is mostly rehashing all the same ideas from 70s onward).
its also frustrating and annoying. People really should learn something of the history of their field. Do people have no curiosity?
Klaster_1
The author names "employability" as one of the reasons developers oppose new tools. Not the take I expect when I started the read, but after giving it a though, it's actually something I've been bothered by recently. Due to favorable circumstances, I didn't have to learn frameworks other than Angular. This obviously limits my career opportunities and I'd be totally OK picking up another tool. But will potential employers even consider my CV that doesn't mention React? Will they be willing to offer the same position level and give me time to learn their stack? I am not so sure about that.
vbezhenar
> But will potential employers even consider my CV that doesn't mention React? Will they be willing to offer the same position level and give me time to learn their stack?
Many companies who use React will not consider your CV. React is as fundamental as JavaScript itself so omitting it in a CV is red flag. And learning modern React ecosystem from the scratch is no easy undertaking even for experienced developer.
Considering future employability when choosing a tech stack is definitely a valid concern and it should be clear for everyone involved. Using unconventional technologies makes it harder to hire people, because many developers will afraid to hurt their CVs.
nicoburns
> learning modern React ecosystem from the scratch is no easy undertaking even for experienced developer.
Strong disagree on this. Modern Angular and Vue work almost identically to React. The details are different, but the principles the same. For an experienced dev, that knowledge should translate directly.
The ecosystem is also not that bit. React Router and some state management tools are the only React-specific libraries one really needs. The rest you can lookup.
The trickiest tooling in the JavaScript ecosystem has always been the build tooling, and that's largely shared across frameworks.
GoToRO
Good to know. I always wandered how difficult would it be to learn React as an Angular Developer.
IsTom
I'm pretty ignorant when it comes to modern JS (still mostly using jquery when having to do something browser-side), but
> And learning modern React ecosystem from the scratch is no easy undertaking even for experienced developer.
feels like a pretty strong statement to me.
I've seen a few snippets here and there of various JS frameworks over the years and they could be summed up as "reactive programming for browsers" - which doesn't seem particularly groundbreaking.
So I assume that I just don't know where the difficulty comes from. My question is then: where is the nonobvious complexity of learning React?
Moru
The main reason for the no-go is that you get hired by HR, not another developer. Many times the company has outsourced the hiring process to another company and that one has even less of a clue about programming. So they just read the keywords (or use an AI) to match you. No match, no interview.
Ofcourse you can pick up another stack much easier if you already know another. But that is not interesting if all you do is compare number of matches on the CV.
imgyuri
> And learning modern React ecosystem from the scratch is no easy undertaking even for experienced developer.
I don't see a scenario where this is likely, other than if you're contributing directly to the react codebase.
Aeolun
That’s because React was messed up when it was at iteration 16. Slightly harder to understand at 17. But 18 completely jumped the shark on being able to understand the thing.
netdevphoenix
> React is as fundamental as JavaScript itself
Wow, that's very delusional. React is very popular but can't be compared to JS. JS is THE scripting language of the web with backwards compatibility going back to 3 decades ago. You NEED JS if you want interactivity in your website. React is nowhere near there. React won't disappear but it is likely that at some point it will become the new jQuery (present in many websites, used sometimes and regularly maintained) and people will use simpler tech like svelte
null
GoToRO
They needed Angular 17/18, I worked with 16, after the initial call they didn't want to continue due to this. Not sure how real the job was. Apparently if you start with AngularJs, then 2, 6, 8, 10, 12, 16, it will be impossible to upgrade to 18 /irony
necovek
Perhaps they had another reason to reject you which they didn't feel comfortable putting out in writing.
GoToRO
I guess the real reason was they thought that you couldn't hit the ground running but they didn't even try to see if that's true or not. I have changed projects in the same company before and they really wanted to know how fast can you become productive and anything beyond 2 weeks sounded too much and the they needed 2 months to create all my accounts and give me access.
sunrunner
There's a gradient of kinds of knowledge, between things on one side that are more permanent and closer to "How things work" and on the other side more aligned with "How to use a tool or abtraction to accomplish task X in environment Y".
Most frameworks exist on the right side, a more abstract and less detail-oriented way of accomplishing task X in environment Y, but as a layer above the details it's really just one person or a group of people's opinion on one specific way to do that, doesn't necessarily reflect the inner workings, and is largely an arbitrary choice about how to structure something (this is all by design, that's why these tools are made).
New frameworks come along with supposed new ideas, but they rarely change the nature of the details (in fact as a layer above they usually cannot), hence the "Seen it all before" feeling. Maybe you've not seen the new structure before, but you likely already know how it works underneath, and likely have seen tens of other people's opinions on how to name X, structure Y, and organise Z.
Getting angry about New Tech is rarely getting angry about New Tech, it's just being tired of "New" tech that sits at the same layer, solves the same 'problems' but with different words but is seen as a serious revolution. Not that new approaches and ideas aren't beneficial, and sometimes they do catch the wind and become almost a standard. But they're still just layers above the details below.
Of course the "How things work" side is also really a result of human decision-making, so down to something like the speed of light it's all just human decisions about how to structure something, but the lower level you get the more permanent the knowledge is. It doesn't change week to week on a whim, it's likely not a short-term trend but a slow and (hopefully) considered evolution of thinking.
Can it be coincidence that the word "revolution" means both a fast, radical social change but also for celestial bodies a complete cycle that brings you back to the same place you started?
austin-cheney
In the world of JavaScript there are two very separate populations:
1. Those who start and end with employability
2. Those who build products
There is sometimes some overlap, like people who use react native or can’t go deeper than react or jquery to build things and yet still build original polished products. The overlap though is generally shallow and certainly isn’t universal because when shipping a product there are things that matter more than aesthetics.
For people who build products new frameworks and code style is an often irrelevant aside. It’s all about what to write and not how to write it. How to write the code almost never seems to come up until measuring for performance or security.
For the people only interested in employability, regardless of candidate versus management, these framework discussions are critical. Things tend to focus on basic literacy.
When people get cross, it's most likely because it's the same old hype cycle in action that has been cycling for the past 40 years:
1. New Thing gets traction, 2. New Thing gets hailed as Next New Thing, 3. Everyone jumps on board and New Thing is The Only Thing you should be using, 4. New Thing Fatigue sets in as various things about New Thing aren't so great after all, 5. Everyone moves on to Next New Thing because maybe that really is the Next New Thing.
Rinse and repeat.
For those who have been in the game for as long as me (I'm not a proper dev but 30 years "doing web stuff" makes me an interested onlooker), it's a fairly tedious cycle to watch come and go over many iterations. It's one of the reasons I try and stick with boring old PHP + HTML + CSS + a sprinkling of JS for the stuff I do.
YMMV but the point is, it's everso tedious and unsettling to those involved trying to figure out what the next thing to focus on should be.