Skip to main content
Back to Notebook
2026-06-28·4 min

What I learned from shipping to production 50 times

ProcessDeploymentLessons Learned

I have shipped over 50 production releases in the past 18 months across three platforms. Here is what I learned about deployment reliability.

1. Deploy early, deploy often. The first deployment to production should happen in week one, not month six. The earlier you discover the gap between your local environment and production, the sooner you can close it. Our CRM had its first production deployment with only the contact management feature — it was useful by itself and validated the deployment pipeline.

2. Feature flags are non-negotiable. Every significant feature should be toggleable at runtime. This means you can deploy incomplete work without breaking the system, test with internal users before general release, and instantly disable a feature if something goes wrong.

3. Monitoring before metrics. Too many teams build dashboards before they understand what to measure. Start with the question: 'what does it mean for this system to be healthy?' Then instrument exactly those signals. For a CRM, the critical signals are: API latency, error rate, and database connection pool usage. Everything else is debugging context.

4. Rollbacks must be fast. A rollback that takes longer than five minutes erodes trust in the deployment process. Automate it. Test it. Make it boring.

5. Write deployment runbooks. Before a deployment, write down every step, every command, every check. The act of writing forces you to think through failure modes. The document becomes the source of truth when stress levels are high.