Back to Blog
7/6/2026Author: Tibo

The AI Wrote It. You Signed Off on It. Now It's Yours.

Not long ago, a line of code broke in production. I didn't write it... Claude did.

The code looked completely fine. It ran and passed every test. It was clean, well-formatted, and reasonable. None of that mattered when it broke, because it shipped in my codebase, under my name. "The AI wrote it" was not something I could say when it came time to explain what happened.

We're at a point where AI is a baseline in the software industry. A ticket that used to take a couple of hours can now be fixed in a fraction of the time. But even though you don't have to write the code by hand anymore, you still have to understand it as if you did. The code that gets generated ships in your name, under your responsibility, and there's no way to argue with that.

**The Excuse That Never Worked**

"The AI did it this way" should not be an excuse when something breaks.

This is not new. Stack Overflow used to be the holy grail for developers, the place you went when you were stuck on something you didn't know how to solve. Some people copied code from there and, when it broke, said "I just copied it." That excuse didn't work then, and it doesn't work now. AI-generated code looks good, correct, and plausible. That will never be a reason to trust it blindly.

Authorship and accountability have never been the same thing. Somewhere along the way, AI made that easy to forget, because the code arrives so fast and looks so complete that it feels like it came from somewhere outside the normal process. It didn't. It came through the same door everything else does. You just opened it.

**What "Signing Off" Actually Is**

Accepting a suggestion. Merging a PR. Running a script someone else generated. These all feel like small actions. One click, one keystroke. Barely a decision at all.

But each click is the moment ownership changes hands. Before you accept the code, it belongs to the model. After you accept it, it belongs to you: in your codebase, under your name. Nothing about the code changes in that moment. What changes is who is responsible for it.

**The Gap Between "Looks Right" and "Is Right"**

Most developers do review AI-generated code. The problem is what review quietly turns into when the code in front of you already looks clean, well-formatted, and reasonable.

It's easy to scan for the obvious stuff: does it run, do the tests pass, does the syntax look sane. That's a real check, but it's a shallow one. It answers "does this look like working code" without ever asking "does this do the right thing, in this system, for this problem." Those are two different questions, and only one of them matters when something breaks later.

That's exactly how my bug got through. The code ran. It passed the existing tests. It was also missing a condition that only mattered in a situation the tests never covered, one I would have caught if I had read it as carefully as I read code that feels less finished. The more finished code looks, the less carefully we read it... and that's the trap.

**Who Gets the Blame**

When something breaks in production, nobody asks who typed the original lines. They ask who approved the change, who merged it, who let it ship. That question has always pointed at a person, and it still does, even when a model generated every character of the code.

This was never really about blame. Responsibility never lived in the hands that typed the code. It lived in the decision to let that code represent your system to the rest of the world. AI changed who does the typing, but it did not change who makes that decision.

As Uncle Ben said, "With great power comes great responsibility." AI gives us more power than we've ever had. The best way to handle the responsibility that comes with it: keep AI tasks small enough that you can fully understand, review, and stand behind every change you ship.

**It Was Never About Who Typed It**

I didn't write the line of code that broke. But I approved it, I ran it, and I let it ship.

That makes it mine, in every way that matters.

The uncomfortable part isn't that AI writes code you didn't write yourself. Developers have shipped code they didn't fully write for years: libraries, teammates' code, templates. The uncomfortable part is how easy it became to treat the approval step as a formality instead of what it actually is, the point where you take ownership.

"The AI wrote it" was never going to be an explanation. It isn't one now. The explanation, if there is one, starts with what you did after the AI was done.


If you want the mental models I use to work with AI to reduce issues like this one, that's exactly what I teach in The Developer's AI Productivity Blueprint. It's out now, and 30% off through July 9.

Get the Blueprint

It isn't about mastering a specific model that might be outdated next month. It's about building a way of working that stays useful no matter how the tools evolve.

Tibo, creator of Devmystify

Tibo

Hi, I'm the creator of Devmystify and author of Modular Rails and Master Ruby Web APIs.

I built a 6-figure consulting business while living in Thailand and now share practical advice on freelancing and developer side hustles.

Comments

Loading comments...

Level Up Your Dev Skills & Income 💰💻

Learn how to sharpen your programming skills, monetize your expertise, and build a future-proof career — through freelancing, SaaS, digital products, or high-paying jobs.

Join 3,000+ developers learning how to earn more, improve their skills, and future-proof their careers.

The AI Wrote It. You Signed Off on It. Now It's Yours. | Devmystify