I grew up during the emergence of the personal computer, an original hard-core technophile. I taught myself how to program my friend's Apple ][+ when I was 12 and I just couldn't get enough. I've never really considered doing anything other than working with computers. Why would I? It's a natural fit; I've got a true passion for what I do, I'm good at it, I enjoy it, and I can make a respectable living.
Wait...scratch that last part.
Once upon a time it was possible to make a respectable living in Information Technology in America. I'm not talking about 25 year-olds given millions of dollars to squander on web start-ups in the "dot-com boom", that was just greedy people being stupid. I'm talking about the "regular Joe"; developers, analysts, administrators, support, etc.
Businesses needed these skilled professionals. Human Resources sought them out, interviewed them, and hired them. This meant a salary, health insurance, 401K, and other benefits for the hired professional. Productivity increased across the board, businesses flourished and the arrangement seemed to work out well for everyone.
Then businesses got greedy (right, I mean greedier). Things are done a little differently now.
I expect no one in America is unfamiliar with the stereotypical "outsourcing" scenario. If you haven't done so yourself then likely you know someone that has called for technical support for a new computer or perhaps their high-speed Internet and spoken to "Betty" or "John" in Mumbai employing barely-discernible English as they follow their often useless support script.
Though lower-profile to the average frustrated American, many higher-paying development jobs have been exported as well. Likewise, American companies are building high-tech manufacturing facilities overseas. Bit by bit, America has been exporting our technological "edge", and I've got news for you; "edge" is a non-renewable resource. If we are losing it that means someone else is gaining it, and that's not good for America.
But outsourcing isn't just sending jobs overseas.
Many American businesses are contracting technology companies to provide their entire I.T. departments. Businesses not in the tech industry may feel that leveraging the expertise of a technology company spares the business from having to maintain a workforce that they simply do not understand.
Another advantage for the business is "scalability". In other words, should the business determine that budget cuts are necessary they can reduce their I.T. workforce without consequence...no silly severance packages, no hand-out unemployment responsibilities, no COBRA insurance hassles, etc. These problems belong to the technology company...pretty sweet, huh?
Fortunately not all businesses have hired technology companies to provide for their I.T. needs. For some it hasn't made good financial sense (yet). Others simply aren't big enough to warrant a technology company to step in. And from this scenario has been born a vile and demeaning scourge to business and worker alike;
Pay attention here; I.T. "contract work" is bullshit. This is the basic idea;
A business has a need for an I.T. professional. The business negotiates an hourly rate to "rent" an I.T. professional from a contracting company (typically an I.T. "recruiter"). The contracting company negotiates a potential rate with several I.T. professionals. These I.T. professionals are provided to the business as candidates from which to select. The selected I.T. professional then works at the business but is an employee of the contracting company. The business eventually might hire the I.T. professional (this is called "contract-to-hire" or "contract-to-perm") or the business will eventually terminate the contract with the contracting company (lay off the I.T. professional).
Usually the contracting companies offer benefits to their contract workers but they are rarely even remotely competitive with benefits in traditional direct-hire scenarios. Many workers choose instead to maintain COBRA from a previous traditional direct-hire position.
Sometimes you are required to waive certain rights. Here's an example; the law of my state (and most) provides for either party to terminate the employment relationship at any time, without notice, and without reason. I was required to sign a contract that said that if I failed to give two-week notice any unpaid wages would be paid at minimum wage. When the business canceled my contract early I didn't receive two weeks worth of severance, which would have been the "fair" thing to do. I'll never do that again, and I beg of anyone that is confronted with a similar situation to decline to sign and report the company to the Department of Labor.
The most obvious problem with the "contract work" situation is the "middle-man's cut". In the traditional direct-hire scenario only the I.T. professional needs to be paid a wage. With "contract work" the I.T. professional needs to be paid a wage, but now the contracting company also needs a cut. Sometimes the business may be paying a premium to the contracting company for the convenience of a disposable I.T. professional. However, that doesn't stop the contracting companies from "low balling" their candidate I.T. professionals so the contracting companies can expand their profit margins.
Put that together in your head for a second; businesses are paying top-dollar candidate money, but they are getting the cheapest available candidates! This is good for business?
You might be the best developer in the world, and you may be more experienced, you may be the best worker with the best references and the best work history. Guess what; if you think you are worth more than the most barely qualified developer you are wrong. Consider this scenario;
A contracting company advertises a position on a job board like ComputerJobs.com or Dice.com. Using some "process" (typically a buzzword count) the contracting company narrows down the field of potential candidates. They call a few folks including yourself, the experienced I.T. professional. The other guys will do the job for $35 an hour, you want $40. The contracting company tries to talk you down and tell you why you aren't worth $40, but eventually they agree to submit you as a candidate for the open position. You go to the interviews and take tests and you blow away the other candidates. You are the clear front-runner and the hiring manager at the business loves you; they want YOU.
Here's the problem...if you get that position that means $5 an hour less for the contracting company than if one of their other candidates is selected. Of course that's better than nothing, if for example the business chooses a candidate from a different contracting company. It's a fine line for the contracting company; they need to present the cheapest candidate that has the best chances of being selected by their client, the business' hiring manager. If you cost $5 an hour more than the other candidates then you are only going to be presented as a "last resort", if the other candidates from the contracting company are declined by the business. Often you would not be presented at all.
The contracting company isn't going to tell you that though. If they tell you they aren't going to submit your resume then you could go to a competing contracting company where you might be submitted and selected by the business, thus costing the contracting company a client. In other words, you might try to find a fair chance to get the position.
You might go to the interview and be selected by the hiring manager at the client business. This buys the contracting company time to find other candidates and to let the client "go cold" for the competing contracting companies. Then the contracting company will tell the client business that you accepted a position with a different company and are off the market.
Who's going to know?
You are going to want to follow through with your interview. You want to know if you got the job, or if you have more interviews. If you didn't get the job then you want a little honest feedback so that you can improve yourself for the next opportunity. You will call the recruiter at the contracting company but you will not be able to reach the recruiter. This is someone that was promising you the world a few days ago. They were telling you that you needed to get your resume to them (in Word format, of course [how else can they alter it?]) immediately because they had a great position for which you would be the perfect fit. Now they won't return your phone calls or emails.
Are you disgusted yet?