Hey there,
THIS SUBJECT LINE IS WRONG! It's proof that your CTO has little experience scaling teams and operating at scale. Has she/he previously managed a 20 person Magento shop? We’re living in a vastly complicated world, our applications and operational setups are a testimony of that. Twilio’s CEO (who btw is an excellent developer himself) recently stated: “it has never been easier to write software …, but it has never been harder to operate software at global scale. Serving people globally, scalably for millions of users.”
I see many teams plan their operational setup, accounting for the same level of complexity we were confronted with ten years ago. Deployment? Simple ftp request. They roll this over to today stating: Terraform? Simple to learn. In their heads they mix this with Werner Vogels “you build it, you run it”, and the chaos is perfect.
Terraform is simple to learn, helm charts too. How to exchange the breaks of your Tesla is in theory also pretty simple. It doesn’t mean anybody expects this from you as a driver. Simple isn’t an argument for anything. It suggests that you’re an idiot if you don’t get it and it’s quite patronizing.
Nevertheless, “You build it, you run it” is exactly what we want and I wouldn’t expect anybody to deviate from this. But the complexity of the subject you’re operating has to match your abilities or simply the time you have to allocate to mastering the setup.
An engineering team has to find the level of abstraction that actually enables them to run things themselves. These abstractions have to follow the weakest developer in the chain, not the Linux Kernel Hacker. They also have to be golden paths, not cages, meaning people can circumvent them.
Take a team like Github, Salesforce, or Zalando. They arguably employ some of the best developers in the world. Do teams have to master the entire setup themselves? Not at all. To quote Github’s CTO Jason: “if teams go off-path too often, that’s dangerous…, developers care about business logic, not much else.”. Meaning the best teams in the world do not throw Terraform and bash scripts at the best developers. Not everybody has access to the AWS console and yes, I said it, they restrict some developers more than they might feel comfortable with. They do that for the sanity of the engineering organization and that is totally fine.
If you think you’re more high profile than the Github team, go ahead and let everybody do everything. Otherwise, I strongly suggest you start an open conversation about what the right level is for self-responsible operations for the weakest developers in your chain.
Some of our webinars might be a conversation starter:
- Key DevOps trends: observability and self-service with Liz-Fong Jones
- Terraform, GitOps, and Kubernetes: lessons learned from Meltwater with Jim Sheldon
- Simplify developer experience on EKS, GKE or AKS with our CTO Chris
Cheers and excuse me for being slightly direct today,
Kaspar