Today, my nine-year-old daughter completed the “Hour of Code” challenge on code.org.
She learned to write very simple scripts that moved an image of Elsa from the movie “Frozen” through various geometric patterns. She worked her way through the mini-applications and video tutorials with minimal guidance from me. Upon completing the course, it generated a certificate with her name on it that she can print out and hang on the wall of her room, if she desires.
In just over an hour on a Sunday afternoon, she learned a few essential concepts of coding like nested loops and functions. She learned what it means to debug code (and the satisfaction that comes with making her code run successfully). And, best of all, she told me she really enjoyed the exercise and is ready to learn more.
Sadly, though, her school does not offer a course in coding for her.
And she’s not alone.
Despite positive developments in the movement to provide formal instruction for kids in major American cities like New York, San Francisco, and Chicago, most schools, whether private or public, simply do not offer formal coding instruction as a required—or even optional—course.
I'm not a coder by profession. I’m a communications guy. I’m a writer. But my years coding as a kid and subsequent dabbling in coding as an adult has given me an understanding of—and comfort using—technology that I might not otherwise have.
While I would be delighted if my kids were to eventually enter careers in computer science-related fields, I’ll support them regardless of whatever academic and career interests they pursue.
But I believe that having a solid understanding of how technology works—and not just knowing how to swipe, type, and consume content, a practice they mastered years ago at a very young age—will be crucial to their ability to succeed in the digital economy we live in today.
I recently spoke with three professional coders—including two that have built billion-dollar businesses on the back of their ability to code—to get their take on the issue.
Here's what they told me:
Should kids learn to code?
Nathan Blecharczyk, CTO and Co-Founder, Airbnb
"Definitely. Even if kids don't eventually pursue a career as a coder, learning how to think like one helps hone logical thinking and problem-solving skills."
Matt Mullenweg, Creator of WordPress and CEO, Automattic
"Absolutely. I actually believe that coding is like the new literacy and it’s going to be as important to code in the future as it is to be able to read and write today.
Even if you don’t decide to do development as a career, the ability to think like an engineer and understand code is hugely valuable, including for managing other developers.
Pretty much anything you’re going to do in a modern information society, if it’s connected to a computer, knowing how that computer works and being able to modify it is just invaluable."
Coding is like the new literacy and it’s going to be as important to code in the future as it is to be able to read and write today
Chris Fox, Senior Software Engineer at CellScope and novelist
“Absolutely. If I was in control of the government and became the dictator of the world tomorrow, one of my first acts would be making sure that it’s taught like math and science. That every kid learns programming.
The reason for that is we now have a digital global economy. Those of us that are selling books online understand how this works. You put an e-book out there and it just sells night and day, 365 days a year across the world, and the same is true for software.
Programmers know you can write an app and wake up and find that people in China, in India, in Australia, and in the UK downloaded it and used it overnight."
What languages should kids learn first?
Nathan Blecharczyk doesn’t think the language matters as much as the ability to learn how to code itself.
Matt Mullenweg suggests that “HTML and CSS are absolutely good to start with, and they are also useful even if you’ll never write a line of code because they are the lingua franca of the Web.
Chris Fox suggests you should “pick a platform that you are actually going to use. If you have an Android phone you want to learn Java. If you have an iPhone you want to learn either Swift or Objective C.”
Don’t learn coding for the sake of learning coding
Nathan Blecharczyk believes kids should learn coding through building applications, and not just learn it as a purely academic subject.
Matt Mullenweg agrees when he says, “it’s not exciting to learn code for code’s sake. I’ve certainly always been interested in it as a means to an end. One of the first things I ever coded was for my sister, who was doing a lot of genealogy research. I made a website which was basically just a database of all the family members that she was finding. And that was fantastic for learning how to set up a database and tie it all together and do different queries. So if you can figure out a project that seems like fun, just start hacking away on it."
If you can figure out a project that seems like fun, just start hacking away on it
Chris Fox agrees with Matt on this point: “The second you get an application to run on a device that you actually use, it’ll click in your mind and you’ll realize, ‘Oh, I can build whatever I want to make’. Anything from an app that tracks your heart rate while you’re running, or if you’re a gaming geek like me, an app that will roll dice for you on your phone. Whatever you want to make you can build, but it’s gotta be something that you’ll actually use, otherwise you won’t follow up with it.”
What do you think? Should kids learn to code? What should schools be doing to make this possible?