Yes, absolutely that is one, probably major factor.
But that those people could even get there and do that was caused by the rise of frameworks and GC languages.
A person no longer needed to:
1. understand how things worked, in many cases you could just do some tutorials and start producing things that kinda worked but underneath were a pile of garbage
2. No longer needed to worry about memory or optimization so wrote more pile of garbage
I'm not saying we want to go back there, but if everyone had to write C, C++, Rust, or one of the functional languages:
1. We'd have a lot fewer people in the industry
2. Overall quality of code would be higher, though I'm sure more C/C++ would have led to more memory and security issues also or perhaps not..
When I was a younger developer I used to believe things like this. There are tons of roles and different levels to fill. People come from all sorts of backgrounds. You shouldn't discount folks for following a different path. A passionate and curious developer can learn C, C++, Rust if/when they need to.
I would also argue that in the front end world frameworks have vastly improved code quality and developer experience. 10 years ago every team had their own homegrown build system, there were no libraries for type checking, you had write code or conditionals for the lowest version browser you support. Oh and app structure? Every team did something different.
Compare that to now: We have a handful of large open source build systems, so if you jump teams/projects there is consistency. We have things like TypeScript and Flow. We have Babel, which can transpile modern JavaScript in to older versions of the language, so you can support older browsers without even thinking about it. Finally, we have frameworks like React and Vue, which enforce a component based architecture. This is great because you can jump between different projects and for the most part will find code organized in the same way. All of this is amazing.
I've been in the Node.js world for 10, and web dev world for almost 20, years now.
There are now hundreds of build systems, most of which copy the other ones but still aren't compatible with each other.
There are hundreds of frameworks spewing out security issues all over the ecosystem.
React and Vue don't enforce anything and certainly aren't the most stable of the selection of frameworks that exist. At least for React, a significant amount of money was dumped into it by a large, privacy invading and unethical corporation, which ultimately made it "popular". Facebook used it so it MUST be good, right?
None of it is amazing; it's quite sad. The fact that we're locked into a small set of browsers, none of which can be reproduced or hacked on in any meaningful way aside from those dedicated to them. The fact we can't create our own browsers without wading through an ocean of specs.
It's ludicrous. How anyone can say "it's amazing" in a positive connotation astounds me.
I'm not saying things are the best I think they can be. I'm saying the progress is amazing and overall has been positive.
If someone were to make you an offer to build a complex web app right now using current tooling vs traveling back in time to 2010 and building it using 2010 tooling, would you actually choose to go back to 2010?
Honestly, I love dealing with Android because it cuts close to the operating system and is one of the few mainstream jobs where you don't deal with frameworks. You deal with the mess that is the Android file system, for example, and I'm not sure if that's a good thing, but at least it's fun.
One of the benefits is we can swap in external code that "does everything", but in a poor manner, yet it works well enough to suit business purposes. And later on you can surgically remove it and replace it with an optimized home-built version.
But that those people could even get there and do that was caused by the rise of frameworks and GC languages.
A person no longer needed to:
1. understand how things worked, in many cases you could just do some tutorials and start producing things that kinda worked but underneath were a pile of garbage
2. No longer needed to worry about memory or optimization so wrote more pile of garbage
I'm not saying we want to go back there, but if everyone had to write C, C++, Rust, or one of the functional languages:
1. We'd have a lot fewer people in the industry
2. Overall quality of code would be higher, though I'm sure more C/C++ would have led to more memory and security issues also or perhaps not..