Last week I said judgment is the job now that output is cheap. Which leaves the obvious next question: fine, but how do you actually build judgment?
Here is the uncomfortable part. You build it the same way you always did. By doing the reps. The trouble is that AI just quietly removed most of them.
Think about how you used to learn that a database needs an index. You wrote the slow query. You shipped it. Then one night traffic climbed and you watched the dashboard go red, and you sat there at 1 AM reading an EXPLAIN plan you did not understand yet, and by 3 AM you understood it for the rest of your life. That night was not the bug. That night was the curriculum.
Now you ask AI to write the query and it hands you one with the index already there. Clean. Correct. And the lesson never arrives. You skipped the night that would have taught you what a slow query feels like under load, so the next time you will not see it coming either.
That is the trap of this era. AI is fastest at exactly the reps that used to teach you the most.
You cannot read your way out of this. I cannot write a letter good enough to give you the instinct for when a system needs a queue. Nobody can. Judgment is not information you absorb. It is the residue of decisions you made and then had to live with. You decided the design did not need a cache, and either it held or it fell over, and either way you learned something a paragraph could never tell you. The deciding is the rep. The living-with-it is the lesson.
So the practical move is not to refuse the tools. It is to choose which reps you keep.
Let AI write the boilerplate. Genuinely, let it. The CRUD endpoint, the config, the test scaffolding, the slow query with the index already in place. None of that builds your eye. Hand it over and move faster.
But the design decisions are yours. Should this be a Service or a Worker behind a Queue? Does this read-heavy path need a cache or are you adding a moving part you will regret? When the user hits Submit, who is waiting, and what happens if the thing they are waiting on is slow? Those are the reps that build the eye, and they are exactly the ones worth slowing down for.
And when you are handed a block of AI code, do not just accept it. Interrogate it. Ask the one question a senior asks on instinct: where does this fall over? At a thousand users? At a million? When the external service it calls times out? That question, asked on purpose, again and again, is the rep. You are training the exact muscle the AI cannot train for you, because the AI is not the one who will be paged when it breaks.
Here is why this compounds. Two juniors start today. Both use AI for everything. One also keeps the design decisions, owns them, sits with the ones that went wrong. The other ships fast and never looks back. For a year they look identical. Same velocity, same clean PRs. The difference is invisible right up until 2 AM when something breaks in a way the AI did not predict, and one of them can reason about why and the other can only paste the error back into the chatbot and hope.
One of those juniors is becoming a senior. The other is staying fast and blind.
You do not build judgment by watching the rep. You build it by being the one who decides.
So keep the design decisions. Hand off the rest.
- Kay
P.S. The free hub is where the reps live: walk the seven building blocks, then assemble real systems yourself in the capstone game. That last part is the rep, on purpose. systemthinkinglab.ai/learn
This letter goes out by email every Saturday. Subscribe here or read the full archive at systemthinkinglab.ai/newsletters.
Top comments (0)