The company I work for has been growing. Rapidly. Our business model (as I think I've mentioned before) is that we acquire other hosting companies and merge their customers into our pretty scalable, manageable platform. It's generally a ton of work, replete with headaches, stress, and lots of long hours.
But, at the end of the process, we've got a bigger company, more customers, new tools and applications for our entire base, and a few months to stabilize and work on new projects. It's a hard cycle, but one that works well, and one that has worked exceedingly well because we've kept our team small and focused. Pretty much everyone knows what's going on, is clued in on the ins-and-outs of the platform and any new changes, and understand the implication of every decision. It was an ideal situation. When you had to cut features to hit a deadline, drop support for something because the work expended dwarfed the number of customers who used it, or changed the way something worked--everyone was on board. When work ramped up, people who hadn't previously been involved could pitch in and help out without making this later (i.e. defeating that rule established in The Mythical Man Month). A small team, busting ass, getting really hard tasks done just under the wire.
Our new acquisition makes our company significantly larger. The process of moving customers is also significantly larger. We've added a ton of staff across the entire organization to theoretically help make things work better/more smoothly/with ice cream and puppy dogs.
It just doesn't work that way. You lose the closeness of the team. The ability to communicate quickly and have everyone on the the same page. You add more people who need to be trained on the existing platform before they can even start working on new stuff.
Sadly, you add people who just don't really care at all about pitching in.
With a small team, people can't really hide. If you're not pulling your weight, it's obvious, and your peers kinda take care of it. As you grow, people figure out how to duck out, stay invisible, do the bare minimum to get by without being noticed.
This is going to sound conceited, condescending, and douchebaggish, but I think the folks who get in the way as you grow generally fall into four categories.
- New people who are just too new to help out
Obviously, you can't blame these folks. They're coming to help out, but they just need to get up the learning curve before they can be counted on to be effective without being a drain on the team (i.e. the Fred Brooks' rule that adding people to a late project just makes it later). If you're lucky and you hire well, these guys will come through the first month or so of their employment sucking up as much info as they can, ready to help out within 4-6 weeks. But, with most new hires, it's a bit steeper curve, and you've got some folks who are anxious to pitch in that you need to keep diverted on other stuff.
- "That's not my job"
As you grow, you tend to hire people into specialized roles. When you're small, everyone's a generalist. Everyone can do everything, and will pitch in wherever they can. Eventually, you cross the threshold and start to hire people who are specialists and have no desire (or ability) to generalize. So when you need to spread the load for a big project (or lots of little projects) across your newly enlarged workforce, you all of a sudden encounter a new set of responses:
"That's not really what I do."
"I'm not really interested in working on that."
"I'll try, but I don't think I really understand what you mean."
"That's not my job."
Obviously, that sucks. It's crunch time, you're reaching out to people, and they can't get over their job title enough to pitch in. You just have to hope you're smart enough not to hire many people like this. There's a slight alternative to this person ....
- I don't have enough work to do so I make up my own
"What?" you say, "How could someone not have enough work to do?" Well, sometimes people are specialized. People who've been hired and pigeonholed because they're really not that good at their job, or because they're a pain in the ass to work with, or <insert your reason here>. Often, these people will (rightfully, and properly) want to do something. The problem is they'll go hunting creating a problem so they can make up their own solution. They'll start to churn up trouble ("I don't really like the way this works. I think it should do this.") or start working on changes to things.Normally, this isn't too bad. New ideas are generally welcome. In fact, a new perspective will almost always bring with it some nice nugget that allows you to make your stuff better.
The problem is that it happens in the middle of crunch time when your focus needs to be on the project at hand. It's further complicated because the people who start looking for problems in need of solutions, often try to solve problems that they don't quite understand. They may not have been involved in the initial project(s) and thus don't get that the problem they're "fixing" is unfixable for technology, platform, manageability, or any number of reasons.
You end up with people who are further isolated thinking their ideas aren't valued and your focus is diverted from the necessary work.
- It's Miller Time!
When you get bigger, people lose the mentality of sticking around and pitching in until the work is done. Granted, everyone needs to get out of the office. And there's nothing wrong with working a 9 to 5. But on big projects, particularly ones that affects tens or hundreds of thousands of customers, sometimes you need to stick it out.There are those folks who look at the fact that there are people leaving, so even though there's some project work left, they duck out. Or they say "hey, there's a few people left, they can handle it."
The result is a bunch of people who are pissed because they're staying and doing the lion's share of the work, and another chunk of people who are alienated because they don't think people should expect them to have to stay and work late.
In all of these cases, it's pretty easy to see both perspectives. And my intention isn't to be an ass and call out the people in these groups. It's simply a set of observations from a project manager/pseudo-engineer who's been working at a company that's grown from 40 employees in one office, to 100 or so spread across the country.
So, it all leads back to the question at hand:
Would you rather be overworked or homicidal?
Would you rather work at a small company, busting your ass, feeling stressed and overworked, but knowing everyone is putting in 100%? Or would you rather work at a larger company, with a ton of people to do the work, but ready to throttle those folks who aren't pulling their weight?
I'm in the former camp. It could be an age or life station thing (though, it doesn't look like it, in my limited experience), but I'd rather just be working somewhere I can bust ass and know that everyone else is too. Small teams or small companies or startups.
I think that my company will figure out how to make it work. It's just going to be an adjustment. There's going to be some growing pains (there already have been, as we've lost a couple of good people). As long as we don't lose any more good people, we should come out of this and understand (hopefully) that our current strategy doesn't work.
We've been a textbook case of forgetting the rules of The Mythical Man Month. Maybe that'd be a good gift for some folks in our company.