My Ideals
These are ideologies, not rules. Meeting these principles is a non-stop battle; the goal is to keep reaching, not to arrive.
These ideologies apply outside of codebases and should affect how we do most of our work.
Philosophy
- Effort Is the Enemy — every line of code is a liability; so is every doc, meeting, and process
- Simple Over Clever — simple is harder than clever; clever becomes legacy
- Separation of Concerns — applies whether you're splitting a monolith or a meeting agenda
- Choose Deliberately — rewriting from frustration and patching from fear are both traps
- 80/20 — follow what you know works 80% of the time; let context override convention the other 20%
- Not Everything Deserves Equal Effort — invest best thinking in the business core; commodity work (auth, storage, currency) gets off-the-shelf solutions
- Deliver Value as Often as Possible — small, verifiable increments
- Deliver Value as Soon as Possible — close the gap between writing code and proving it in context
- Avoid Brittle Everything — resilience comes from simplicity and loose coupling; applies to code, docs, processes, and architectures
Principles
- Twelve-Factor - A methodology for portable, resilient, scalable applications
- Functional Programming - Purity, composition, and declarative transformations
- Agnostic Core - Keep business logic free of infrastructure concerns
- Modeling - Structure driven by the problem, not the framework
- Testing - Test behavior, not code
- Codebase - Code, dependencies, and configuration
- Error Handling - Let errors bubble up, handle at the top
- Code Ownership - Everyone owns everything
- Operations - Build, deploy, and run applications reliably