What we’ve learned talking to 70+ engineering managers about software deployments
As Marc Andreessen famously said in 2011, software is eating the world. Software is being used to solve the world’s problems. Software platform companies (like Uber or Airbnb) are disrupting traditional industries (like taxis and hotels).
In this new era of Responsive Organizations, a company’s ability to imagine, develop and deploy software determine its chances of staying relevant in a world where software rules. It’s no longer OK for a user’s digital experience to be sub-par. To stay competitive, companies need to learn to create magical user experiences through software.
We’ve interviewed over seventy senior engineering managers in organizations of all sizes to better understand the challenges they were facing in achieving this new normal. Here’s what we learned:
- An enterprise VP of Engineering who manages 275 engineers and product managers across multiple offices told us deployment velocity is a huge problem within enterprises. Smaller, more nimble companies can ship code faster and do it in ways the larger companies can’t even begin to compete with. For example, Tesla has been secretly testing its autopilot functionality in customer’s cars, iterating rapidly as it learns from a million new miles of data every 10 hours. In contrast, this manager sees the average enterprise deployment cycle take 14 months. He told us that helping enterprises figure out how to ship code faster to compete with nimble startups like Tesla is a priority for him.
- We also heard from enterprise DevOps teams that moving their companies to the cloud is a priority, but it’s also challenging. Issues like cloud portability, maturity of cloud tooling and cobbled-together deployment pipelines were all big challenges. And there’s a brave new world of splitting monolithic applications up into microservices run on container infrastructure that brings its own set of excitement and challenges to the enterprise environment.
- Many engineering leaders are trying to balance private vs. public clouds, and deploying functionality across clouds, all without becoming too dependent on any one specific cloud company. One manager put it this way, saying “I can’t use Google in China, Microsoft has the best availability zone configurations; Google has best data; and Amazon has 90% of what we’re doing today. How do I make the right decisions? How do I avoid moving data to different regions?”
One sr. engineering manager put it best when he said “developers just want to develop,” so anything that helps them focus on their work is valuable. We couldn’t agree more.