And engineers have always been assembling boxes together. At first those were the most basic components, like levers. Then we figured out about standardized parts and interfaces, and components got a lot less basic. But, fundamentally, what's the difference between an engineer fitting two cogs together, and an engineer fitting two pieces of electronics?
If you wanted to create something that's better than the pages we had in the Geocities era, you can do that in 5 minutes (download some static page generator, add a theme and voila).
When it was unveiled, the GMail frontend was a remarkable feat of engineering. Nowadays? Polishing to that extent (also scaling, etc) will take time, but creating a knockoff UI is no longer a revolutionary job. Most web developers would be able to single-handedly replicate the basic functionality ('ajax' and lots of client side javascript are no longer arcane).
As web development progressed, so did expectations.
I wrote a web app the other day with vanilla Python, it doesn't do much (it's a tasks app for my wife and I), but it does it's job, and in one file even! It doesn't use fancy front end stuff, just HTML template strings and some links that send CRUD ops to the server, then that saves the data in a big text file. It uses CSS to make it look nice.
I bet I could get a hundred people using it without edits, and it took a few hours. With a proper database and server, it would support thousands easily.
I know the basics of chef/ansible etc but I much prefer traditional dev.
I held this point of view for a long time but, after lurking at r/engineering, I've learned that their jobs are (depressingly) similar to ours. I.e. it's almost never deriving things from first principles, but rather trying to quickly bolt together a solution out of pieces looked up at different vendors' catalogs. Most engineers don't even remember the basic equations they have learned at university.
> Heck, I would be offended if someone called me a developer rather than a programmer.
It depends on the specific job, but currently, I can spend 30 minutes changing one line of code followed by one week of deploying, testing it, making sure the configs are all right etc. So that's 30 minutes of programming followed by one week of "installing dishwashers" (as the joke on the team goes). Lately, I see myself more of a software configurator than creator (my nominal job title is a backend web developer).