From education to employment

Why are we teaching coding all wrong?

Nigel Abbott, Regional Director, North EMEA, GitHub

For the last decade, the government, media and businesses have reinforced the importance of getting more young people to code. You won’t find much opposition to the notion that teaching future generations how to write lines of code is vital for our society and economy. Given the modern world is built on software, this seems logical.

But the time is up on only teaching how to code, we should also be encouraging young people to think like a coder. It’s a subtle but critical step-up. How a skill is taught and used is the difference between being useful or rendered redundant.

Computing education today

The UK has made strides in incorporating computing education into the compulsory curriculum. We were the first country to mandate coding at primary and secondary schools and, in November 2017, the Treasury allocated £100m to the launch of a National Centre for Computing Education (NCCE) to train 8,000 computer science teachers. 

But the current policies in place to teach coding are training students for an industry that is rapidly evolving and it is not preparing them for further education and a career. The way we teach coding needs to evolve too.

Where it needs to be

Rather than only teaching our young people niche technical skills, this must be supplemented by a new mode of thinking.

What does this look like?

The computing curriculum must focus on encouraging its students to engage in a framework of critical thinking to become a successful developer. So, not only is being taught how to write lines of code an asset to both the individual and future software employers, but also being able to think like a coder will open up young people to take their career after further education in any and all directions.

So how do we teach young people to think like coders?

Developers are the ultimate problem solvers. They have a process for tackling complex issues that students could learn from, whatever their chosen career path. In my experience, the successful approach can be boiled down into four distinct stages:

  1. Understand the problem: If it can’t be succinctly explained, the problem isn’t well enough understood
  2. Plan to divide and conquer: Breaking the problem into smaller, manageable sub problems at the beginning of the process makes the issue less daunting and solutions more achievable.
  3. Teamwork: There’s truth to the saying that a problem shared is a problem halved. Young people can learn from the collaborative approach the developer community takes. Coders know that by bringing in outside advice or splitting a task, it brings a fresh perspective and can unblock barriers.
  4. Repeat: Students of all disciplines know that there is no substitute for practice and real-world applications.

All the best coders never stop developing new skills and, with this framework, young people will learn to ensure they future proof themselves for a time when they way we code changes.


Thinking like a coder might not require the latest developer tools, but putting the framework into practice does reinforce learning. So, as a further education sector, we have a duty to ensure the tools needed are equally available to all students. 

The 2020 GitHub Education Classroom Report proves that remote learning in this field is entirely possible. Geography should not be a barrier to developing coder-like cognitive skills. That’s why GitHub Education is completely free to educators and pupils all over the world.

Thinking like a coder

Unless the UK education system addresses the fundamental shortcomings in the way it teaches its coding courses, by the time students enter the workforce, the skills they’re trained in will no longer set them apart from the crowd. Make no mistake, technical skills are important but in a digital-first world when demand for specific skills changes constantly, these are not enough.  Only by equipping young people with soft skills and techniques, like critical thinking, collaboration, problem-solving, to think like coders will they learn how to be a unique asset to employers, the software industry and wider economy.

Nigel Abbott, Regional Director, North EMEA, GitHub

Related Articles