I know plenty of younger programs who can diagnose their own problems, so the generalization doesn't hold so well.
I think the issue is more about experience and need: when we were learning to program, we HAD to do those things. For the younger generation, it is totally possible to get by without because the ecosystems are so much easier, coupled with a lot of online knowledge that they can access quickly, which was mostly missing in our age.
On the other hand, those young programmers that are faced with a complex ecosystem will usually learn how to deal with it. Heck, with the web and its many step backwards in programming environments (e.g. try debugging in Chrome!), many things are actually harder for them and they acquire skills that I didn't need!
I think the issue is more about experience and need: when we were learning to program, we HAD to do those things. For the younger generation, it is totally possible to get by without because the ecosystems are so much easier, coupled with a lot of online knowledge that they can access quickly, which was mostly missing in our age.
On the other hand, those young programmers that are faced with a complex ecosystem will usually learn how to deal with it. Heck, with the web and its many step backwards in programming environments (e.g. try debugging in Chrome!), many things are actually harder for them and they acquire skills that I didn't need!