This is something of an analysis of the “everyone should learn to code” meme. Except that it explores only the reasons why people might want to learn to code, which is not exactly the same as why they should learn.
Don’t get me wrong, I’m not trying to take the fun out of coding by turning into a moral imperative. And the last thing any parent should do is turn this into educational equivalent of vegetables.
But if we’re going to list the real advantages, and get into arguments with elite programmers who keep telling us that newbies are wasting their time, we need something deeper than “it’s useful.”
If you’re a software engineer whose primary source of work is software manufacturing then yeah, there’s not much motivating you to preach to the masses to learn how to make software. If, however, you’re a more politically minded programmer devoted to creating a more efficient world or let’s say more open source software that might massively reduce government and educational spending, then it’s more than just “useful” to have a citizens who know what you’re talking about. It’s essential.
Because nothing is going to change until a critical mass of the population understands enough about computer science to pressure their respective government or administrations into making the significant changes that have all kinds of economic and social advantages.
So there. A reason we should learn to program: because it might inspire others to do the same, and then maybe we’ll have a society that is better able to function as a more participatory democracy.
But don’t tell the kids that just yet.