Hi – my name's Tom and I like making things.
Receive updates on my latest games, experiments and thoughts.
Unsubscribe anytime. Privacy notice.
Actually, let's start with a different question… do you remember the above ad campaign from 8 years ago?
When Apple added a keyboard and stylus to the standard iPad they decided to run a new ad campaign called "What's a computer?"
The gist of the ad campaign was that a young girl was doing all sorts of productive work and fun stuff on her iPad around town. She was using it in different formats – tablet, keyboard, sketching with a stylus – but she never really thought about what category of device she was using. She only cared about the current task. The current moment. The current experience.
Near the end of the ad, she's lying on the grass in her backyard and her neighbour leans over the fence (Home Improvement style) to ask a casual question:
"What are you doing on your computer there?"
The girl quips back unknowingly:
"What's a computer?"
To the girl, she didn't know the term 'computer' – or at least, she didn't care about the old distinction between a desktop PC and everything else. To her, this was "just an iPad". Obviously that's a very Apple-centric way of framing it – more generally, she just saw it as an appliance for making and doing things. The box disappeared and only the activity remained.
Now it's 2026, and the identity and nature of a programmer has completely changed in much the same way. Which begs the question:
What's a programmer?
Let's rewind to the 1960s (and earlier). Before there were computers, there were… computers.
For centuries, "computer" wasn't a noun for a device – it was a job description. A computer was someone who calculated numbers and crunched data by hand.
When electronic computers arrived, they replaced the human job of computing. And yet the people didn't vanish – they moved one rung up the ladder of abstraction. Instead of performing every arithmetic step themselves, they started writing the instructions for the machine to follow. And so, they became programmers.
For the next sixty years, programmers ruled over computing devices. We were a bit like a guild of magicians, casting spells and incantations through arcane arts – aka "programming languages". If you wanted the machine to do your bidding, you had to learn these languages – C, Java, Python, and so on.
And yet, if you zoom out across the entire history of software, the trajectory has always pointed in one direction: punch cards gave way to assembly, assembly gave way to C, C gave way to garbage-collected scripting languages, and scripting languages gave way to high-level frameworks. Every generation of programming has been an attempt to move closer to plain human intent.
DHH recently said that he never thought he'd love another other programming language more than Ruby, but that he'd recently discovered there indeed was a language he enjoyed coding in even more – it's called English! Or as Andrej Karpathy described it: "The hottest new programming language is English."
Now we use English to write code. Which means, in a very practical sense, English is a programming language – arguably the highest-level one we've ever had.
And where does that leave the humble programmer? Did we just automate ourselves out of a job the same way electronic computers replaced human computers? Are we obsolete?
Or is something subtler going on?
I was using vibe coding and Antigravity to do some data science analysis for a personal topic recently – pulling together public data sources and estimating probabilities across a few different scenarios.
A friend was also interested in the same topic. So I shared with her some of the graphs and probability curves I'd generated and told her I'd used AI to do the analysis.
I was a bit surprised by her response:
"I wish I had your super nerd skills 😂"
My surprise came from the fact she didn't seem to understand that AI had "done the heavy lifting".
So, I replied back to her:
"Oh! No, I don’t even have to use my tech skills anymore! AI enables me to do this now, haha. I don't know much about data science, but this analysis that I wouldn’t have had time to do before can now be done in minutes."
She responded again:
"The difference is you know what to tell AI to do, I don’t even have those skills 😂"
And so once again, I was surprised.
I had tried to reassure her that it was easy – that there was no technical barrier I'd needed to overcome… that I didn't really need to be a programmer or a data scientist to produce what I'd just sent her.
But was that really true?
Einstein once said:
"Even more important than the answer – is the question."
When I sat with my friend's reply, I realised she was seeing something I was completely blind to. In fact, there were two uncomfortable truths hiding in our exchange:
When I vibe code in Antigravity, it feels effortless compared to how I used to work. I'm not getting bogged down in coding syntax or fighting with a new library's API. So my brain tells me: "Look, I'm not even programming anymore!"
Except I am.
What I didn't notice – because twenty years of making software and games has wired it into my muscle memory – is how I was talking to the agent:
Syntax was never the most important skill of programming – understanding the entire architecture and system was. For decades the two were fused together because you couldn't express systems thinking to a machine without typing out code.
Now that the syntax tax has dropped near zero, we confuse the absence of typing with the absence of engineering.
The second truth that dawned on me is the flip side of the first… how did any of us become programmers in the first place?
Nobody was born knowing what a for loop is. We became programmers because, at some point, we became curious about computers and what we could do with them. We hacked on a script get a game to run. We opened Chrome devtools by accident and got curious.
We tinkered, we experimented, and we learned the spells. And by being willing to fail, we slowly learned how to ask the right questions.
When my friend says "I don't even have the skills to know what to tell AI to do," the real barrier isn't a computer science degree. It's the willingness to explore and the belief that there's a secret vocabulary one must know before you're allowed to start.
If a person doesn't try casting the spells and failing – if they don't practice asking naive questions, watching the output break, and steering it – they never build the intuition. Even when the programming language is plain English, you still have to be willing to tinker and never give up.
And there's an important contrast I noticed between this friend of mine and another who has recently been building a new portfolio website for herself using vibe coding tools like Antigravity and Claude Code. The second friend has been relentlessly exploring and learning how to build what she wants – and she is succeeding. Because she has a goal in mind, she's curious, and she's willing to try. Sometimes I want to give Builders a different title: entrepreneurs. For my second friend, having a concrete project she cared enough about to push through the awkward trial-and-error phase enabled her to overcome the uncertainty of experimentation.
I sat down with that second friend and showed her even more things she could do with these tools. It helped her to have some extra guidance. But I'll save that story and my learnings from that for another time.
Think back to that girl in the backyard with her iPad in the Apple advert.
In a few years, a whole generation of builders won't think of themselves as "writing code" any more than she thought of herself as "using a computer." They won't care about the label. They'll just have a problem they want solved, an ephemeral tool they want to exist, or a game mechanic they want to experience – and they'll keep talking to an agent until they succeed.
And for those of us who did spend years learning how systems fit together? We haven't been replaced per se. We've leveled up.
Builders are learning how to create software themselves but programmers of old still have an edge. When you strip away the friction of memorising syntax across a dozen languages and frameworks, a programmer's habits – decomposing problems, spotting edge cases, questioning assumptions, and iterating relentlessly – become force-multiplied.
The language has changed but there is still a technique to the words and the thought of what goes into them. The spells aren't written in arcane syntax anymore – they're woven out of clear thinking, structure, and intent.
So… what's a programmer?
A force-multiplied weaver of spells.
Article published on: 29 Oct, 2026