Retrospective

My AI engineering journey

From typing every line to pipelines that start themselves.

Stage01 / 10
RoleTypist
Trustn/a

People ask me which tools I use. It is the wrong question, and the honest answer is that the tool almost never mattered. What moved me from one stage to the next was hitting a wall I could not get around, every single time.

So this is ten walls, in the order I hit them. Two things kept shifting the whole way down: how far I trusted what came back, and what was actually left for me to do.

Role
  1. typist
  2. editor
  3. director
  4. coordinator
  5. orchestrator
  6. platform builder
Trust
  1. ignore most suggestions
  2. rewrite everything
  3. verify everything
  4. check actively
  5. spot check
  6. trust the pipeline

Era 1

Assisted coding

I write it. The model guesses what comes next.

Stage 01Typist

By hand

There is a version of me who typed every character of this codebase, and it is not far back. The editor knew the shape of the file. It knew nothing about what I was trying to do with it, so the most it could offer was a name I had already used once. Everything past that was memory and speed.

Stage 02Typist

Autocomplete

Then the editor began finishing the line I was halfway through. Right often enough to leave in, and never more than the line I was already on. My afternoons got a bit shorter. How I worked did not move at all.

Stage 03Editor

Whole blocks at a time

Suggestions grew from one line to five. A five line guess is wrong far more often, and being wrong turned out to be worth something: even a miss showed me the shape of the answer, and rewriting from a shape beat starting from nothing.

That is where my job changed hands without anybody saying so. I stopped writing the first draft. I started marking one.

Stage 04Editor

Chat beside the code

A panel next to the file, and the first time one of these felt like a colleague instead of a keyboard macro. It was also wrong about a third of the time, and it sounded exactly the same wrong as it did right. Nothing it said counted for anything until I had gone and checked it myself.

Era 2

Agentic coding

It does the work. I decide what the work is.

Stage 05Director

The first real agent

Claude Code. It opened the files itself, edited them, ran the suite, then read what the suite said back. Plenty of what it wrote that first month was wrong. The new part was that it found out it was wrong and went back, which nothing before it had ever done.

I was steering at almost every step. It is the stage where all of this stopped being autocomplete with a bigger window.

Stage 06Director

Letting go of the diff

Better models, and more to the point, better scaffolding around them. Instructions it genuinely reads. Skills for the jobs that come round every week. Subagents that go and find things, so the main thread never fills up with search results. A test suite with the final word.

Once it started checking its own work before handing it over, I stopped reading diffs and started reading outcomes.

Era 3

Parallel agents

More than one at a time, and I am the scheduler.

Stage 07Coordinator

Juggling sessions

Two or three sessions planning while a fourth writes code, and the second the coder finished I set it going again on whichever plan was ready.

I held the whole schedule in my head, and I held it there for exactly one reason: two agents in one working copy will cheerfully edit the same file and hand me the mess.

Stage 08Coordinator

A checkout each

Git worktrees. Every agent gets a checkout of its own, so no two of them can reach the same file, and the juggling act I had spent months getting good at simply stopped being necessary. Six terminals open, all of them moving, none of them aware of each other.

Era 4

Autonomous agents

The work opens its own sessions.

Stage 09Orchestrator

Nobody presses start

The last job left that only I could do was press start. So I gave that away as well. Schedules and webhooks open the sessions now, and things turn up already finished.

The weekly numbers get pulled, written up and posted into Slack before I am awake. What the report finds becomes an issue. The issue becomes a pull request. Some Mondays my first hour is spent reading work that happened without me.

Era 5

Platform

It stops being a thing I have and starts being a thing we run.

Stage 10Platform builder

Off my machine

Where I am now. All of it is coming off the one machine. The prompts, the skills and the scheduled routines get written once, kept somewhere shared, pointed at whichever repository needs them, and run on hardware nobody has to leave awake.

That is the point this stops being a personal habit and becomes something a team can be handed. It is the work sitting on my desk this year.

I am here.

Ten walls, in order

Every stage, and the thing that put an end to it.

#StageMy roleTrustBottleneck that ended it
1By handTypistn/aHow fast I typed
2AutocompleteTypistIgnore most suggestionsNever questions the line
3Whole blocks at a timeEditorRewrite everythingTake it or leave it
4Chat beside the codeEditorVerify everythingReads, cannot touch
5The first real agentDirectorCheck activelyCannot look away
6Letting go of the diffDirectorSpot checkOne thing at a time
7Juggling sessionsCoordinatorSpot checkI was the scheduler
8A checkout eachCoordinatorSpot checkI ran out of attention
9Nobody presses startOrchestratorTrust the pipelineOne laptop, one codebase
10Off my machinePlatform builderTrust the pipeline(open)

Stage 5 onwards is what the class teaches. Not the tools, which change every few months, but the thing underneath them: how to hand work to an agent, how to prove it is right without reading every line, how to run more than one at a time without becoming the bottleneck yourself, and how to turn any of that into something a team runs rather than something you run.