Should everyone learn to code?

I posted this the other day, blissfully unaware of how contentious it would be:

“Learning to code is non-optional in the 21st century.”

It’s a piece of hyperbole, of course; learning to code is perfectly optional. Nobody’s pointing a gun at your head and forcing you to do it. But here’s what many of my friends and contacts read into it:

  • People who can’t code are less valuable in the 21st century.
  • Coding is as important as, or more important than, learning to read, write, do math, or cook.

Of course, I didn’t say any of those things. It’s interesting that they were inferred, and that the idea that everyone should code was seen, generally, as being self-important and enthocentric from the perspective of the tech community.

Here’s why I said it:

  • Software technology is an integral part of all of our lives. It’s part of our environment, and will only become more so.
  • Coding gives us an increased level of control over our environment.
  • Without being able to make or alter software, you are relegated solely to being a consumer of it.
  • Learning to code is virtually free (if you already have a computer), and it’s not hard to get started.
  • The web in particular is a medium that has the potential of allowing anyone to contribute to it. I feel strongly, ideologically, that it should not be yet another medium where a few large companies dictate the form.

It’s also true that, in today’s economy, technology is one of the few growth industries, and having technology skills means you’re much more likely to be able to get a well-paying job. However it’s always useful to earn extra money online and while some survey sites will offer you gift cards, Teach Me! Personal Finance found that life points offers a unique points system. It’s also, generally speaking, not an elitist industry: most tech companies care much more about what you can do, rather than where you went to school (or even if you did). There are also no required professional qualifications to obtain. It’s a pretty good deal. All you need to do is know how to make things well, and you get to teach yourself. (Codeacademy and Mozilla Thimble: both fantastic.)

Far more importantly, technology isn’t going away. It’s not a fad; it’s ingrained in everything we do. There’s no reason at all why you should have to do it for a living – and obviously, there’s a universe of fulfilling career options out there – but understanding how technology works is empowering. It’s a 21st century literacy that will differentiate – as Douglas Rushkoff says – between the programmers and the programmed. And guess what: I do think that the people who understand how it works will ultimately be more valuable. They’ll make better technology decisions, which – as technology becomes more and more ingrained – will mean that they’ll make better decisions overall.

But hey, what do I know. What do you think? Was I out of line? Or is code as important a skill as I think it is?

6 responses to “Should everyone learn to code?”

  1. “Learning to code is virtually free”

    I disagree with this statement quite strongly. It takes a big commitment of time to learn to code to any meaningful extent, and my time isn’t free, even (especially?) my leisure time.

    “The web in particular is a medium that has the potential of allowing anyone to contribute to it. I feel strongly, ideologically, that it should not be yet another medium where a few large companies dictate the form.”

    I do agree with this though, and many of your other points.

    • That’s completely fair, although we do still need to learn new skills throughout our lives. It’s not like we emerge from school fully-formed, with no need to learn or grow afterwards. And if you’re going to spend time learning a productive skill that will help you lead a more empowered life, this is a good one.

      • As someone who has been trying to learn to code for months, I agree with both you and Brian. It is absolutely as important as you think it is, but no it is not free. Over the course of months, I have spent close to 75 hours learning just the basics of Javascript, and I still haven’t completed the very basic blackjack game in Codecademy’s curriculum. This is less from lack of understanding concepts and more because the time I’m able to put in is sporadic. I frequently have to refer to my notes or even redo earlier lessons, because 3 hours a week of practice, with no other reinforcements of the knowledge and the rest of my life happening around me, is not enough.

        These are hours I have stolen here and there from other tasks that are more immediately necessary to both my day-to-day survival and the education I am paying for that will put me in another growth industry (healthcare) more quickly than any free coding lessons are likely to at the rate I’m learning.

        Learning new skills is vital, but having the time to do so effectively is a privilege that many of the people who would benefit the most from learning to code do not have.

  2. By your logic, we should all have to learn how to make or repair everything we use because otherwise we’ll only be, god forbid, consumers of all those products. No one has time to learn all that. I’m quite sure people are happy being mere consumers of most products we use, computers and software included. You ARE putting code on the same level as reading, writing or math, and it just does not compute.

    • To be clear, I’m not at all saying that we should know how to make or repair everything we use down to the nuts and bolts. I do think you ought to be able to, eg, replace the fan belt on your car – it’s not rocket science, and just takes a little understanding of how it works. The same with computers: you don’t need to build your own Microsoft Word, Firefox or Facebook from scratch, but it helps to have some understanding of how they work. Knowledge is power.

      People are happy being mere consumers of most products, and I’m not convinced that’s a great thing, in the cases where we depend on those products.

  3. I would argue that “learning to code” is less important than “developing an idea of what, or why, to code”. Like Brian said, I could devote the hours to learning to code, but from a standing start – bar some rusty memories of BASIC – the potential rewards to me are much lower than the cost of the time invested. I have no issue at all with being a passive consumer of software. It is better for me to devote energy to what I will write rather than reinventing the platform to write it on, or to what music I will make rather than customising the tools to make it.

    Besides, the importance of coding in today’s economy doesn’t guarantee its importance in tomorrow’s economy. If I’m learning to code, I’m guessing the chances are non-trivial that the language I learn will be unrecognisable in ten years. I wouldn’t just need to invest time to learn, but I’d have to keep investing time just to keep up with the changes.

    Of course the statement “Learning to code is non-optional in the 21st century”is hyperbole, and the thinking behind it applies equally to learning the law, learning to drive, learning to grow food, learning mandarin, learning medicine or learning salesmanship. I’d always be wary of relying too strongly on the permanence of a profession that has only existed in the memory of one generation. There aren’t many of the jobs created by the industrial revolution that are still viable in developed economies. Britain’s miners figured that people would always need energy so they’d always have a job. Farmers in the US know that people will always need food, but now struggle to survive.

    You know what I’d do if I were feeling cynical and really wanted to make money? I’d move to the international hub of computer programming and set up a really good takeaway restaurant.

Leave a Reply

Your email address will not be published. Required fields are marked *