I'm not sure what's behind this generational skill-reversal, but I think it has something to do with the field having become much less selective over time: the further and further you go back, the harder and harder it was to nurture (and maintain) someone's interest in programming.
I can't pinpoint the primary factor that explains this phenomenon. But, as clichéd as it might sound here, I'd blame fiat currency. Ultimately, it comes down to people's time preferences, with fiat being the root cause of our tendency to sacrifice future prosperity for present satisfaction. (There's a great podcast that connects the dots on why this happens in
here--highly recommended if you have the time.)
It can't just be nostalgia, as I'm much younger than you and still feel the same way. Whether it's old books, movies, documentaries, music, or even webpages, there's something about the old that simply feels like it has more substance, as if the new is flooded with noise but lacking essence. I believe this shift relates to changing time preferences: the more we prioritize the present over the future, the more rushed and superficial everything becomes. Take housing, for example. Modern houses are flimsy and often don't last two decades, while many homes built in the early 20th century are still standing today. It's the same with food--many people prefer fast food over nutritious options, favoring immediate taste over long-term health consequences. Even the desire to have a family has declined. It's no coincidence; having children is one of the most future-focused decisions a person can make, involving sacrifices now to ensure care in old age. The same patterns appear in human relationships.
So, it stands to reason that this applies to engineering and, by extension, to software development as well.
There's something about "modern" programmers and their way of thinking/problem-solving that just doesn't sit well with me. It's like... they don't actually know how to program all that well, and they spend their energy on things adjacent to their task, like build systems, and dependency management, and trying to stick to half-understood/unchallenged "best practices" and whatnot.
There are definitely more factors to consider now. Since it often makes less economic sense to specialize deeply in just one area, many people aim to gain a little knowledge about everything and see where it can be applied. I'd be lying if I said I've never programmed with some level of uncertainty or doubt about what I'm doing. I've used tools without fully understanding how they work. But wasn't this common in the past as well? The old saying goes, "If it works, don't touch it, don't ask why."