Why I Stopped Using AI to Write My Code (And Started Using It Right)
For a while, I let AI write most of my code. Prompt the model, paste the diff, run it, fix what broke, move on. It felt fast. It wasn't.
Two months in, I noticed something uncomfortable: I couldn't debug my own projects without the AI. I knew what the code did, but I had no mental model for why it was structured that way. The moment something subtle broke — a race condition, a stale cache, a weird production error — I was lost.
The trap
The trap is that AI is excellent at producing plausible code. Code that compiles, runs, passes a casual eye-test, and ships. But plausibility isn't the same as understanding. And in any project that lives more than a few weeks, your ability to understand the codebase compounds. Or it doesn't — and you fall behind your own software.
What I changed
I stopped asking AI to write code. I started using it the way I'd use a smart colleague: to challenge my approach before I wrote the code. Three prompts I use constantly now:
- "What's the simplest version of this that would work?" — kills overengineering before it starts.
- "What am I missing here?" — surfaces edge cases I haven't thought about.
- "What would break in production?" — forces a different angle than the happy path.
Then I write the code myself. Slower? Sometimes. But the code I ship now I actually understand — and when something goes wrong at 2am, I can fix it without prompting anything.
The honest tradeoff
Using AI to write code is faster for one-off scripts, prototypes, and throwaway work. Use it there freely. For anything you'll maintain — your SaaS, your portfolio, anything you'd be embarrassed to debug in front of a colleague — the slower path is the faster path.
I'm writing this from the middle of building my first SaaS. The code is mine. The thinking is sharpened by AI. That's the balance I wish someone had told me 12 months ago.