
Every team needs to deploy code, and every team eventually picks one of four strategies to do it. The differences aren't aesthetic -- they decide what kinds of failures you can detect, how fast you can roll back, and how much risk each release carries. Here's how I think about which strategy fits which workload and the patterns that combine them.
Engineering Craft
TypeScript, CI/CD, databases, observability -- the skills that make code production-ready.