Principles
Core principles that guide how I think, work, and build.
Simplicity is Harder Than Complexity
Complex systems are easy to build. Simple systems that work are hard. I optimize for simplicity, clarity, and explicitness—even when it requires more thought upfront.
Understand the Constraints
Every design choice is made under constraints: hardware, time, team size, business requirements. Great design comes from deeply understanding what constraints you're optimizing for.
Trade-Offs are Fundamental
There are no perfect solutions. Every choice trades something away. The art is being explicit about what you're trading and whether it's the right trade.
Clarity Over Cleverness
Code that's clever but hard to understand creates technical debt. Aim for code that's obvious to someone reading it months later, even if you have to write more of it.
Permanence Matters
I build things meant to last. Documentation, thought, and decisions are recorded for the future. What I publish is permanent—I take that seriously.
Depth Over Breadth
Deep expertise compounds. I'd rather be genuinely great at a few things than mediocre at many. This means saying no to breadth.
First Principles Thinking
Rather than follow convention, understand the fundamental principles. Question why things are the way they are before accepting them.