I'd been coding with Claude Code for a while before this. I honestly can't remember which model.
It was good. But every time I started a new session, it felt like I was dealing with a brand new developer. Day one, every day. It didn't know what we'd already built, so it built it again. Helpers got rewritten. Logic got copied. Things were duplicated all over the place, and it was very, very hard to unwind. I had a coding style written down and everything. Didn't matter. Trying to refactor a big codebase to be DRY with it was miserable.
That honestly scared me off a little. It felt like a real warning: maybe AI is a bridge too far right now. Maybe it's a liability that just creates mess faster than I can clean it up.
Then Opus 5.5 came out, and it completely flipped.
What changed
It understands the code. Not "it can read a file." It gets how the thing fits together. I don't even need to write a big CLAUDE.md anymore. I start a new session and I don't worry that it's going to reinvent the wheel. I just let it cook.
On a greenfield app, it bakes in all the stuff that makes a project hold up: structure, tests, efficiency. The stuff I know I should do and usually don't.
The parts I love most, in no particular order:
- Unit tests. I never have time to write these. Now they just exist.
- Documentation. I never have time to write this either, and frankly, I suck at writing it. (Yes, on a blog. I'm aware.)
- Decisions. It keeps a record of why things were done the way they were. That's a huge bonus, and it's basically free.
- It gets the goal. It understood what I was trying to accomplish and pointed out better ways to do it than I'd pictured.
It was jaw-dropping, in a "wow, this is never going to be the same" kind of way. I no longer need to write the code.
The moment it clicked
I'm building a personal finance app to replace a Google Sheet. It's hosted on Azure, and I noticed my bill was too high. So I asked something like: "Quick question: does the unauthenticated home page hit the database to log page views?"
Its answer, paraphrasing: Let me guess. You're hosting this on something like Azure with a database that goes to sleep to save money. Random traffic to the home page keeps waking it up, so you're effectively paying for an always-on database when you thought you had auto-pause. We can queue those writes in memory or on disk and flush them to the database when you log in.
Which was exactly right. And exactly the fix I had in mind.
Looking back at my question, sure, it's kind of obvious. But it went from "does this page hit the database" to "your serverless database can't pause and that's your bill" in one step.
The weird part
Since then I took on a legacy codebase for work: a WordPress site with a React theme and a decent amount of custom features. I'll leave it at that.
Opening it, the feeling had flipped. I used to be cautious about code that was written by AI. Now I was cautious about code that wasn't. I could just imagine all the debugging that went into it by hand.
It was built by a consulting company. And that "new developer every session" problem I had with Claude Code before 5.5? That was the reality here. Every new feature got assigned to a person who had never seen the codebase before.
And guess what you get when that happens.