In the past we’ve touched on the trendy buzz for “learning to code” and how people as diverse as Michael Bloomberg and will-i-am have jumped on the bandwagon. If you have people that are wildly successful in other disciplines (like business, politics, and music) that are spending their valuable time learning to program, it begs the question, should everyone learn to code?
It’s important to understand the difference between “learning to code” and “being a coder”.
I know how to do some math. I am not a mathematician.
I know how to drive. I am not a professional driver.
I know how an engine works. I am not a professional mechanic.
I can cook. I am not a professional chef.
I can unclog a toilet and hook up a sink. I am not a plumber.
In this context, yes, I think everyone should learn to code.
Sure, you can get away without math, but you’re more likely to be ripped off. You can get away without knowing how to drive yourself, but it limits your transport options. You can get away without understanding your car, but you’ll spend a fortune on mechanics (and get ripped off). You can avoid learning how to cook, but you’ll spend more on food, eat worse and probably get fat. If you can’t do basic plumbing, you’re at the mercy of the people you can.
I’ll repeat that again, in the context of computing: if you can’t do basic coding, you’re at the mercy of the people who can.
That’s meaningless in a world where computers are boxes that sit under TVs in bedrooms and maybe perform a few limited tasks and play games. But that’s not the world we’re living in. Computers are everywhere, and you’re using them hundreds of times a day without even realizing it. More and more, the people who design those computers are getting to dictate how you live your life.
Not everyone should be a professional coder. Your skills are important, and nobody’s suggesting that being an engineer is more glorious than being a teacher or an investment banker or a farmer. But being able to bend the machines all around us to your will just a little bit more? That gives you an edge. That gives you greater freedom.
Or, let’s put it this way. You know the demographics of software engineers; they’re getting better, but they’re pretty narrow. And you also know how software design is influencing virtually every part of our lives. Software’s influence is only going to get broader, deeper, and more integrated. Do you really want to give that narrow demographic the monopoly on laying the scaffolding for the 21st century?
I’m not the biggest advocate of adults learning to code late in life unless it is something they really want to do. Otherwise life will get in the way and it’s likely they will quit before seeing any real benefits.
But it’s incredibly important for children. They have the curiosity and the time. They are still developing their problem solving and logical reasoning skills. They will become adults in a world that will be even more computer-oriented than today.
This brings up an even more important question – what are you doing to help your student pursue their interest in computers?