“No-one I know seriously believes in a geek gene,” is a line I hear a lot.
Perhaps this means that he (it’s usually a he) thinks that no-one truly attributes programming ability to genetics. But when we talk about a geek gene, we’re talking about the pervasive and horribly persistent belief that some people just can’t be taught to program. More than that, the belief that we’re wasting our time even trying.
There are so many problems with this theory that I hardly know where to start. One way or another I’ve been teaching people to program since 1993. In that time I’ve never dealt with anyone who was incapable of learning to program. Note that I’m not claiming that every one of them was destined to be a software engineer. I’m not saying every one of them could write 10,000 lines of bug free code (mind you I’m not sure I’ve ever encountered 10,000 lines of bug free code, but that’s another blog).
But anyone who can think logically can learn the basics of programming. Ok, we’ve probably just ruled out One Nation senators, and Donald Trump. But other than that, I am perfectly serious: Anyone who can tell someone how to do something – give directions to their house, or explain a recipe, for example – can learn to program. Because programming is simply telling the computer how to do something, in terms it can understand.
Why do I care? Why does it matter? People who are interested in coding will learn to code, and surely those are the people we want to go into technical fields anyway? The people who are interested?
The problem with that is that the world is full of talented people who have no idea what programming is. Who have no interest in technical fields because they have no real idea what goes on in there. It’s a closed book.
Yet we have a world full of problems – serious, threatening problems. Climate change. Disease. Poverty. And more. Solving them will be crucial to our survival, and technology is going to be integral to those solutions. So we undoubtedly need talented people to go into technology – as many of them as possible.
We need to open that book.
The other problem with that (or one of the other problems, for there are many!) is that a shallow understanding of technology is becoming increasingly debilitating. If we fail to equip our students with decent technological skills, we are increasingly failing to equip them for life.
Because while many of the kids we teach to code will not go on to become programmers, they will have a better understanding of the way computers work – and their limitations. They’ll be much more able to understand and manipulate the technology that runs our lives, and they’ll be much less afraid of it. Anyone who says technology is a closed book to them is going to find that a lot of doors are closed too.
The world is not divided into people who are capable of programming and people who aren’t. It’s divided into people who have access to programming education that works for them, and people who don’t.
We can fix that! And we must.