There is a particular kind of work that feels extremely productive to me.

Designing the system around the thing.

The boundaries get cleaner. The architecture improves. Future problems disappear. The implementation becomes easier to reason about. I can explain why every piece belongs where it belongs.

Meanwhile the user-facing thing has moved approximately six centimetres.

I don’t think architecture is procrastination. That’s too easy, and often simply wrong. Good architecture matters.

The problem is that architecture is one of the kinds of work I’m naturally rewarded by.

So I can keep doing it long after architecture stops being the bottleneck.

This is much more annoying than discovering that I was secretly wasting time, because I can usually produce a very good technical argument for why the work was useful.

It probably was useful.

The question I need to get better at asking is whether it was the most useful thing to do now.

I suspect that one is going to follow me around for a while.