Expertise Has to Be Able to Reach You
updated 13 min
Confidence the principle is Vygotsky, cited; what is mine is the application to self-audit and the pull-request practice
My father was a maths teacher. He also put up drywall and laid bricks at the house, and I helped him do it. Nobody in that story needed to lay bricks — you can pay someone — and he was never going to be a bricklayer. The thing being transmitted was not masonry. It was that going outside your usual is a normal thing for a person to do, and that there are things to know.
Which is why, years later, I can change the washer in a dripping tap. I have never needed to. A plumber is a phone call away and for anything past a washer I make the call. I learned it because I decided to.
It did not make me a plumber. What it did was make me able to talk to one. When someone is in my kitchen telling me what is wrong, I can follow it, I can ask a question that isn’t noise, and I can tell an explanation from a brush-off. That is a much lower bar than competence, and it is the one that matters, because it is the bar at which someone else’s expertise can reach me.
That is the whole argument about engineers who never had to write the first draft.
Bottom line up front
- The reps don’t buy competence. They buy the ability to receive input. A first step is not a small amount of expertise; it is the vocabulary that lets someone else’s expertise land.
- And the willingness to take a first step is itself transmitted, by example. Nobody taught me to learn things outside my lane. I watched a maths teacher lay bricks.
- You cannot certify your own coverage from the inside. Any single blind spot is reachable; knowing you have found them all is not, because the thing that would check is the thing in question.
- The bar is “can hold the conversation”, not “could have done it yourself”. Low, locatable, and non-zero — you cannot hold the conversation with nothing.
- It is not a hurdle, and treating it as one defeats it. Someone who wants this work should want the code anyway, because it is what makes the next question askable.
- Which is why the “why” goes in the pull request even when an agent wrote every line. The why is not there so the reader can skip the code. It is there so the reader has something to disagree with.
Writing stops paying
Take writers — as an analogy, and one from a craft I am not expert in, so weigh it accordingly. Writing makes you a better writer, and then the returns thin. Not because writing teaches nothing: drafting surfaces contradictions and forces discoveries that no amount of reading would have handed you. But a page cannot show you a move you have never seen. You can write a hundred thousand words, get considerably better at executing your own instincts, and not one of those words will introduce an instinct you did not have.
Where the Reps Come From establishes the floor of this — there is a section in it headed “You can’t skip straight to reading”, and the argument holds: a person who has never built anything has nothing to read with. What that post does not say is where the ceiling is. Both exist, and the gap between them is the only interesting part.
So: you have to write some. You do not have to write forever, and after a surprisingly early point the writing is no longer what is improving you.
This has a name, and it is ninety years old
I thought this was my observation. It is Vygotsky’s, and he published it in the last three years of his life.
The zone of proximal development is Vygotsky’s, and his own formulation is about the difference between what someone manages independently and what they manage in collaboration with an adult. What is collaborative today becomes independent tomorrow — the zone is a forecast, not a wall. That is the external stimulus, named in 1934, and the structure is the one above: a limit you do not pass alone, and a range past it that opens when someone else is in the room.
Two bits of vocabulary I used while drafting are not his. The more knowledgeable other and scaffolding are later writers’ terms; neither phrase appears in his text. I had them from a summary and attributed them to him, which is the mistake this whole post is about.
So the principle is not mine. What I want to add is one step, and it is narrower than I first wrote it.
Vygotsky’s zone closes, and that is the point of it. The collaborative thing becomes the independent thing; development moves the limit and keeps moving it. I originally wrote that the self-audit case never closes and no amount of development fixes it, which is too strong — development plainly does retire blind spots, one at a time, and that is what his account describes.
The durable version is smaller and still holds. No judgment system can certify, from inside itself, that it has found all of its own systematic errors. Any particular error is reachable; the completeness claim is not, because the thing that would check the coverage is the thing whose coverage is in question. Expertise moves the limit. It never issues the certificate.
Once you say it plainly, a lot of separate findings turn out to be the same finding:
- You can’t grade your own misses, because a miss is silent and the thing that would notice it is the thing that missed. That’s its own post and it recurs in a dozen others.
- An hour after I wrote a careful threshold into a file, I defined a stability metric that was maximised by silence. I caught it only because someone else was reading. The write-up calls that “the ceiling on what you can do to yourself”, which is exactly right and which I treated as a line about me rather than as a principle.
- A model grades its own work generously, which is why the grade gate in The Brief is always a different model family than the one that drafted the page. Not a different prompt. A different family.
- Building a reviewer that had to explain its findings dragged rules out of me I could not state cold. Teaching the Reviewer frames that as teaching paying the teacher, and the mechanism is the same: having to answer someone forced out what introspection didn’t.
Four instances, one principle, and I had all four without reaching for the ninety-year-old name for it.
The bar is the conversation
Here is where the tap comes back, and where I think the practical answer lives.
The question Where the Reps Come From leaves open is how much. If judgment used to arrive as a byproduct and now has to be built on purpose, built to what level? The honest answer is not “to the level you’d have reached the old way”, because that is a counsel of despair and nobody is funding it.
The answer is: enough to hold the conversation. Enough to follow what the expert — or the agent — is telling you, ask a question that isn’t noise, and tell an explanation from a brush-off. That is the toe in the water. It is not swimming, and it does not pretend to be.
That bar has two properties worth having. It is low, so it is reachable deliberately in a way that “become what you’d have become” is not. And it is non-zero, which is the part that gets lost in the optimistic version — you cannot hold the conversation with nothing. The plumber explaining a cracked spindle to someone who has never had a tap apart is not transferring anything.
It also tells you what anyone teaching this can offer, which is exposure rather than acquisition — get someone far enough in that an expert’s answer lands, and the rest is theirs.
And I want to be careful not to make this sound like a hurdle. A bar you clear grudgingly produces nothing; my father did not lay bricks to meet a standard. Someone who wants to do this work should want the code, whether or not they end up writing any of it, because it is what makes the next question askable. That is not a requirement placed on them. It is the thing you would expect to already be true of them.
It also matches what I actually do with the reviewer I built. I don’t read its implementation. I read its output and check the findings against source, relentlessly. That only works because I have written enough of that kind of code to tell when an answer is shaped wrong. The reps are not there so I could write it myself. They are there so the thing’s output can reach me.
Which is why the why goes in the pull request
The practical consequence is small and specific.
When someone opens a change, the why goes in it. Not the what — the diff is the what. The why: what this is for, what was assumed, what was ruled out. And it goes in even when an agent wrote every line of the change, which is increasingly the case.
The obvious objection is that I’ve argued the opposite elsewhere. A Description Can’t Replace the Code is a whole post on descriptions being compressions that drop the omissions they don’t know they made. It stands. But read what it actually says about recording intent: “if you want to record the intent so your reading has an anchor — an ADR, a line in the PR, a test — remember the record is a description too.” An anchor for reading. Not a replacement for it.
That is the function. The why is not a summary so the reviewer can skip the diff. It is a hypothesis the reviewer gets to contest.
A diff is not inert — a reviewer can argue with its error handling, its API shape, its performance, its security properties, whether it solves the visible problem. What a diff does not carry is the intent and the alternatives that were rejected, so disagreement about those has to be reconstructed from the code, expensively and often wrongly. A stated why makes that disagreement cheap and precise: it is a claim about purpose that can be wrong in a way someone who is not you can see. I think it is the cheapest way to get an outside reader in range of a change, and that is a practice judgment rather than a result.
And this is precisely why it survives the agent writing the whole thing. The person who opens the change owns the claim. If the claim is unstated, there is nothing for a reader to be the outside of.
The point
A first step is not a small amount of expertise. It is the minimum required for someone else’s expertise to reach you, and nothing you produce alone will substitute for it. Write enough to be able to read. Read to get better at reading. Write down why, so the next person has something to take issue with. And let someone watch you learn a thing you will never need, because that is how the whole chain starts.
How sure I am: the principle is prior art and I nearly published it as mine. The zone of proximal development is Vygotsky’s, cited below. I found that by searching after drafting, which is the right order to find it in and not a comfortable one. Two things I then got wrong about it, both caught by an outside read: I used more knowledgeable other and scaffolding as if they were his, and neither phrase is in his text — they are later writers’ vocabulary and I had them from a summary. And I overstated the extension, which the text above now records against itself. The narrower claim in the text — that no judgment system can certify its own coverage from inside — is what I will defend, and it is not measured. The sixteen-odd posts this draws together are each backed on their own terms: the recall results, the metered runs, the stability-metric episode, the reviewer that had to explain itself. What is mine is two steps and neither is tested: the coverage-certificate limit, and that a stated why is the cheapest way to get an outside reader in range of a change. The second is a practice judgment. The writer parallel is an analogy from a craft I am not expert in, flagged where it is used; if a writer tells me the returns don’t thin that way, I take their word over my analogy. The “enough to hold the conversation” bar is the part I expect to break first — I cannot operationalise it, and a bar you cannot measure is one people will claim to have cleared. What would show me wrong: a cohort who read agent output well, catch real defects in it, and never had a hands-on period at all. That is a checkable thing and I have not checked it. If they exist, the floor is lower than I think or it is not a floor.
Sources
- The floor — Where the Reps Come From, which argues you can’t skip straight to reading and leaves the ceiling and the level both open. This post supplies both and does not re-derive its setup.
- The ceiling on self-audit — The Specimen Reads the Protocol, where a stability metric maximised by silence got caught only because someone outside was reading. Its phrase, “the ceiling on what you can do to yourself”, is the line this post generalises.
- The silent-miss case — You Can’t Grade Your Own Misses, the measured version of the same principle for recall.
- Teaching as extraction — Teaching the Reviewer, where having to explain a finding pulled out rules introspection could not reach.
- Why the record isn’t a substitute — A Description Can’t Replace the Code, for the anchor-not-replacement distinction this post leans on rather than contradicts.
- Supervision at a distance — Fidelity Was a Vibe, Cost Was a Number, for reading the output rather than the implementation, which is the practice this post explains the precondition for.
- The principle — Lev Vygotsky, the zone of proximal development: the space between what a learner can do unsupported and what they cannot do even with support, crossed only with help from a “more knowledgeable other”. Introduced but not fully developed in the last three years of his life, he died in 1934. Cited as the source of the claim, not as support for my extension of it.
- The tap and the bricks — mine, two anecdotes about one family, no numbers. Illustration of where the bar sits and how the disposition got there, not evidence for either.
Related: Where the Reps Come From — the floor this post builds its ceiling on top of; Give Away the Writing, Keep the Reading — the seat this is the entry requirement for; The Specimen Reads the Protocol — the episode where the ceiling on self-audit showed up as a receipt; A Description Can’t Replace the Code — why the why is an anchor and not a shortcut.