I used to teach people to code. Looking back, there's an absurdity I can't shake: I was teaching students to write code by hand while the tools that write code for them were getting better every month. "Here's how a for loop works. Here's how to sort an array." AI already does that better than any student ever will. So what should a coding classroom look like when the machines write the code?
Nobody speaks Latin anymore. But we still learn it, not to use it, but to understand the structure underneath everything else. I think programming languages are heading the same way, and Python is the clearest example. Not the only readable language, but the closest thing to pseudocode that actually runs. for item in list reads like English. No semicolons, no braces, no ceremony. The syntax gets out of the way so you can see the structure. That's not what makes a great production language, but it's what makes a great teaching language. A language for recognising patterns. For thinking in algorithms.
The generous reading of what I was teaching is that it was thinking, not code. Problem decomposition, logic, systems reasoning. Code was just the medium. The honest reading is that most curricula teach code, not thinking. That gap is about to matter.
So if writing code becomes automated, what remains? Problem definition, because AI can write the solution, but can't decide what the problem is. Systems thinking, because knowing why you'd choose REST over GraphQL matters more than implementing either. And reading. Most AI-generated code will ship without a human ever looking at it. Joseph Ruscio calls this "write-only code." Reading becomes triage. You focus on the parts where being wrong hurts the most, and you skip the rest. Python, the most readable language that exists, is the best training ground for that kind of judgment. The theoretical is the practical now. Knowing what a B-tree is won't help you write one faster than AI. But it'll help you understand why your database is slow when the AI-generated query chokes.
But here's the thing. To have taste and judgment about code, you probably need to have written some. You can't triage what you don't understand. So the answer isn't "stop teaching code." It's "teach code the way we teach writing." You learn the fundamentals to think in the medium, not because you'll hand-write everything forever. You develop a sense for where the mistakes hide.
It might be the last programming language humans learn to write. Not because it's the best language, but because it's the best thinking tool.
Twenty years from now, will we look at Python the way classicists look at Latin? A dead language nobody regrets learning.
Follow our bi-weekly SaaS show
Fast, honest insights from the trenches of SaaS. Andreas and Sjimi, partners at madewithlove, share what they’re seeing inside real SaaS teams and products every two weeks.
Member discussion