> I would however suggest that you are not a prototype for self-taught programmers
Twenty-five years ago this was bog standard. Most people who were programmers did not come from a computer science background. They were self-taught. What is so different today that they cannot do the same? If anything, the biggest difference is the "gates are higher", but the work is barely different. I work in a field where most of my customers are self-taught, often (but not always) degrees in other fields. I can only use my experience as a reference, ymmv.
What ive noticed is that people have different strategies to learning. Most adopt a "just in time" approach. They learn only enough to complete the task at hand. There is very little curiosity in the bigger picture, or the fundamentals.
This is the opposite to the formal approach, which grounds the learning in theory.
can people learn the fundamentals in a self-taught way? Obviously yes. Do most people learn this way? Id suggest not.
The contrast is to students at college who are always asking "hey am I learning this? When will I use this?" It's not always obvious where they become important.
In my own career I was able to leverage my fundamentals training and translate that into value to those who just want to complete a task.
25 years ago computers were mostly interesting to "geeks", and those looking to program them were even more so (ok, that's really 30-35).
Yes, it started to shift 25 years ago already, but what has obviously changed significantly is that software development became a good paying job, which attracted even wider masses not caring about the fundamentals. There are certainly more self-taught programmers who dive into those fundamentals in absolute numbers, but relatively they are more of a minority. But that means that there are even more who do not care in absolute numbers.