The Employment Theater of AI Code Review

The Employment Theater of AI Code Review

3 AM. A senior developer stares at the monitor, eyes red. On screen: a massive diff. The AI generated five hundred lines of code in three seconds. Now our hero is spending half an hour reading every single line — checking brackets, variable names, indentation. In their head: "This is real engineering work."

From the outside — surrealist tragicomedy: the AI spent a moment, the human spent thirty minutes reading the output. Meanwhile, this same developer refused to spend five minutes before running the model to write clear acceptance criteria, boundary conditions, and an automated test that would verify the code in milliseconds.

The pattern is everywhere.

The paradox

Smart, experienced engineers choose slow, ineffective micromanagement of machine output over effective goal-setting. Organizations deploy AI tools expecting a 10x productivity gain. What they get is a developer who became a human linter for the neural network.

The gap is real. One case: a founder with deep domain expertise in warehouse logistics rewrote a 10-year codebase alone. Six months later — zero system outages, 10–15 deploys per day during business hours, a two-week team sprint closing in 10–30 minutes.

The key: they knew exactly how to specify tasks. Deep domain knowledge meant requirements could be written precisely enough that the agent delivered the right result on the first pass.

Did they then read the generated code line by line? No. They built criteria and verification systems.

The developer who sets tasks precisely is a different role entirely from the developer who reviews agent output.

Root cause one: employment theater

For decades, professional value in engineering was measured by physical actions — keystrokes, file scanning in the IDE, catching typos, strict PR reviews.

When an engineer furrows their brow and stares at code, they send a signal to the room and — more importantly — to themselves: "I'm doing hard intellectual work. I'm producing. I'm valuable."

Criteria look like nothing. You can spend half an hour staring out the window, thinking through non-functional requirements, failure scenarios, data validation rules. From the outside — and in the developer's own internal monologue — this looks like doing nothing. The guilt creeps in: why am I being paid if I haven't opened the editor?

Reading code becomes a safe harbor. A perfect simulation of busy-ness that protects against the fear of being caught "not working." This is employment theater — visible activity replacing invisible but real work.

Root cause two: identity crisis

There's a deeper layer.

Engineering culture spent years building a cult of the craftsman. Developers grew accustomed to seeing themselves as the only real creators — while the people who write specs, gather requirements, and formalize acceptance criteria (the PMs, the analysts) were second-tier support staff. The jokes about "useless managers who just move Jira cards" were standard locker-room material.

Then the AI era arrived. Someone told the developer: "Look — writing basic code is now a machine function. Your new role is to decompose problems precisely, define interaction contracts, write success criteria, and validate results."

At that moment, something short-circuits.

Accepting this role means acknowledging that you now need to do exactly the work you've been dismissing your entire career. The engineering ego resists: "I'm a creator. I write code. I'm not writing specs for a machine — I'll just read through what it generated, line by line."

This is identity defense, not a rational choice.

The trap

Reviewing AI-generated code by eye is an illusion of control — and not just slow.

The human brain reliably misses subtle architectural bugs and memory leaks in beautifully formatted AI output. What sets in is a trust hallucination: it looks clean, it must work. AI-generated code often reads better than human-written code — consistent formatting, conventional naming, no personal quirks in structure. The brain reads "clean" as "correct." That's the mechanism of the trap.

The result: the developer ends up in the worst of all worlds.

  • Burning out from reading endless machine output.
  • Losing the speed they were promised by the AI tools.
  • Performing the least valuable function in the system — human linter.
  • Missing the exact bugs that an automated test would catch immediately.

A closed loop: fear of writing criteria → reading code instead → missing real bugs → losing faith in AI → more manual review → more burnout.

What engineering work actually is

Real engineering was never about typing or reading syntax. A real engineer designs constraints, builds verification systems, and knows how to articulate quality criteria. Writing code was always the implementation method — not the substance.

Which is more valuable: a developer who can write the right code themselves? Or a developer who can describe a problem so precisely that any tool — an AI model, a junior engineer, an outsourced team — delivers the right result on the first try?

The second scales. The first doesn't.

When an engineer stops feeling ashamed of time spent formulating criteria and drops the employment theater of git diff reviews, the AI stops being an unpredictable text generator and becomes a reliable executor.

Engineering identity doesn't disappear — it upgrades.

The tool grew. The role grew with it.

Leave a Reply

Your email address will not be published. Required fields are marked *