This week I stood at a primary school careers fair, on what turned out to be one of the hottest days of the year so far, and tried to convince children between the ages of four and eleven that software development is the best job in the world. I had a stand, a looping deck of slides, a board of brand logos, and a game I had built for them to play. By the end of the day my shirt was stuck to my back, the hall felt like the inside of a kettle, and I had enjoyed myself more than I have at almost any conference I have ever paid to attend.
The game
The thing I most wanted on the stand was not a poster. It was something a child could pick up, do, and walk away from grinning. So I built Mars Rover Coder, and it lives at barnack.lord.technology — go and have a go, it works on a phone.
The premise is the whole lesson, smuggled inside a game. There is a rover on Mars. You cannot drive it with a joystick, because Mars is a very long way away and the signal would take minutes to arrive, so instead you write it a little program — rover.up(), rover.left(), a few lines at a time — and send the whole thing at once. The rover then does exactly what you wrote. Not what you meant. What you wrote. Every developer I know learned that lesson the hard way at some point, usually at about two in the morning, and here it is rendered as a friendly rover gliding cheerfully off a cliff because you told it to.
It scales itself to whoever is holding the tablet. A child in Reception gets a guaranteed first win in a single tap and a small celebration. The Year 6s found the harder modes on their own: an Engineer mode with a deliberately tiny memory limit, because real rovers genuinely have very little memory, which quietly forces you to stop repeating yourself and discover a loop or record a function and call it again. There is even a “Fix the Code” mode, where a program with one wrong line runs, the rover goes visibly wrong, and you tap the bad line to delete it and try again — which is, if I am honest, a more accurate depiction of my actual working day than anything else on the stand.
I told the older children I had built the whole thing in an evening. They did not entirely believe me, and then they did, and a few of them clearly filed it away as a thing that was apparently possible, which was exactly the reaction I had hoped for.
Reception to Year 6, one group at a time
I spoke to every year group, from the four-year-olds in Reception to the Year 6s on their way to secondary school, in small rotating clusters that came past the stand throughout the day. You adjust constantly. With the youngest, the win is the win — make the rover move, hear the sound, collect the sample, beam. With the oldest, you can have an actual conversation about what a loop is for, why a function lets you say a big thing in a small space, and whether a computer can ever do something you did not tell it to. (The correct answer, which one Year 6 arrived at unprompted, is “not really, it just did something you didn’t expect, which is different.”)
What genuinely took me aback was how many of them already wanted in. Not “what’s a developer” — actual, specific ambition. Children who wanted to make games, children who wanted to build robots, children who already knew the word coding and used it the way I might have said astronaut at their age. A good number of them were sharp in a way that is hard to convey if you have not stood in front of it: spotting the bug before I did, reasoning out why the rover had stopped, arguing about the most efficient route. They were, to a child, smarter than I expect children to be, and I say that as someone who walked in braced to be patient and walked out slightly outpaced.
How much has changed
The part I keep turning over is the gap between what they have and what I had.
When I was their age, a computer was a shared and faintly precious object. You learned by typing things out, you made something that lived on that one machine in that one room, and the idea that a child could publish — could make a thing and put it in front of the entire world that same evening — simply did not exist. The horizon of what you could build alone was small, and the distance between “I made a thing” and “anyone else can see it” was enormous.
These children have the opposite problem, in the best possible way. The horizon is gone. One of them, that afternoon, on a phone, was playing a game I had written and put on the internet for nothing, reachable from anywhere on Earth, and it had cost me an evening and approximately no money to make that true. The tools that used to gate this work — the hosting, the distribution, the sheer expense of being seen — have quietly fallen away. A child with an idea and an evening can now ship it. I get to do this for a living and on the sofa for fun, and the thing I most wanted to leave with them is that the door is not just open, it has been taken off its hinges.
I did not say all of that, obviously. To most of them I said “tell the rover where to go,” and watched them work it out. But that is the version of the message they will actually keep: that you can tell a machine what to do, that it will do exactly that, and that when it goes wrong — and it will — fixing it is the fun part.
It was far too hot, I would do it again tomorrow, and if you have a small person in your life who likes telling things what to do, send them to barnack.lord.technology and let them strand a rover on Mars a few times. It is how all of us started.