There is a surprisingly wide agreement among politicians, academics and employers that coding and computational thinking are subjects that all young people should learn in order to develop relevant skills and for them to have a well-informed understanding of the increasingly digital world that surrounds them. But just how important is coding and computational thinking?
Job opportunities in coding
This is the most commonly cited reason to learn how to code and the one which tends to catch most headlines.
We are already living in a world dominated by computer code. Our mobile calls and text messages go via digital networks; entertainment is delivered over the internet; people don’t use paper maps anymore, we shop and bank online and communicate on social media. People work from home and comunicate via technology. Soon our homes will be controlled by code; aspects of medical care will be delivered via the internet and maybe your car will even drive itself. And all of these have as their basic requirement people who can create the necessary computer code.
Until recently education and training has been slow to respond and as a result there is a real shortage of computer programmers world-wide and the jobs for those who can code pay well, even at entry-level.
“Our policy at Facebook is literally to hire as many talented engineers as we can find” Mark Zuckerman .
Coding is international – everybody in the world uses the same coding ‘languages’ so it is easy to pursue career opportunities in other countries. Conversely because of its digital nature you can, for example, enjoy living in rural Cornwall while writing code for a company in Australia. All of which has big implications for ‘work/life balance’.
So learning to code and studying computer science can lead to a well-paid career with opportunities throughout the world.
Transferable Skills
Of course not everyone will be interested in a career in computer programming!
However learning to code, at least at a basic level, helps to develop valuable skills which are relevant in all walks of life both at work and outside of work.
Computational Thinking
As part of learning coding children are taught Computational Thinking which is a structured approach to problem solving.
Briefly the approach involves taking a complex problem and:
- breaking it down into a series of small, more manageable problems (decomposition).
- thinking about how similar problems have been solved previously (pattern recognition)
- focusing only on the important aspects, while ignoring irrelevant information (abstraction).
- writing simple instructions (in plain English) to solve each of the smaller problems (algorithms).
Computational thinking is a skill that everyone should learn. Even if you never follow a career in computing, you will benefit from knowing how to think this way and it will help you solve problems in almost any discipline.
"Learning to write programs stretches your mind and helps you think better. It creates a way of thinking about things that I think is helpful in all domains." Bill Gates
Creativity
A new coding project is essentially a blank canvas. Just like a writer, artist, architect or entrepreneur, the task is to create something out of nothing, a process that relies on having an open mind, asking ‘what if’ type questions, being prepared to make mistakes and to learn from them.
"I think that great programming is not all that dissimilar to great art. Once you start thinking in concepts of programming it makes you a better person...as does learning a foreign language, as does learning math, as does learning how to read." Jack Dorsey
Creator, Twitter.
Teamwork
Learning coding often involves splitting a project into parts with each being dealt with by individual members of the team. Then working closely with fellow students to collaborate on ideas and together produce a complete integrated solution.
Communication
Coding teaches the use of precise, unambiguous communication, strengthening both oral and written skills.
Awareness of the potential of technology
Having a broad working knowledge of technology means you can at least ask the right questions of tech specialists and be able to critically assess their answers rather than just be ‘blinded’ by technobabble.
Confidence
Having done your own coding you will have greater confidence using technology and less likely to be saying ‘I don’t do tech stuff’. The integration of technology into virtually every aspect of working life means it is crucial that people are able to take advantage of it in their particular field and not be afraid of it.
So, whatever sector of work, an understanding of coding will give young people a real competitive edge over applicants without such skills.
"Whether we’re fighting climate change or going to space, everything is moved forward by computers, and we don’t have enough people who can code. Teaching young people to code early on can help build skills and confidence and energize the classroom with learning-by-doing opportunities." Richard Branson, Virgin Group
The Future
For most people on Earth, the digital revolution hasn't even started yet. Within the next 10 years, all that will change. Let's get the whole world coding! Eric Schmidt
Former Executive Chairman, Google
The world that our children are growing up in is very different from the one we grew up in. The impact of technology is changing the way we live our lives, the whole nature of work and the way we interact with one another. Many young people just starting out in school today may well work in jobs that currently do not exist.
Whatever their career aspirations or goals in life, they are going to need to know how to make technology work for them.
So they should have some fun and learn to code!