You opened the editor at nine
to fix one bug.
At four you are upgrading a build tool.
Nothing went wrong.
Every single step made sense.
The bug was in a test,
so you ran the test,
and the test would not start,
so you looked at the runner,
and the runner wanted a newer version,
and the newer version
wanted a different config format,
and here you are.
This is the most respectable way
to lose a day,
because all of it is real work.
Nobody drifted off to a feed.
There is no sloppiness to confess.
Every link in that chain
was genuinely blocking
the link before it.
Which is what makes it dangerous.
A distraction announces itself.
A detour does not.
So mark the start.
Before the first line,
write one sentence
somewhere you cannot avoid seeing it.
Today I am fixing X.
Then every time
you are about to open something new,
read the sentence.
The question is not
whether this is useful.
It is always useful.
The question is whether it must happen
before X is done.
Usually it does not.
Usually it only has to happen
before X is done the way
you would prefer to do it.
When you find a real one,
write it on a list
instead of starting it.
Give the list ten minutes
at the end of the day.
Half those items will look optional
once you are no longer
standing directly in front of them,
which tells you something
about how urgent they felt.
And set a depth limit.
If you are two steps away
from the thing you came for,
stop and ask out loud
whether the original job
can be done a worse way today.
Often it can.
Skip the runner
and run the case by hand.
Ship the fix.
Upgrade the tooling next week
as its own piece of work,
with its own name,
in front of people
who agreed it was worth the time.
A day spent on the wrong thing
is recoverable.
A month of them
is a quarter where nobody,
including you,
can say what you did.
– Serguey Asael Shinder
Top comments (0)