Principles

Rules that define me.

Updated: 2026-07-14

Six rules I actually work by.

  1. Research first. I try to learn as much as I can about whatever I’m working on, while watching out for rabbit holes.
  2. Decisions before implementation. Before I start writing code, I try to settle as many open questions about the problem as I can.
  3. Understand before you fix. Debugging means diagnosing the cause, not working around the symptom.
  4. Uncertainty is allowed. An unconfirmed hypothesis has value too, as long as it is labeled as a hypothesis.
  5. Weigh the costs before building tools. The benefits have to outweigh the cost of building the tool.
  6. Systems > features. I try to build modules that last throughout production and beyond, though I know that isn’t always realistic.