Notes

Small thoughts, kept honest.

One idea at a time — the sentences that survive after a system ships. For the long-form versions, see Writing.

The best architecture is usually invisible.

Nobody praises the module graph that let a feature ship in a week. They just notice, vaguely, that nothing here is ever on fire.

Every abstraction creates responsibility.

You didn’t remove the complexity — you signed for it. The question before every new layer: who maintains this promise, and for how long?

Performance begins with clarity.

Every system I’ve made fast got clearer first. You cannot optimize what you cannot explain — profilers point at code, but the wins live in the design.

Version numbers are promises, not counters.

A budget that isn’t enforced by a failing build is a wish.

Memory, latency, binary size, build time — pick numbers, wire them into CI, and stop having the meeting again.

Make the correct path the lazy path, and the architecture survives vacations.

Complexity never announces itself. It arrives as a helpful little exception.

“Just this once” is how every unmaintainable system I’ve inherited was built — one reasonable decision at a time.

If you can’t explain the data flow in one sentence, neither can the bug report.

Deleted code is the only code with a perfect security record.

The system you can reason about at 2 a.m. is the one worth owning at 2 p.m.

Design for your most tired self. That’s who production calls.