Working code is free now. Knowing what good looks like is the job.
A client who now ships working software every week sent me a message that stops the whole AI conversation in one line: "Problem is, I need to learn to identify what good looks like."
He is not an engineer. Eighteen months ago the software he needed either existed or it didn't. Today he describes what he wants and gets a working version by the afternoon. He is delighted with the results, and he should be. Then came the message above, and it deserves to be taken more seriously than any benchmark, because he found the ceiling by hitting it. He can produce working endlessly. What he cannot yet do is tell working apart from good. Neither can the model.
A ladder with three rungs
Works. The report runs. The numbers come out. This used to be an achievement; it is now the floor. Any clear description plus a capable model gets you here, which means everyone gets here.
Good. Works, in the leanest form that works. Fewest moving parts, fewest layers, nothing you cannot explain. Good has a test: could you remove something and keep the behaviour? If yes, you are not there yet.
Great. Good, plus care that nobody asked for. You do not reach this rung on demand and no model reaches it at all. Great requires being in love with the process, and it is fine to not need it. Most software should stop at good.
The middle rung is the one that matters commercially, because it is the one people skip without noticing. "It works" and "it works and it is the leanest thing that works" look identical in a demo. They stop looking identical about a year later.
The pound cake problem
Mid-century cookbooks were honest about their signature dessert: the pound cake, named for a pound each of butter, sugar, eggs and flour. The cake is magnificent. Eat it every day and year ten arrives with a cardiologist. Nothing on the plate warns you; every individual slice is genuinely delicious.
That is precisely the failure mode of AI-built systems, and it is why the judgment layer is becoming the premium. A model choosing between ten implementations is choosing between ten slices of cake: all of them are good short term, and short term is the only term the model can taste. The query that works today gets a layer added next month, and another, until the report that used to load starts timing out and nobody can say which decision did it. The decisions were all fine. The compound was fatal.
Generation is free. Judgment about what compounds is the scarce input, and it is getting scarcer as generation gets cheaper.
The discipline this implies is not "optimise everything." It is: know which parts of your system compound and hold those to good, then tolerate imperfection everywhere else. Money paths, state, anything another system builds on top of: leanest form, understood completely. The rest can be cake.
The pilot test
The rule I hold myself to: I can fly London to Paris on autopilot, but only if I could take the controls when the autopilot cuts out. Applied to software, the question is "do I understand this code?" If yes, delegate freely. If no, the task is not to stop delegating; the task is to go understand it.
Stated absolutely, that rule is impossible; nobody comprehends every layer of a modern stack, me included. So it works as triage. Full comprehension of whatever is load-bearing: where money moves, where state lives, where a mistake compounds. Tolerated opacity at the periphery, where a failure costs you an afternoon instead of a ledger. The test is not "did I write it." The test is "if it breaks at 6am, am I a pilot or a passenger?"
Reader or writer, chosen on purpose
Borges said he was a far better reader than writer, and meant it as a description, not modesty. There are two legitimate relationships with any craft. You can love streaming music, or you can learn scales. You can ship what the model writes, or you can learn to see what it should have written. Neither path is wrong, and the second is not morally superior; it is just a different contract, paid in years.
The only real mistake is being on one path while believing you are on the other. A consumer of results who thinks he is a craftsman will trust his own taste at exactly the moment it fails him. A craftsman who thinks generation threatens him is refusing the best instrument he will ever hold. Pick your path honestly and both are excellent. My client picked: he asked to learn what good looks like. That choice is the beginning of taste, and it cannot be generated.
Judgment, written down
Here is the part that shaped a product. Taste that lives in one person's head dies with their availability. The version that survives is judgment persisted as data: the rule with its evidence and its timestamp, the mapping a human confirmed once and the system remembers forever, legible enough that anyone can read it, correct it, or delete it. Nothing important hidden inside a model, so the model stays replaceable and the judgment stays yours.
That is the architecture Datassier is built around, and after eighteen months of AI-generated everything, it is the strongest claim I know how to make: the models will keep getting better at producing what works. The compounding asset is a written record of what you decided was good, and why.