For years we’ve been told that all students must learn how to code. We’ve been told “coding is the language of the future”, “coding is the new literacy”, and so on. It’s become a fact, a reality we now all accept; students need to learn to read and write, and they must learn how to code. And if we don’t teach them coding we are guilty of failing them.
Great. But, why? The most common answer is that coding is important because it is a “future-ready skill”. This means that if you can code, you’ll have an easier time finding a good job in the future. And while there may be some truth to that assertion, honestly, that’s a terrible reason to learn how to code.
Why? For starters, not everyone needs to work as a coder. That makes about as much sense as everyone being a doctor, or everyone being a chef, or everyone being a teacher, or everyone being a pilot, or everyone being any specific occupation. To function properly, society needs lots of different people doing lots of different things. Sorry, but humanity just does not need 8 billion coders.
In addition, the tech space (and that includes coding) changes really quickly. What coders do now is not the same as what they did 10 years ago, and what they’ll do 10 years from now will be even more different. So, what you learn today is not what you’ll be doing as a coder in the future. The best coders never stop learning, evolving, or developing skills. Coding fundamentals remain relevant and useful over time, but specifics change, and frequently. With coding there’s no learn-it-and-done; it’ll be a mistake to invest time and energy assuming otherwise.
But most importantly, if children are encouraged to code primarily from a future career perspective, it’ll feel like work rather than fun. If it’s not fun then they won’t enjoy it, they’ll be unlikely to stick with it, and they definitely won’t be motivated to really give it their all. And that would be a shame, because coding really is a lot of fun.
That’s not to say there aren’t good jobs in coding. There are, and there will be for many decades to come. But a future career should not be the only reason to become a coder.
So, why should children learn to code? And, perhaps more importantly, should all children really be taught coding?
We believe all children should learn to code, even if they have no intention of pursuing careers in coding. We believe this just like we believe that all children should draw and sketch, and all children should play an instrument, and all children should cook, and all children should take pictures and shoot videos, and more. Why? Because all of these are creative endeavors, which means that they are ways to actually create stuff, and creating stuff is incredibly rewarding and satisfying. Sure, it’s fun to spend hours on your phone looking at what other people have created; but that’s nothing compared to the joy and satisfaction of creating stuff that other people consume and use.
And, on top of that, when children learn to code, they develop all sorts of invaluable skills and traits beyond just coding. These include planning, problem solving, communication, logic, empathy, attention to detail, patience, resilience, persistence, and creativity.
Oh, and back to jobs and careers – it turns out that these skills (especially creativity and creative problem solving) are some of the most in demand out there. So, yes, coding will indeed help children in their future careers, even if they don’t become coders.
All children should be given the opportunity to learn to code, along with as many other opportunities as possible to create, find their voice, and tell their story. If coding helps children shift from being content consumers to content creators, we all win.
The above is adapted from the introduction to our new book for teens, Captain Code: Unleash Your Coding Superpower with Python.