In my previous post, Employee vs. contractor (and in the discussion that followed) a distinction was made between two different kinds of contractors: those who work as employees of a contracting firm, and those who are independent. Perhaps a third type would be those who are independently subcontracted.
As a consultant, I've always been an independent contractor. I have occasionally subcontracted work out (with client approval), and I know several colleagues who work as employees of consulting firms. What are the pros and cons of each of these arrangements?
Obviously, you take on quite a bit more risk if you're an independent. First, you've got to find your own work — so you're automatically in sales and marketing. If the client doesn't pay on time, nobody's going to cover your expenses for you. And if the project really goes south, guess whose grass will be under the client's lawnmower. On the other hand, as an independent you may also have more power to make things right. In sixteen years I've only had a couple of projects that didn't work out, and even then I was always able to come to an amicable arrangement with the client such that nobody thought about suing. (If you're a client of mine and you secretly did think about suing, it's OK to say so. I won't be hurt — unless you're still considering it).
Subcontractors may partially share the same risks. If you're subcontracting, you need to understand how each of these eventualities might impact you. Does your contract (you do have one, don't you?) stipulate that you get paid for your hours on a regular schedule, regardless of when your client's client pays? Does it shield you from legal action by the end client? And what degree of freedom/responsibility are you given to handle situations that start getting out of hand?
As a number of last week's commenters pointed out, subcontractors and employees of consulting firms share a common risk: If the end client begins to abuse the terms of their contract, you may have less power to do anything about it. For instance, if the client demands the addition of a feature (at no additional cost) that was not included in the original agreement ("but of course that's what it should do, so the fact that it doesn't is a bug"), the right thing for you to do is to insist on additional compensation with the express or implied "or else" of terminating the contract. But if the contract is controlled by your employer and they refuse to do anything about their client's abuses, then "walking away from it" probably includes losing your job and all the future work that goes with it. The end client may care a lot less about you leaving, since they still have your employer over the barrel — so your threat of doing so provides little leverage.
I guess that explains why I like being independent. It's not just that I like to live dangerously — I also value having the freedom to control my own engagements.
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.