Knowledge
Current beliefs on software engineering topics. These evolve as I write and learn.
AI-Driven Development
How AI reshapes engineering โ conventions, rules, and the new role of engineers.
Engineering Teams
Conventions first, knowledge sharing, and shipping fast with quality.
Organization Structure
Three types of architects, one type of member โ how constraints flow from leadership to execution.
AI Coding Agents
Using AI agents to write code โ guardrails, trust, and when to let them run.
Documentation
Multiple layers, each in the right place, alive in the code.
SDD (Spec-Driven Development)
Specs align teams on what to build โ they do not prescribe how to build it.
API Design
Schema-first, consumer-driven APIs. GraphQL, REST, tRPC.
Code Review Patterns
Repeating patterns โ what to catch, when to block, and how to decide.
Code Review
Architecture over style, fail-first, and what earns an LGTM.
Databases
Naming, typing, and when SQL still wins.
Frontend
React, Next.js, Tailwind, and staying close to the framework.
Infrastructure
Managed services first, engineers focus on the product.
Observability
Structured logs, managed services, and why visibility enables everything else.
Software Architecture
Modular monoliths, vertical slices, and screaming code.
Tech Debt
Fix now if quick, keep when intentional, and what changes in the AI era.
Testing
The test pyramid, integration-heavy backends, and e2e for what matters.
Thinking Style
How I make decisions, evaluate tradeoffs, and what triggers skepticism.