I have spent a good part of my career working in fast growing tech organizations. Growth is hard. Here are some of the lessons I have learned.
1) Unbalanced hiring. We hired too fast in one department but did not ramp up proportionally in adjacent departments. (e.g. too many engineers and not enough product managers)
2) Too rapid hiring. Typically when we were ready to hire it was because the backlog was so large “we needed people now” and rushed the process. I’d rather not hire at all than just fill a seat with a warm body.
Breakdown in communication. Growth in numbers exponentially increases the number of communication channels. With the growth in numbers we continued communicating in the same ways we always did. The message started getting lost because our methods had not scaled. Chaos followed because everybody was running off in their own direction
The application development life cycle changes as number of staff and customer base grows. When we were small we could coordinate very easily but as we grew it required much better coordination. Also, the cost of system outages became much more pronounced since more people were relying on the system being available. Both development and deployment processes had to change to meet the new needs but we were slow to adjust.
Culture and Vision
Dilution of culture and vision. As we brought on lots of new staff we also brought on lots of new opinions and habits all of which were uniformed by the organization’s history. We did not have a plan for on-boarding these new hires and getting them up to speed.
Poor focus. The increased budget and staffing levels resulted in unfocused project spending. We no longer had to focus on what was most important. Rather than lasering in on key result areas we spread our energies across a hundred different projects and ended up getting less done than we previously did with fewer people.