I'm 40, and I've done things down to the level of wiring discrete transistors into logic gates, as well as C64 BASIC, C, […], ObjC, and Swift. Even did a module on OSes at university (20 years ago, so they were simpler).
I just… wrote my previous comment so badly everyone legitimately missed the point that was in my head.
Consider that part framing.
My problem with modern abstractions is the wheel keeps getting reinvented by people who don't know the lessons from the previous times it was invented, even when they're making their wheel out of other wheels — which is how I feel when I notice a website using javascript to implement <img> and <a href> tags or scroll regions whose contents can't be fully selected because it loads/unloads content dynamically 'for performance' because someone just assumed 10,000 lines of text in a browser would be slow without bothering to test it, or that I see HTTP servers returning status 200 while the body is JSON {"error": "server error"} or equivalent.
I could go on (also don't like VIPER) but this would turn a comment into a long blog post.
While I also don't like that web browsers are inner-OSes, can see how it happened from the second half of Zawinski's Law: Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can. - https://softwareengineering.stackexchange.com/questions/1502...