The Similarities Between Building and Scaling a Product and a Company
This has been a theme of mine since Roelof Botha put it in my head a few years ago. He said that entrepreneurs should approach building a company with the same passion that they have for building a product.
I've been thinking about scaling the team a lot this week. There are parts of building the team that are like designing and shipping a product. And there are parts of building the team that are like growing the service over time.
Putting together the initial team, creating the culture, instilling the mission and values into the team are all like designing and building the initial product. It is largely about injecting your ideas, values, and passion into the team. You do that by selecting the people carefully and then working hard to get them aligned around your vision and mission. Putting a product into the market and building your initial team are largely about realizing your idea as something tangible. That tangible thing is your product and your team. They go hand in hand. The team builds the product and the product is a reflection of them and you.
Once you have a successful product in the market, you need to turn your attention to scaling it. The system you and your team built will break if you don't keep tweaking it as demand grows. Greg Pass, who was VP Engineering at Twitter during the period where Twitter really scaled, talks about instrumenting your service so you can see when its reaching a breaking point, and then fixing the bottleneck before the system breaks. He taught me that you can't build something that will never break. You have to constantly be rebuilding parts of the system and you need to have the data and processes to know which parts to focus on at what time.
The team is the same way. Your awesome COO who helped you get from 30 people to 150 people without missing a beat might become a bottleneck at 200 people. It's not his or her fault. It could be the role has become too big for one person. Or it could be that he or she can't scale to that level of management. Think of this problem like a part of your software system that worked well when you had 1mm users per month but is breaking down at 10mm users per month. Both need to be reworked.
How you fix your system and how you fix your team depends on the facts and circumstances of the problem. There is no one right answer. The key is removing the bottleneck so the rest of the system can work again. When it is software, the problem is a bit easier to solve because it doesn't involve moving people around and the emotions that creates. But that's what a manager does and good managers do this often and they do it well.
It is harder to instrument your team the way you can instrument a software system. 360 reviews and other feedback systems are a good way to get some data. And walking around the company, doing lunches with managers who are one level down from your senior team, and generally being open to and available for feedback is the way you get the data. When you see that someone on your team has maxed out and the entire system is crashing as a result, you need to act. That could be breaking the role into parts, that could be reorganizing the entire team, or that could be removing the person and replacing them, or it could be some other solution. Whatever it is, it needs to be done or the company won't function as well as it can and should.
In summary, many entrepreneurs are engineers and/or product people. They intuitively get how to build and scale software systems. They may not intuitively get how to build companies. Fortunately, as Roelof pointed out to me, there are some similarities. And by understanding them and internalizing them, you can become a better leader and manager.