Canada is investing $50M to teach kids to code. It shouldn’t.

Here’s why.

By: Hamoon Ekhtiari

The Announcement

This week, the Canadian government announced an investment of $50 million through the CanCode program to help children learn to code as soon as they start school. According to Innovation Minister Navdeep Bains, the funding will provide training for one million students from kindergarten to Grade 12 in “coding and other digital skills” and training for 63,000 teachers to learn how to incorporate new tech into the classroom over a period of two years. The money will be divided between a number of initiatives, including groups that prioritize education outreach to under-represented groups (full list here).

3 Common Traps in Building the Future

While an announcement like this naturally draws a lot of positive response, we believe that we should only be satisfied when our investments apply the best of what we already know about the future.

There are 3 common traps that efforts to build the future often fall into:

1. Discovery: Solving the wrong problem

2. Design: Solving the right problem with the wrong solution

3. Delivery: Losing the original design in the execution

Let’s look at how CanCode does on each front.

Discovery: Are we solving the right problem?

This is where the government deserves lots of credit — both in underlying intent and ultimate goal. There is ample data on how quickly and dramatically the nature of life and work is changing driven by technology and demographics. Our education systems must transform themselves rapidly if they are going to have any chance at developing the type people our economy and society need now and into the future.

A proactive investment with the goal of preparing our kids for the “jobs of today and tomorrow” starts from the right place and should be encouraged. Moreover, the program takes an equity-embedded approach with a significant focus on underrepresented groups while in parallel targeting the development of teachers, both of which should also be applauded.

Design: Are we solving the problem with the right solution?

But, despite good intentions, we think that both the assumptions and approach are flawed and reflects a more systemic issue when it comes to reimagining education — we may not be thinking big enough. This movement rests upon the idea that “coding is the new literacy,” driven by the theory that a “generation of hackers” will be the change leaders of tomorrow. We don’t think so.

→ First, if our goal is to prepare kids for the future (one we generally know very little about), is coding our best bet? Here, there is ample research that shows, in fact, the investments that will have the longest-term effect across the broadest set of economic and social domains are:

  1. Character like resilience and emotional intelligence
  2. Skills like complex thinking, problem-solving, communication, collaboration, and creativity.

→ Second, even if we assumed that the Tier 1 competencies above were all already well taken care of (which we all know not to be case) and wanted to move further downstream, digital / information / media literacy still comes far ahead of coding in terms of both longevity and benefits.

Side note: a frequent counterargument to these first two often goes something like ‘but those broader skills and capabilities is exactly what we develop’ which also often shows up in program materials. The Duck Theory applies here — if you name it coding, fund coding organizations, and run coding programs, that’s what you get — yes, there might be side effects but that’s a far cry from directly focusing on a different set of capabilities.

→ Third, we believe the idea that coding is “the next big job” is a fallacy. Coding may be widely considered the “digital skills literacy” of today, but what it looks like now is bound to change pretty fast. Programmers are already having a hard time keeping up with their own creations, and work is already well under way to automate a large amount of the coding currently taught for one of its widest use cases — AI applications. AutoML, for example, is a project at Google, that essentially uses machine-learning algorithms that learn to build other machine-learning algorithms. Researchers at MIT are working on a platform that will serve as “AI for All” to make intelligent automation more accessible. This means that people with little to no data science or advanced statistics background will soon be able to create and train their own algorithms. Only the most specific cases in about 5 years times will need detailed coding expertise. This is no different than how Wikipedia and Google Search have substantially commoditized information and knowledge stocks (though not insight or wisdom).

Becoming well-versed in Greek or Latin was once considered the pathway to enlightenment, whereas now they are mostly a novelty and definitely not required for population-wide success — could coding be the same?

→ Fourth, we should also acknowledge that this tendency to identify STEM as the answer to our current upskilling challenges is mostly a side effect of a fragmented perspective on what future education could and should be. A legacy of the industrial revolution, most of our educational institutions frame students as widgets to be mass-produced. Today’s social media travesties and tech mishaps are largely due to misguided attempts to create technological products without considering complexities of human systems in design. Perhaps the biggest risk here is isolating coding as a singular answer to today’s skills challenge and the narrow technocentric view in which it places young minds at such a young age.

→ Finally, while in a world with unlimited resources and unlimited classroom time, we would fully support teaching every kid to code (and learn 5 languages and learn about all 200 cultures in Canada and…), but we must consider the opportunity cost here. An investment this large in an educational change bypasses an opportunity to invest in softer skills that can only be developed in-person and with peers. Coding on the other hand can be learned free, online by anyone — we would much rather invest in learning how to learn and teaching kids how they can learn almost any coding language they desire on their own at any time than discount their agency through a traditional program.

Delivery: The devil is in the details

This is where we still have vast opportunity ahead to materially improve the ultimate impact of CanCode.

While our federal government — particularly the often-underappreciated bureaucracy — has been on a tear when it comes to working on meaningful (if not sexy) innovations in how government works — from launching public blockchain to cloud adoption to agile procurement methods, to name a few — it is critical to understand the critical (and sometimes boring) innovation gaps that still exist. Current funding models and financial channels can serve as roadblocks that drag out implementation between publicity and the lived experience of the kid learning in Smithers, BC. Transfer Payment Agreements with their overly defined project plans and metrics heavily influence the decisions and behaviours of the recipient organizations.

Here are 4 opportunities still ahead of us to ensure CanCode comes closer to delivering on its original intentions and objectives:

1. If we say this is about Digital Literacy, let’s do Digital Literacy: Have all programs operate off a common digital literacy skills framework, measure progress, and development holistically, not just focused on coding.

2. KISS the TPAs: Funding agreements that overly define the ‘how’ vs the outcomes stifle every innovation principle we know about. Just give the recipient organizations a common and simple target: Develop as many digital literacy competencies as quickly as possible in as many kids and teachers as possible in as little of time as possible. Then open the gates, get out the way, and let them run to the finish line.

3. Separate Assessment from Learning: All research in this space points to the importance of separating assessments from those providing the education or training experiences. Invest in difference-in-differences pre & post assessment of all kids and teachers who complete programs supported through CanCode, administered independently of the program delivery organizations. There is now a plethora of assessment tools, particularly when it comes to hard skills like coding, and they can help us focus on finding and scaling innovations that maximize the (benefits / cost / time) ratio.

4. Give the Kids Cash Instead: Inspired by GiveDirectly, and as a way of creating a meaningful baseline against which the programs can truly show their value-added, give cash directly to a sample group of kids, give them the mission to develop their digital literacies, and watch the magic they will create (and the innovations that will spark in all the program delivery organizations).

Our Choices. Their Futures.

Ultimately, this has to be about more than just another political announcement evaluated based on number of tweets and shares or another program delivered by not-for-profits evaluated based on new dollars raised.

These are choices we make today that will have a material impact on the future of our kids and of our country. So let’s make sure that, while our youth “can code”, they don’t also code themselves completely out of the ability to recognize and solve humanity’s grand challenges.

We’re Audacious Futures, a global launch pad for bold innovation.

This is an Audacious Opinion, as featured in our weekly newsletter, Audacious Briefs. Sign up here to get next week’s issue.

Comments on this? Drop us a line below. Or feel free to reach us anytime at