by Serguey Shinder
For three weeks I had an hour booked every morning, nine to ten, for a piece of work that badly needed doing. We were replacing the payment reconciliation job, which was old, undocumented, and understood by nobody still employed there. An hour a day, fifteen hours across three weeks, which on paper is a generous amount of time for it.
At the end of the three weeks I had a page of notes and no code.
What happened each morning was the same, and I did not notice it was the same until much later. I would open the job and spend somewhere between twenty-five and forty minutes rebuilding in my head what it actually did. Which tables it touched, in which order. Which of the four date fields was the authoritative one. Why there was a second pass over rows it had already written. By the time I had that model back, most of the hour was gone. I would write something small, or more often write myself a note about the thing I had just worked out, and stop.
The next morning the note helped a little, and then I rebuilt the model anyway, because a note is a description of an understanding and not the understanding itself.
Fifteen hours. Something like eight of them spent loading the same structure into my head eleven separate times.
The fix embarrassed me by how ordinary it was. I cancelled the recurring hour, blocked a single Thursday end to end, declined everything on it, and told two people what I was doing so that breaking it would be awkward. The first ninety minutes of that Thursday were exactly the same slow reload I had already performed eleven times. But at around eleven o'clock something happened that had not happened once in three weeks, which is that I came out the other side of the reload and into the actual problem. By four in the afternoon the job was replaced, tested and in review.
I have been suspicious of chipping away at things ever since, though not universally, because the distinction turns out to matter. Some work carries almost no reload cost. Reviewing a change, answering a question, fixing something small and self-contained. For that kind, an hour is genuinely an hour, and five separate ones are as useful as a block of five.
Other work carries a reload cost that approaches the size of the slot itself. For that kind, an hour a day is not a slower version of a day. It is nothing at all, repeated, and it feels like diligence the entire time it is producing no result.
So the question I ask before booking time on something is no longer how many hours it needs. It is how long it takes me to get back to where I was, because any slot shorter than that buys me nothing.
– Serguey Asael Shinder
Leave a Reply