My half cynical take is "resume driven development." The more different tools one uses, the better they can pad their resume, and resumes don't say 90% of these tools weren't needed.
A more objective take would be simply that "they don't know better." Hire a bunch of junior developers right out of college, and throw them in a pool of layers, and they'll think this is how "a real job" is done - they've never seen anything better. It doesn't help that their go-to example of best, most polished websites (imagine google docs) are built by hundreds of engineers, with as many layers.
Once it becomes an ingrained culture, it would be extremely hard to turn around.
I think it’s exactly “resume driven development” combined with “they don’t know better”. Let’s imagine I am one of those cynic developers and I am faced to work for 2 companies:
- company A is using WordPress to deliver the website OP is talking about. PHP and HTML. I have heard that was very used in the 2000s, but I don’t see any company out there hiring for such skills. Besides all the tech conferences I have attended haven’t talked about PHP at all
- company B is using cool Next.js, GraphQL and Amazon serverless. Now we are talking! Last summer I attended to a GraphQL conference and it was awesome! The host seemed very cool and showed us a demo that looked amazing. Besides, I just checked LinkedIn and there are tons of jobs that require Next.js skills. I think it’s better to work for company B; they seem to know their stuff because they use up to date tools. Also, company B pays way more!
> company A is using WordPress to deliver the website OP is talking about. PHP and HTML. I have heard that was very used in the 2000s, but I don’t see any company out there hiring for such skills.
They exist, but the Wordpress API looks horrendous and you probably won’t be getting the sort of salaries people tend to talk about when it comes to web/software development. These jobs are normally at digital design/marketing agencies or even at large non-tech orgs and separate from other developers. At least, this is my experience.
It depends on where you look. I started my career by diving headfirst into the WordPress ecosystem almost a decade ago now and there are plenty of strong development roles available if you know where to look.
First, someone has to write the software. I'm not sure if you've kept up with the new Gutenberg editor project, but it's a full blown React app and has been for 4(?) years now, with ambitions to take over the entire WordPress admin. Automattic is hiring $$$ for engineers to work on this problem and prototypes that they use internally to build and manage WordPress.com (separate from the Open Source project).
Plugin developers are neck deep solving challenging engineering problems for a variety of sites at wildly different scales. Yoast supports the SEO strategy for the 3 page site as well as the 3 million page site.
Agencies are building sites for huge companies who can't be bothered to bring that development in house. I work for such an agency. We do deep technical work for a lot of big name companies you have heard of. Some of them are even tech companies!
There is interesting work out there, but like so many things, it can often be about who you know to get your foot in the door. There can be a lot of churn, but that probably means the work isn't that great or the pay sucks or a million other excuses that exist with any job. I think Automattic is approaching 2k employees, a huge chunk of them being in engineering. They all aren't working on simple PHP and HTML problems!
Having worked somewhere that had a very boring tech stack there's a real drive among junior developers to pile on the cool thing they saw at a conference / read in a blog into their current work.
It becomes kind of a zealotry devoid of reality. They've been hired to make the company money by solving problems, and I think that's often the missing piece of the puzzle - that connection with the problem you are solving (and why!)
I've worked on things like this before, sometimes it's more because someone at the top demanded that the app get built that way and everyone building it knows it's a terrible idea but aren't empowered to make fundamental decisions like that.
A more objective take would be simply that "they don't know better." Hire a bunch of junior developers right out of college, and throw them in a pool of layers, and they'll think this is how "a real job" is done - they've never seen anything better. It doesn't help that their go-to example of best, most polished websites (imagine google docs) are built by hundreds of engineers, with as many layers.
Once it becomes an ingrained culture, it would be extremely hard to turn around.