Read your last twenty review comments
as though a stranger wrote them.
A pattern comes up
that has very little to do
with the code in front of you.
You always ask about the null.
You always ask what happens
when the list comes back empty.
You always want the timeout named.
You block anything that catches
an exception and carries on.
Every one of those is reasonable.
Not one of them
came out of that diff.
They came out of a Thursday
several years ago.
Somebody lost a weekend
to an empty list,
and it was you,
and you have been reviewing
that incident ever since
in other people's branches.
This is how craft actually moves
between people,
and most of the time it works.
The cost lands on the author.
They cannot tell which comment
is a rule the team agreed,
which is a real property
of this system,
and which is your history
wearing the voice of a standard.
So they treat all of it as law,
because you are senior
and arguing is expensive
and they have a Friday to get to.
Now your scars are the house style,
having never once been discussed,
and whoever comes after you
inherits them
with no idea where they came from
or whether they still apply
to anything.
There is a tell.
You are certain, you are brief,
and you cannot name the evidence
that would move you.
Certainty that cannot cite
its own source
is a memory with authority
attached to it.
The remedy is one clause long.
Say where it came from.
This is a rule we agreed in March.
This service has been bitten here twice,
and here is the incident.
Or, plainly,
I lost a weekend to this once
and I have been nervous about it since,
so push back if I am wrong.
That last sentence costs nothing,
and it turns the exchange
from obedience
into two people thinking.
Your experience is the most
useful thing you have to hand over.
Label it,
so the next person can weigh it
instead of simply obeying it.
– Serguey Asael Shinder
Top comments (0)