There’s a lot of talk happening right now, in Twitter and elsewhere, about whether coding—programming computers—is a skill that should be learned by most people as a basic tool to make their lives easier, or whether it can happily remain a skill restricted to those of us who do it for a living.
Daniel Jalkut, creator of MarsEdit, suggests that current levels of programming literacy can be compared to a period in the past where literacy itself was rare. He extrapolates from there, and concludes that the ability to program could become a similarly fundamental skill.
Literacy isn’t about becoming a Hemingway or a Chabon. It’s about learning the basic tools to get a job done. I think programming — coding — is much the same. You don’t have to be the world’s best programmer to develop a means of expressing yourself, of solving a problem, of making something happen.
There’s no question that a lot of people would benefit from knowing how to code. If you’ve ever done anything repetitive at a computer you would have been better off knowing how to get it done automatically. Every programmer I know has tales of seeing people slog through monotonous tasks that could have been accomplished by a computer in a matter of moments. Think of things like renaming files one-by-one, or copying snippets of data from one file to another file in a different format.
If that sounds familiar then you’re probably doing work that a computer could do much faster and more accurately than you can. If only you knew the right way to instruct the computer to do it for you.
There’s another side to this coin though. Sure, knowing how to code might have helped you out once in a while. But similarly there have been times in my life that things would have gone smoother for me if I’d known the Spanish for, “No, I’m not in the market for a donkey right now.” And yet I’ve never learned Spanish. It’s a matter of choosing to learn the skills that will be useful often, versus those that will be useful only occasionally. (I’m ignoring here the motivating factor that coding can be a lot of fun.)
My justification for not learning Spanish is that I’ve spent only a matter of weeks in Spanish-speaking countries in my life. Can you say the same about the amount of time you’ve spent in front of a computer? Most of us now spend our entire work days, and in many cases also a lot of our free time, interacting with a computer in one way or another.
Maybe learning the computer’s language will turn out to be worth your while if you’re in that situation, even if we never reach the point where young kids learn the “3 Rs and 1 P” in primary school.