No, Everyone Does Not Need to Learn to Program a Computer
Today, Matt Yglesias informs me that "The president has successfully reignited the conversation over whether in the digital age everyone should learn to code." Seriously? The president thinks everyone should know how to program a computer?
But wait. The link leads me to a fairly routine presidential video in honor of Computer Science Education Week, in which President Obama encourages kids to take computer science classes. "It's important for our country's future," he says. But I imagine he's cut dozen of videos for every other conceivable skill that could be taught in our nation's schools. "Nursing is important for our country's future." "Agriculture is important for our country's future." Etc.
So did this really lead to a conversation about whether everyone should know how to write code? How tiresome.1 I can probably list on one hand the number of significant skills that everyone should know. The rest are optional. Some of us know how to fix cars and some just hire mechanics to do it for us. Some of us know the law and some just hire lawyers to help us out. Some of us know how to drive trucks and some choose other careers.
In any case, I don't think computer programming would even make my top 20 of broadly useful skills.2 It's a great thing to learn if you plan a STEM career or if you just feel like learning it. But useful? For the vast, vast majority of us it's of no use whatsoever. Reading and writing are useful in nearly all careers, and are useful personally even if your job doesn't require them. But coding? Unless it's part of your job, the odds are vanishingly small that it will ever be of much use to you. Nor is it something that's useful in its own right because it promotes clear thinking. Nor is it a steppingstone to other, more broadly useful skills.
Coding is a specific skill needed for certain specific jobs. That's it. There's no need to put it on a higher pedestal.
1Tiresome because this comes up so often. Why do so many people insist that whatever skill they happen to know is one that everyone should know? There are lots of skills in the world. All of us know only a tiny fraction of them, and that's the way it should be.
2As a time-wasting skill, however, computer programming is hard to beat. I can no longer count the number of hours I've spent coding (or scripting) little utilities that did me no real good at all. But it was fun!