# Design Patterns I Use

## Operating patterns
- Write the plan down: if it is not written, it will be forgotten.
- Default to small, reversible changes.
- Prefer clear ownership over shared ownership.

## Product and delivery patterns
- Define non-goals up front to avoid scope creep.
- Use thin vertical slices to learn quickly.
- Tie execution to measurable outcomes, not activity.

## Architecture patterns
- Start with a monolith until scale forces a split.
- Prefer boring, well-supported technology.
- Make the paved road the easiest path.

## Reliability patterns
- Treat reliability as a product feature.
- Use SLOs to align expectations and investments.
- Design for fast rollback, not perfect release.

## People patterns
- Give clear feedback early.
- Build coaching into the system, not as a special event.
- Hire for slope, not just current level.

## AI patterns
- Use AI for speed, not authority.
- Require humans to understand and own the final output.
- Keep policy simple and enforceable.
