Startups face a myriad of issues in the beginning. They must find a way to become successful, they have to find a way to make sure that their product scales to meet the demand, they need to find ways to raise money, they need to be ever-ready to pivot into another aspect of their target market. There are so many issues to think about that one often seems to get left behind. The question of how do you scale your startup people wise? What do you do to make sure that you have the right talent with the right levels of responsibility? How can you ensure that you are retaining and challenging your best talent?
The above questions are a devil of a problem that creeps in fairly suddenly and often without announcing itself. The result is clear enough, most of us have seen it before. Reduced output, fewer, and fewer new product ideas bubbling up, or at least, fewer and fewer product ideas bubbling up to the executives. No risk taking from anyone in the company, way too much time spent in meetings. Most of the prevailing wisdom is that you just have to stay small, do not get large. I completely agree, that it makes sense for companies to stay small if possible, but sometimes you can’t stay small. I would argue that it simply isn’t possible for a company like Facebook to be small, the demands and requirements from their customers require lots of construction and cohesive solutions. What should they do? Should they break themselves into separate companies? Breaking up is typically not a solution that makes sense.
I’m not certain that I have the answers to these questions either, but I have experienced these issues in most of the places I have worked. In all of these places, the intent is always good, people want to overcommunicate, they want to make sure that everyone is heard and that all ideas are considered. Being good listeners and accommodating a marketplace of ideas are what all of the management books talk about. The issue is that when a company gets too large, the sheer time it takes to do that becomes prohibitively expensive.
The solutions that I have seen put forth, and I intend to use is initially to keep teams small and allow those small teams to retain ownership of some critical pieces of the solution. In addition to that I want to keep people building by allowing time to develop along their own relevant interests and for them to sharpen their pitch skills by presenting to other teams and gathering feedback. That will hopefully help the teams grow, and will make it clear who the people with leadership skills are, and allow them to try and occasionally fail in a safe way that keeps the company moving forward.
Having small teams and keeping specific responsibility residing within those teams will help maintain accountability, minimize meetings, and reduce communication overhead, but it requires a lot of work from the vision holders. Not only do they have to have a stellar and clear vision, they have to have communicated that clearly to each and every person working in the company. That works fine for a very small company, but when you get larger it is harder and harder to make sure that every understands the goals and dreams of the company.
Funny enough, most of the scaling techniques that are applied to large application servers works well in scaling engineering organizations. Shared nothing, separation of concerns, etc… The issues begin to crop up in organizations that are not engineering organizations, and among groups who are not highly intelligent, skilled and motivated like engineers. I still believe that a company can successfully scale with lower skilled staff, but it requires a concerted effort to decentralize the operations to the point where each small group operates in a largely independent fashion and the company still achieves its goals.
I believe that the answer lies * of course * with technology. Were senior management to embrace some of the social communication techniques that most teenagers employ, managing large groups of independent teams wouldn’t prove to be so daunting and they could directly provide leadership to a wider group. It would require for them to work non standard hours, and work longer ones where they are more accessible, but I believe that it should be possible to run a highly efficient and decentralized organization where everyone is actively contributing.
* Update *
Ben Horowitz wrote a great post on how to scale a company.