Every project I’ve worked on has had at least one contractor working on some part of it. I’ve worked both as a contractor and with many and I’d like to discuss a few of the problems I’ve seen. Some of these problems are quite subtle and I believe are often overlooked by managers of software projects.
1. Pay difference
There’s just something about knowing that the person sitting next to you is earning twice as much (or more) than you, per hour. Even though contractors have to pay their own super, holidays, sick leave etc, they still often end up earning a lot more on an hourly basis. This builds major resentment between the contractor and the rest of the team. A while ago I talked about keeping programmers happy by not letting them know how much they are being billed out at, compared to how much they are receiving. Knowing how much more a contractor is getting paid is even worse! It’s basically saying that some guy who doesn’t even work at your company is more valuable than you are. I don’t care who you are, that hurts.
2. Shows a lack of planning in management
Needing to hire a bunch of contractors at the end of a project (as it runs overtime and grows in budget) shows that management can’t properly plan for the future. They’re saying that they didn’t think that the project would run over time or budget and by the time they admit it, the only option is getting in hired help. It’s a basic fact of all complex software development, it’s generally going to run over time and budget and management needs to stay on top of this and supply enough resources as soon as the need is realized.
3. Can’t hire good people
Unlike #2, if you have a bunch of contractors on a project for its entirety, it shows that the contractors wouldn’t dare work for your company. How does that make the rest of the employee’s feel? It makes most people I know feel like they’re stupid enough to be paid less for to do exactly the same work. If your company hasn’t got enough incentives to make people want to work there full-time then something needs to be done.
4. Team doesn’t work as well together
Unfortunately, your contractors will be outsiders. For the reasons above, the rest of the team will resent them and you can’t have good team cohesion with this resentment present. Thankfully, most contractors are nice, happy people (otherwise no one would hire them) which keeps the resentment from becoming personal, but it’s still there at some level.
5. They don’t care as much about the project
On the flip side to #4, it’s hard to have as much passion or care about a project you’re simply being paid to work on. From monetary incentives like profit sharing down to not being part of the full company dynamic, contractors just won’t care as much as their regular employed colleagues. If they were passionate, they’d be an employee, living and breathing the game and the company. The bottom line is that contractors are mercenaries; they go to the highest bidder at the time.