One group of web devs is great at picking the right tool for the job. Simple web applications get simple solutions. The complex SPA solutions only get brought out for applications that require it.
The other group of web devs has learned one very specific tool and they want to build their career around that tool. The business requirements don't matter. They're going to use their favorite tool regardless of whether or not it's appropriate. The more complex they can make something, the better they think it will look on their resume.
The latter group can be valuable assets if you know that your application requires a SPA and matches the person's chosen specialty. However, if you're hiring a dev who wants to build complex apps and your company doesn't require complex apps, you're going to end up with unnecessarily complex apps. Then the person will use the complex app to boost their resume and leave for another company.
Fortunately, it's not too hard to differentiate between the two groups at interview time.
You could replace SPAs with almost any technology (Queues, Kubernetes, an RDMS as opposed to BaaS, Servers as opposed to lambdas) and it would be correct depending on your own background and personal bias.
also, being able to accept that a simple solution is good without putting too many barriers in front of that.
If you’re a front end engineer who’s used to working with node then an SPA + BaaS might be much simpler to you than running an EC2 instance that serves basic html.
Edit: and that doesn’t even get into securely managing updates, access controls, infrastructure, etc. those things might seem fairly trivial today but in the future imagine getting dinged for them in an interview.
One thing I'm noticing as I'm looking for tech jobs as a tech person who hasn't ever been a tech employee before is that a lot of the job listings are very heavily tool focused. I wonder if newer/junior devs are reacting to what the market is presenting (as you hinted at with 'The more complex they can make something, the better they think it will look on their resume').
80% of the market is looking for some React + backend and there's a huge pressure to learn such an SPA framework but I've steadfastly refused and have stuck to 'full-stack' Rails. Luckily there's a resurgence going on for Rails and I think it's going to last. Boring always wins in the end
I was also a hyperlexic little weirdo who did things like read the SimEarth manual for fun when I was 5 and decided to explain the differences between prokaryotes and eukaryotes to anybody who would listen. So when we got Web access in '93, I was all in. And I loved getting to do something where all that mattered was how good I was at it, since I was bored senseless in school.
I very much had an upbringing like Larry Page's. I'm just a lot dumber than he is.
Edit: I also doubt you could do that now, on reflection. So much of learning programming is based on feedback and I could only collaborate because nobody asked how old you were and/or if they did, they assumed I was lying. Up until I was about 11, it was assumed I was somebody who just didn't want to share any personal information online/a privacy freak who was making up a stupid answer. "Okay, haha, you're a 7 year old girl. Fine. I won't ask."
I swear, my Fortune 150 company is going to continue to do waterfall development in Java by outsourced teams until our products are no longer relevant, and we're bought for spare parts.
I like to see myself in this group. The problem is, however: requirements creep. Especially when consulting. The customer doesn’t know the full extent of their needs, and they always want more and more. Which in the end often invalidates the initial decision of «going simple and lean». Then you’ll have trouble explaining why incremental changes start to take so much time.
So I think there is some merit to the approach of getting really good at a particular powerful and generalizable set of tools (even if they have flaws, such as not being lean, a bit complex, and shipping more JS to the client). I think that’s why React and NextJS’ is so enormously popular, even though they’re overkill for most sites and webapps.
We wrote a demo social music player with Phoenix LiveView: https://fly.io/blog/livebeats/
And Remix has another great take: https://remix.run/docs/en/v1/tutorials/jokes
PHP is amazingly capable too: https://laravel-livewire.com/
Even Rails + Hotwire go a long way.
Have Single-Page Apps Ruined the Web? | Transitional Apps with Rich Harris, NYTimes: https://www.youtube.com/watch?v=860d8usGC0o
most apps don't need to be SPAs -- they could be normal HTML templates with a sprinkle of JS on top to make it more "dynamic".
There are definitely apps that are only possible using SPAs. Using a front-end framework should be based on business need, not personal preference, but unfortunately, boot camps and the like are churning out developers who are being taught that every problem is a nail.
That is where the SPA slamming is coming from.
It's not that people fail to grasp the concept of different tools for different jobs.
I'd guess that only about 20% need to be an SPA and the rest is cargo culting