[BACK]
Uncle Ben sitting in a car talking to Peter Parker in Spider-Man

Great power, no responsibility

My coworkers have become a bit of a pain to work with.

Not in the usual ways. I mean, yes, those too, but you get those anywhere you work, forever. This one is newer, and it isn’t subtle. Nobody hides it, and somehow nobody says anything about it either.

It’s how they use AI.

Superpowers come with a catch

Coding with AI feels like a superpower. I sit down with it and I feel unstoppable. Boilerplate I used to spend an hour on is done in a minute. Unfamiliar codebases open up faster. That one regex I always have to look up? Solved. Debugging barely feels like debugging now. I paste the logs in and that’s it, no googling, no reading through five threads, no picking apart a stack trace line by line.

But with great power comes great responsibility (and there’s never been a better week to quote it, the new Spider-Man movie is out, that’s Uncle Ben at the top of this post, and I’m seeing it this weekend). Everybody memorized the first half of that quote, but nobody wants to hold up their end of the second.

And I’ll admit, I lean on it a little too much sometimes. Okk, a lot of the times. I’ll be deep in an ultracode session with Claude Code, watching it fan out a fleet of agents across one task, while I’m already in a second terminal prompting and planning the next thing. Switching between terminals. Two, three jobs in flight at once. Feeling like an absolute machine.

Then I get a feeling in my gut. I pause. Hands off the keyboard. Sit back.

So what did I actually just build? Not what I asked for. What I got. Half the time I can’t answer that, which is exactly the problem. Then I go read it, all of it, slow, the way I would if I’d typed every line myself. Because in three months when this breaks, nobody is going to ask Claude about it. They’re going to ask me.

That’s the responsibility part, and it isn’t a noble thing. It’s self preservation. I don’t want to be the one standing in front of a broken service with no idea how it works.

So I keep my end of it pretty simple. I read and test the code it writes for me before anybody else has to, and I read the diff myself before I ask it what I missed; that way it’s a second pair of eyes and never the first. Held up imperfectly most days, but held up.

But at work, almost nobody else is holding up theirs. Whatever comes out of the box gets forwarded to me unread, and I end up being the first person to actually look at it.

The small version of that is a question I asked in chat.

Yes or no

I asked somebody at work a simple question.

What’s the API endpoint for this thing, and is it working?

That’s the whole question. I know there’s an endpoint, I just don’t know which one, and it isn’t mine to poke at. Somebody who owns it settles it in one line. Yes, here it is or No, not working.

The typing indicator comes on. It stays on long enough that I give up and start something else.

Then it lands.

Great question! Endpoint availability depends on a few factors, so let’s break this down.

1. Locating the endpoint. API routes are typically declared in your routing configuration.

2. Confirming availability. Issue a request and inspect the status code. A 200 indicates success.

3. A note on environments. An endpoint may be reachable in one environment and not another.

Would you like me to walk you through writing a curl command?

In chat. In response to me asking which URL to hit and whether it was up.

Like. Bro.

I asked for a URL and a yes or no but instead I got a whole ass preamble. Three action items, a lesson on what a 200 means, and an offer to teach me curl. Still no URL, because they never checked. They didn’t do one single thing on the list they just sent me.

And it could have actually answered me. They have Claude Code too. It could have grepped the routes, curled the thing, and handed them a status code before they finished reading that first bullet. They didn’t ask it to check anything. They asked it to explain. Then they forwarded me the explanation.

And this wasn’t a one off. My question goes in, whatever comes out gets pasted back, and that’s the entire process every single time. I could set a watch by it.

So now I write my questions differently. Front loaded with instructions, before I even get to the thing I actually want to know. Answer in one line. No steps, no tradeoffs, no options. Done, not done, or in progress.

And it isn’t only about getting the answer out of them. Half of what I tack on is there to force honesty. If you haven’t checked, say you haven’t checked. If you don’t know, say you don’t know. Don’t fill the gap with something that sounds right, because a confident wrong answer costs me an afternoon, and I’m always the one who finds out.

Which is a prompt. I’m writing prompts. For a person. I’m aiming past them at whatever they’re going to paste this into, low key prompt injecting my own coworkers so their AI hands me something short and true.

And it works. I hate that it works. I get straighter answers out of people I’ve sat in standup with for months when I write to them like a system prompt, and I really wish I didn’t know that.

“AI has a point though”

A question is the easy case. There’s a real answer sitting at the end of it, and if I have to write around somebody to get at it, fine, I’ll write around them.

Then it started happening in places where there’s nothing to go look up.

A colleague and I got into it over a spec. They wanted to add things that read as thorough in a document and turn into a year of maintenance nobody signed up for.

So we argued. Properly. I brought the times I’d built something like this and watched where it went wrong. They brought theirs, and it was good. The kind of disagreement where somebody might actually change their mind.

Then the screenshots started.

Screenshots of Claude, dropped into the thread, because highlighting and copying was apparently too much effort. I could see the prompt they’d typed to get it.

So I poked at it. Fine, go ask your Claude how you’d even implement this. That was rhetorical. The proposal fell apart the second anybody described how it would get built.

They came back with the implementation plan.

Another screenshot, of course, and it was bad. Wrong in ways anybody who had ever touched the service would catch in four seconds. So I told them I wasn’t reading all that, because it was obviously AI.

And they said the AI had a point though.

Are they for real right now?

What do they mean it? I wasn’t arguing with it, I was arguing with them. They had the opinion twenty minutes ago, back when they were saying things I had to stop and think about.

That’s when it clicked. They hadn’t outsourced the answer, they’d outsourced their side of the disagreement. Every time I pushed, they went and got reinforcements, then stood behind them like they’d built them.

And they weren’t embarrassed. Not a flicker. Because look, the AI agrees. It had stopped being a tool they were using and become a source they were citing. Scripture. How do I argue with scripture.

I could not care less what Claude thinks about their spec. It has never been on call for this, and it agrees with whichever way they framed the question. And they framed the question.

I wanted to hear from them. They had a real reason for those additions. That reason was worth arguing with. This isn’t.

“Hey Claude, review this PR”

That spec was still theirs, at least. Their document, their side, their call how much of the thinking they felt like doing themselves.

Then it showed up on my code.

I dread PR reviews now. All of them, every time.

Reviewing PRs is a chore. I do it anyway, and I get why you’d rather not. What I dread is opening my own PR to see what got left on it, because I already know what I’m going to find. Somebody typed “hey claude review this pr” and sent back whatever came out.

And at first this was fine. I want to be fair about that, because in the beginning people were using it the way you’re supposed to. They ran it, they read what came back, they passed along the parts that held up. It catches real bugs. It spots the off by one that three people read past. A little pedantic for my taste, but that’s fine, some devs I know review exactly like that.

Then people stopped reading before they posted. Comments about things that weren’t in the diff. Comments about things that were in the diff and were not wrong. Comments that were confidently and provably incorrect about how our own code works.

And the whole time, missing the thing that actually mattered. Which honestly makes sense given what it was handed. The code read fine. It built, it passed, the naming was clean, the structure was reasonable. It just did the wrong thing. That is not a bug you catch by reading a diff. That’s a bug you catch by knowing what the feature was supposed to do in the first place, and it never knew that, because nobody bothered to tell it.

And the tone doesn’t help. Pedantic and certain, flatly declaring my code wrong. A person could have checked that, or softened it, or not posted it. Instead it sits in my thread under a human name, incorrect, and I’m the only one who has read it. Now I get to explain why comment four is nonsense.

And look at the shape of it now. Somebody has AI write the code. Somebody has it write the description. Somebody has it review the code. An ouroboros, all the way around, and at every step a person waved it through without reading it. Somewhere in there is the one bug only a person was ever going to find, sailing straight through with nobody looking for it.

You’re still the expert

This happens at work, the one place I don’t get to opt out of. I message somebody I’ve worked next to for months, and what comes back has been through a machine on the way, and I can feel the hole where they used to be.

And I get the pull. It’s so nice to hand your work to something that just does it. No friction, no staring at the problem, no sitting in the discomfort of not knowing yet. Some days I lose to that too.

So this isn’t about using less AI. Use as much as you want, I do, probably more than most of you. Just stay on the hook for it. Read it before you send it. Know what you shipped. Be the one who can answer for it in three months when it breaks, because that’s going to be you either way.

You’re still the expert. You were in the meeting. You watched it break in staging. You know why that hack is there because you are the reason it’s there. Nothing about that changed when the tool showed up.

I really hope nobody I work with knows this blog exists. If one of you found it and made it this far, hi. This is about somebody else, obviously.

---

Subscribe to get an email when I publish a new post. No spam. I promise! Or use RSS.