Engineering / tools
Tools and working agreements
Tools are useful when they make a decision faster, safer, or easier to revisit.
The default stack
Git and GitHub carry the change history; Terraform describes infrastructure; Docker packages repeatable runtime units; Kubernetes or K3s supplies scheduling where it earns the complexity; Cloudflare and AWS provide the edge and cloud primitives.
- Prefer a small command surface a new teammate can learn.
- Automate repeated checks but keep their output interpretable.
- Document the reason for a tool next to the boundary where it matters.
Local parity
Local development should exercise the same validation and data shapes as production without requiring production credentials. Test keys, local bindings, and seeded data are useful only when their differences from production are explicit.
The best local environment is not a miniature cloud. It is a fast way to expose the mistakes that would be expensive in one.
The boring answer
When a mature tool already solves the problem, boring is a feature. Time is better spent on the domain decision than on maintaining a novel replacement for a reliable component.