You asked for one thing.
A missing check
in a function of forty lines.
What comes back is forty one lines,
and the check is in there,
somewhere.
So is a renamed variable,
because the old name
was not the better one.
Two imports, reordered.
An error message rewritten
into cleaner English
than the sentence your on-call runbook
tells people to search for.
And a guard removed
three lines above yours,
which read as redundant,
and was not.
None of that is a mistake
in the answer.
The unit is the problem.
You asked for a change
and you were handed an object.
A whole file, complete,
with nothing in it that marks
which part you requested,
which parts it preserved,
and which parts it improved
while it was in there.
Now look at your own attention.
You budgeted it for one line.
That is honest arithmetic.
A small request
deserves a small read,
and you have thirty other things
waiting this afternoon.
So you scan, you find your check,
it is correct,
and you accept.
The review you performed
was sized to what you asked for.
The change was not.
That is the entire mechanism.
Nobody had to be lazy,
or dazzled,
or out of their depth.
The costs arrive later
and separately.
The guard is gone,
and the thing it was guarding
fails in November.
The error message no longer matches
the one your support team quotes.
And your history stops recording
what anybody intended.
A commit that says add missing check
now carries four decisions
that no person ever made,
under a heading
too small to hold them.
So change what you accept,
rather than how hard you stare.
Ask for the change, not the file.
The lines that move.
Read the diff, never the reply,
because a reply is composed
to be agreed with,
and a diff is only itself.
Then put back, by default,
everything you did not ask for,
including the parts
that look like improvements.
An improvement you never evaluated
is not an improvement.
It is an unread change,
travelling under the name
of a smaller one.
– Serguey Asael Shinder
Top comments (0)