Blog

“You Build It, You Run It” — Famous Advice, But Does It Actually Work?

In 2006, AWS CTO Dr. Werner Vogels famously coined the phrase: “You build it, you run it.”

The philosophy was simple and elegant: software teams should own the entire lifecycle of their applications—from design and build, to deployment, monitoring, and 24/7 operational support. By tying developers directly to the operational outcome of their software, teams are naturally incentivized to write more reliable, well-tested code.

I appreciate the spirit of the endeavor. But in enterprise practice, it is often a trap.

The effectiveness of this model hinges entirely on team composition. Running an application autonomously requires more than just product developers. A team needs a Site Reliability Engineer (SRE) who understands monitoring, auto-scaling, and chaos engineering. They need deep expertise in Infrastructure as Code (IaC), cloud provider networking, and zero-downtime deployment strategies. Without these highly specialized skills embedded directly within the team, true autonomy becomes an impossible expectation.

When organizations attempt to force “you build it, you run it” and fail, the root cause is almost always excessive cognitive load.

Expecting software engineers to be experts in application logic, Kubernetes orchestration, Terraform state files, IAM least-privilege policies, and 3 AM incident response burns people out. While tech giants like Amazon, Netflix, and Google have the budget and talent density to staff fully cross-functional teams for every microservice, most mid-market and enterprise organizations do not.

Forcing product developers to manage complex cloud infrastructure leads to brittle misconfigurations, massive security oversights, and ultimately, less time actually shipping revenue-generating features.

If forcing every dev team to manage their own cloud infrastructure isn’t scalable, what actually works?

1. Platform Engineering (The “Paved Road”): Instead of making every team reinvent the deployment pipeline, a dedicated Platform Engineering team builds an Internal Developer Platform (IDP). They create self-service primitives and automated guardrails. Developers still “run” their apps, but they interact with clean abstractions rather than wrestling with raw infrastructure code.

2. Embedded SRE Rotations: Rather than trying to hire an SRE for every single feature team—which is financially unfeasible—organizations can embed senior SREs into application teams on a rotating basis. The embedded SRE works alongside developers to establish monitoring, automate toil, and build resilience before rotating to the next critical service.


With over two decades of systems experience bridging the gap between SRE and platform architecture, I am passionate about designing Internal Developer Platforms (IDPs) that eliminate cognitive overload. I’m always looking to connect with other engineering leaders navigating these scaling bottlenecks. If your team is trying to implement ‘paved roads’ or optimize your SRE strategy, feel free to reach out—I’m always happy to talk shop and swap architectural strategies.