AI code arrives looking finished, which is exactly why it slips through unreviewed. Read it like a pull request from someone you have never met.

The trap with AI-generated code isn’t that it looks rough. It’s that it looks done. It’s formatted, it’s confident, it runs on the happy path, and every instinct says ship it. A junior developer’s first draft looks like a first draft, so you review it. The machine’s first draft looks like a senior’s final, so you’re tempted not to. That’s exactly backwards.
The fix is a mindset: read every AI output as if a stranger you have never worked with sent it as a pull request.
You would never merge a pull request from someone new without reading it properly. You would check the edge cases, the error handling, the thing it quietly assumed, the second real use case it never considered. Give AI code exactly that scrutiny, because it has exactly that unknown provenance. It didn’t absorb your context, your conventions, or the reason this corner of the system is weird.
Treat AI code as a proposal from a talented stranger, never as a verdict from a trusted colleague.
This is the practical version of a point I keep coming back to: AI is a great junior and a dangerous senior, and its calm confidence is the whole risk. The review step is where you keep its plausible-but-wrong output from becoming your production incident, and it’s a core part of how I actually work day to day, which I laid out in how I actually build with AI.
Let AI write freely, then review its work like it came from a stranger, because in every way that matters, it did. The speed is real and worth having. The judgment at the review step is what makes the speed safe. If you want a second opinion on where AI fits safely in your own build, I’m glad to talk it through.
New writing on how the web actually gets built, plus the free pixel wallpaper pack when you subscribe.
Related reading
Based in Manila, working with teams across time zones.