I went from solving my own problems to opening an agent before I had even thought about the problem. This is the honest update: I’m programming without AI again.
Not because AI writes bad code. It doesn’t, most of the time. Not because I’m nostalgic either. I’m doing it because I noticed what I was losing, and it wasn’t productivity.
What dependency looked like
It crept in slowly. First AI was a better search engine. Then it was autocomplete on steroids. Then, one day, I realized I was describing what I wanted and reviewing output, like a manager of my own codebase. I wasn’t reading documentation anymore. I wasn’t holding whole systems in my head anymore. The parts of programming that I actually loved, the thinking, were exactly the parts I had outsourced.
The uncomfortable truth is that AI didn’t make me a worse programmer by itself. I simply stopped training the skills it was replacing.
What I’m doing now
I write the code. When I get stuck, I do it the old way: read the docs, read the source, write a small test, think. It’s slower. Noticeably slower, especially at the beginning, because those muscles had atrophied.
But something else came back. I understand every line I ship. When a bug appears at midnight, I know where to look, because I wrote the system and I know why each decision is the way it is. The codebase is mine in a way it hadn’t been for two years.
The tool I actually want
To be clear, this isn’t a manifesto against machine help. I still think there is a version of this that works, and nobody has built it properly yet. I call it supervised coding, and the rules are simple:
- I own the code. The tool never edits files on its own.
- I program. The tool answers questions, explains, points at things. Like a colleague sitting next to me, not an intern taking over my keyboard.
- Nothing gets merged that I couldn’t have written myself. If I can’t explain it, I don’t ship it.
Think of the difference between a co-pilot and an autopilot. What we got sold was an autopilot. What I want, and what I’m building my workflow around, is the co-pilot.
Slower on purpose
There’s a tradeoff and I won’t pretend there isn’t one. AI-assisted, I could scaffold a feature in an afternoon. On my own, it takes longer.
But most of what I shipped fast, I also abandoned fast. The projects that taught me something, the ones I kept, were the ones I struggled with. The struggle turns out to be the product.
So that’s the update: programming without AI again. Not forever, maybe. The ideal is the supervised version, where the machine helps me think instead of thinking for me. Until someone builds that, I’d rather be a slower programmer who understands his own code.
Written with AI assistance. I plan to rewrite it by hand.