Why are we teaching coding?

I was at a dinner party this weekend at a friend’s place. The usual crowd had assembled, mostly friends of friends and acquaintances. We snacked, we chatted; we drank, we chatted; we ate, we chatted and then we went home.  Nothing momentous occurred just a bunch of 40 somethings getting together and talking about their kids, work and the ever so faint light of retirement on the horizon.

One of the individuals there (I will call him Paul) I had met before but never really spoke to other than an obligatory “Hi! Pleased to meet you…” at another one of these little soirees. This time however, I got to have a good 60 minute chat with him over a couple glasses of Shiraz and a GREAT artichoke dip.

As it turns out, we both went to UVic  at the same time. We may have even been in some of the same classes, like the PASCAL one I dropped but he managed to complete. In fact so successful was he with learning PASCAL, he went on to get his computer science degree. Now he does (or did) all sorts of programming stuff for a living. He is currently a big wig at a moderately sized tech company and has others do the coding.

As we poured the second glass of a nice little WAYNE GRETZKY OKANAGAN – CABERNET SAUVIGNON SYRAH 2013 (yes we drank Wine Gretzky), I figured I would tell him what I was trying to do with my students in getting them to learn Java Script, and instead of saying “Oh Cool!… Tell me more!” he simply said “Why?”

I was thrown for quite a loop by this response because I had been led to believe that learning how to code was the must know skill for the ages. As important as ones ABC’s or 123’s. That every employer on the face of this earth wanted our young people to learn how to code. That our children’s futures depended on it for virtually every job there could ever be, from the front counter people at McDonald’s to the Rocket Scientists at NASA.

Ok admittedly I am being a bit dramatic, but you get the picture.

But why was a computer science guy, someone who obviously finds coding to be an important skill, saying “why?” to my super amazingly innovative teaching initiative. I was counting on a Prime Minister’s Award of Teaching Excellence for this one. Then again, the way I have been bashing good old Steve on twitter, I’ll be lucky if I don’t get a room without a view in some CISIS hotel someplace, but I digress.

So why did my new good buddy Paul say “why?” when I told him about my little coding initiative? Well upon further discussion I discovered that he has no issue with teaching kids who want to learn, but as a foundational skill that every kid should know? Well lets just say he is not convinced that such a thing is necessary or even a good idea. As he puts it, there are programmers and then there are PROGRAMMERS. “We don’t need huge numbers of mediocre programmers. We need highly skilled people who can do great things with code” He went on to say “I bet the really talented kids in your class are already way beyond learning Java Script and those are the kids who will be getting hired when they get out and start looking for jobs.” He was right.

The way Paul seems to see it, is that not everyone is cut out for programming, so why would we be giving all kids the idea that programming is a career they should pursue. By the end of the last glass of wine and most of the artichoke dip, what I had gotten from the conversation was this. Not everyone can be Wayne Gretzky or even a third string NHL player for that matter, so why would be setting a kid up to be something they do not have the skills or inclination for? Really it makes perfect sense to me. Not every kid is into math or science or literature or geology or or or. That is just the way things are. I would never force my child to pursue coding just because someone says they should.

Regardless of my little conversation with Paul, I will carry on with my coding initiative. Most of the kids in my ICT class have the inclination to at least try coding for a while and who knows, perhaps a few of them will become a super famous programmers that open their own wineries when they retire and sell half-decent bottles of wine.


  1. mikecaulfield

    I have a different take on it. It’s difficult to see programming as a useful skill in 20 years. What assembly language is now programming should be in 20 years. Per capita there will be less programmers writing lines of code than now. The interesting stuff will have shifted upstream.

    Instead of programming, a good set of web literacies might serve them better. How can they use technology to model reality? How does distributed collaboration work? Co-editing? Modularization? Version control? Iteration and refactoring?

    If your JS instruction is built around these things, then I think it is worthwhile. I *wish* we could find more employees that understood version control, or how to collaborate electronically, and while the technologies might change, the social and professional behaviors the students learn will remain useful for decades.

    If your JS instruction is not doing that, then make it about that. Or teach something else that gets at this stuff — a digital history project for example.

    1. Post

      Your notion around learning “web Literacies” is a good one.

      In addition, I think there will be a new layer of coding competencies based on the new style of visual coding that we are beginning to see, where the problem solving and procedural thinking involved with traditional coding is required but the actual writing strings of code will not be.

      Only time will tell.

      Thanks for the comment

  2. Clint Lalonde

    Hi Keith. This is a really interesting post. Thanks for writing it. Here is my 2 cents.

    I think there are much more important objectives in teaching kids to code other than preparing them for a job as a programmer. From my perspective, learning to code isn’t about becoming a proficient coder, or as a path to a career in coding (although some may take that path). Instead, teaching kids to code gives them a view into an increasingly important aspect of how our society is structured and how it works. Code drives so much of our lives, churning along invisibly in the background. Algorithms make important decisions for us every day. To me, that is what learning to code is about – kids developing an understanding of how code works, and the important role that code plays in their lives

    Additionally, understanding how code works gives kids another tool to help them solve problems they will face in the future, even if they never become computer scientists or coders. Some of the best “coders” I know are actually accountants who create macros in Excel to conduct complex analysis and data crunching. They are using code to help solve the problems they need to solve, and by exposing kids to programming they then learn that there is another tool that they have access to to help them solve problems.

    Finally, I think teaching kids to code gives them the sense that they can control this digital world they live in. If they come away from a coding class with the feeling that they can tinker and adjust digital technologies, then they have learned something more valuable than Javascript. They have learned that they have agency and control. They may not know exactly how to exert their power, but at least they know that they are the ones who can be in control of the tools, and not the other way around.

    1. Post

      Hey Clint, Long time no chat. Thanks for stopping by.

      I have no issue with what you have said here Clint. All of it is true to one degree or other. I especially like your take on teaching the kids a little about just how much programming/coding influences our lives. It is concerning to me just how comfortable some kids are with just being a pawn of the technology they are being used by.

      Finally the ease with which you can develop add ons and extensions for the google tool environment is amazing. The tutorials and development community is a fantastic resource for anyone who wants to learn how to code and develop useful tools.

      Thanks again!


Leave a Reply

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