Writing ·

The Inverted Interface

We bolted a non-deterministic machine into an interface built for a deterministic one, then went looking for the trouble in the model. It isn't a tuning problem — it's an interface problem: what do we hand the machine, and what stays ours to decide?

Most companies are adopting AI faster than they are learning what to do with it. Most developers are spending their days trying to fit into that — fitting the tool into the work, or fitting themselves back into a job that suddenly has a coworker who never sleeps. The public argument is about how far to trust the thing: how autonomous to let it run, what it costs per token, whether the code holds up.

That is the wrong argument.

We inherited an interface built for a deterministic compiler and bolted a non-deterministic one into it without redesigning anything. Then we went looking for the trouble in the model. The interface isn’t backwards. It’s backward-compatible — with a world that no longer exists.

Software engineering with AI is a new thing, and it turns on one question: what do we hand the machine, and what stays ours to decide? That is an interface problem, not a tuning problem.

You’re the architect

Digital development has always sat at different levels of abstraction. A compiler turns a higher-level language into machine code, and nobody reads the machine code it emits — because a compiler is deterministic. Same source, same output, every time.

Natural language is the next level up: you say what you want, and the machine compiles it into code. But this compiler is not like the others. Ask it the same thing twice and you can get two different answers. That one difference changes everything. For the first time in the climb, the output has to be read — someone has to stand at the new interface and check what came back.

An architect doesn’t argue with their CAD software, and doesn’t defer to it. They configure it, operate it, and remain the author of the building. The drafting labor happens inside the machine; the design happens in the architect. Nobody confuses the two.

That is the interface we’re reaching for. The AI is the CAD — a power tool for the drafting labor of software, the tireless production of code. You are the architect: you decide what gets built, and whether what came out is what you meant. The tool became far more capable. The authorship didn’t move.

An old pattern, a new interface

Pairing with the AI is one thing; operating it as a tool is another, and it needs a different pattern. Engineers have a name for the fix, and it is not reversal. Reversing the arrow — human out, machine in — keeps the broken part and swaps the hand on it. The fix is inversion of control. You don’t hand the work to the human or to the machine. You hand it to the frame around them, and let the frame call each one only when it should be called. The machine becomes what it was built to be: a tool among tools, picked up when there is something to move. The person remains the creator and the author — the one deciding what gets built and whether it’s right — simply working at a new level of abstraction.

There is a hard reason it runs this way and not the other. A line long attributed to a 1979 IBM training slide has outlived almost everything else from that decade: a computer can never be held accountable, therefore a computer must never make a management decision. (The line is apocryphal — widely circulated but unverified, with no record in IBM’s own archives — but the principle holds.) A tool can answer for nothing. Give it the gate and you have not delegated the decision — you have abandoned it. The seat at the gate is the one seat a tool can never take.

The job is choosing

Give the machine the work it is good at and the list is short. It writes code, tirelessly, and well. It can hold more of a system in view at once than a person could, and it never tires. That is the pushing — the energetic labor of the thing — and the tool is genuinely built for it. Let the tool push.

What is left over is not labor. It is choice: the informed decision at the boundary that turns motion into direction. This is the part worth slowing down for, because it is where the reflex goes wrong. The gate is not where you watch the work. It is where the work takes its shape.

The inversion is natural

None of this asks a developer to become something new. It asks them to do the oldest part of the job and to stop being interrupted by the newest.

Strip the typing away and look at what good engineers always did. They wrote the design down before they built it. They reached for patterns — decisions someone already made well, kept ready to reuse. They said what they meant precisely, because a vague sentence is a bug filed upstream. They thought in systems. Every bit of that is gate-work — deciding what gets built. The code was always downstream of the deciding, the work moving once the choice was made. The inversion doesn’t remake the developer. It hands the pushing to a tool built to carry it and gives them back the part that was theirs the whole time.

The same choice, a different craft

And it is not only code. Watch a writer work with the same tool and the same choice appears. The tool can draft tirelessly; the writer can let it, and wake up an editor of prose they never wrote — back to the labor by hand. Or the writer keeps the pen and lets the tool do what it is good at: surface the buried connection, check the fact against the record, flag the line that’s gone slack. The pen is the gate. A different craft, the same choice.

Moved to the gate

A tool asked to carry this much of the work has to be built to carry it. One that forgets everything between sessions can’t hold the context the whole stance depends on — you’d be briefing a stranger every morning, re-explaining the project before any of it could move. So the frame you handed the work to has to be made concrete: something that keeps the context, holds the method, and lets the tool run between your decisions without losing the thread. That is harder to build than it sounds — and it is the thing that decides whether the whole inversion holds in a real project or collapses back into that morning briefing. Get it right, and the gate becomes a place you can actually stand.

Notice what this does to the shape of the work as the tool improves. Your effort tracks the decisions you make, not the volume the machine produces — and the leverage is in their depth, not their count. A few dense, well-connected judgments, made in a small space of thought, can fan out into an enormous amount of built software. Every gain in the machine’s power just raises the place you decide from, and widens what each decision reaches. You are not being automated toward the exit. You are being moved to the gate.

inverted interfaceaisoftware