As Mike has said, we're desperately looking to hire people at Atlassian. Engineers, QA people, marketing people, almost every department.
There's been a few successes in the last month with recruiting, but that leaves us with another problem: space. We're looking at moving offices very soon, but in our current office empty space is becoming a valuable commodity. Robyn, our office administrator, has only half-jokingly suggested stacking developers vertically might help us out.
Recruiting people in an organisation is like building highways in a city: if hiring people was a bottleneck, fixing that problem actually pushes the bottleneck somewhere else. In the case of an organisation like ours, the new bottleneck is office space. Once this is resolved, it's going to be how fast we can bring new team members up-to-speed, and how well our management structure can cope with larger teams.
Interesting challenges, for sure, but it begs the question of what is the optimum state for a system with bottlenecks like this. You can keep optimising local constraints, but will that overall result in a more efficient system? Some say the best size of a development team is between two and six people. How do you make teams of this size effective with new people joining frequently? Can teams consisting entirely of new people integrate into an existing organisational culture?
Clearly, the culture of the company will change (is changing?) as the methods of dealing with bottlenecks require it. Management structure seems an important one: starting new people near the top of the organisation gives them a disproportionate effect on the culture from when they start. Starting a lot of new managers in a short period would change the culture drastically, I think.
It's an interesting study when a small company becomes large.