From last May:
“I don’t think a four year degree is necessary to be proficient at coding. I think that’s an old, traditional view. What we found out is that if we can get coding in the early grades and have a progression of difficulty over the tenure of somebody’s high school years, by the time you graduate kids like Liam, as an example of this, they’re already writing apps that could be put on the App Store,” TechCrunch quoted Cook as saying on Friday.
Left out of stories that we need more young people in STEM (they actually mean TE, not S-TE-M but use the terms interchangeably) is that much software work has turned into skilled labor, rather than engineering.
This occurred because the tools to develop software applications are far more advanced than in the past and are easier to use. 25 to 50 years ago, development of much software required an understanding of processor architecture and system hardware (and programming in assembly language), and the development and use of efficient algorithms to make use of the then limited hardware capabilities. Today, fast hardware often substitutes for inefficient and bloated software. Which makes sense as writing software is expensive while hardware is now cheap.
Of course there are still many positions requiring a college or graduate degree level training. But even there, experience may offer a good substitute to a degree.