Earlier quoted context omitted.
I agree with you, actually, but I fear that the current commercial situation in many a programmer shop or IT department does not allow for well-educated and well-experienced programmers for they are too expensive and difficult to find. In this situation I'd settle for experienced "SO programmers" with a good operational understanding of what they're doing, even though I'd prefer experienced academic trained programme…
> * In this situation I'd settle for experienced "SO programmers* So you're betting on SO being up and accessible forever? This feels a bit too much like depending on some 3rd party cloud for crucial infrastructure (but I guess it works for many people). I cannot entirely disagree with your approach, because far too much code nowdays can apparently be put together in this way. It suggests to me that we aren't really…
Yes. And no.
There are a lot of interesting libraries and tools out there I have access to and can use. In the 90s and early 00s I bought a compiler and maybe some libraries and used it year after year, project after project. If something wasn't readily available, I'd to build it myself. Nowadays, chances are there are a number of alternative I can use. Chances are, the next project I want to use something similar there will be better alternatives. I don't use these tools and libraries much, so I don't get that much experience with them. If I want to use them for some problem, looking through the docs takes time, while SO probably has a good answer I can adapt to my situation.
Similarly, the way I use documentation has changed over the years. Where I'd get a printed version of the reference manual that I used until I'd to buy a new one, nowadays I enter a search query into a search engine to find the documentation I am looking for. Chances are, there's a SO reference as one of the first couple of hits. And sure, most projects are badly documented, if at all. Looking at the documentation isn't the same as it was before, or as it is with good documented stuff.
On the other hand, one would like the programming profession to be more than DIY-programming. Should building yet another simple CRUD application or a simple database front-end belong to the realm of professional programming? Should we want to train more people to do DIY-programming and preserve the interesting / hard problems to well-trained and experienced programmers? Similar to DIY home-improvement versus construction companies building a whole new city-center