Principles

A short list of things I keep coming back to.

I don't believe in rigid rules. These are working principles — things I've had to relearn enough times that I finally wrote them down.

  1. 01

    Boring is a feature.

    I reach for tools I can debug at 2am. Novelty is a tax that the next person — or the next me — has to pay.

  2. 02

    Code is a liability.

    Every line is something to maintain, secure, and reason about. The best PR is often the one that deletes more than it adds.

  3. 03

    Ship in small, honest steps.

    I'd rather ship a small thing that's real than a grand thing that's pending. Reality teaches faster than meetings do.

  4. 04

    Naming is design.

    Half of clean architecture is good naming. If you can't name it cleanly, the abstraction probably isn't right yet.

  5. 05

    Optimize for the next reader.

    Code is read more than it's written. I optimize for the next person — usually a future version of me — to understand it quickly.

  6. 06

    Founder, then engineer.

    Engineering serves the product. I push back on work that ships nothing of value, even when the code would be fun to write.