TL;DR: Keep reading if you don’t mind some cursing about teaching normal people how to code. It may not be the kind of cursing you’re expecting, though.
There seems to be very strong antagonist positions about teaching programming to not technically-aware folk. Depending on your point of view, that’s the greatest thing since the invention of printing, or worse than a nuclear armageddon.
Gunslinger peers tend to be just infuriated by it. Among their reasons are that:
- Technically-unskilled people don’t need to know how to code at all, as programmers don’t need to know how to fix a broken pipe, they just call a plumber.
- This is just a push from corporate management and recruitment suits to fill the big gaps in “engineering resources”, because there’s high demand everywhere.
- The same corporate plot is also intended to cut jobs, displace capable people and replace them with cheaper coders.
- There’s already too many mediocre software “engineers”.
- Many, many capable engineers are mostly self-taught, and they’re constantly learning, everyone should be able to do the same.
- Formal education in computer science is so complex that it’s only for universities and above.
- Online programming courses are silly, they just scratch the surface, and you’re set to start with programming the wrong way.
I may agree with some of those ideas in a broad sense, but I don’t consider them valid reasons for anything. While online tools and courses -which I don’t care about- seem to be blooming, I’m interested in implementing the more classical, usually ignored approach: include programming in formal education — elementary and high school. Give it the same status that math, physics or literature have.