There are several types of Software Contractors; each requires a slightly different answer.
- Temporary Hire. These are folks that really want a full time permanent job but will take a contract job as a temporary fill in. Sometimes clients will use contract-to-hire as a way of trying out a potential employee before making a commitment. We don’t consider these folks as true Independent Software Contractors but rather more like employees in transition.
- Consultant. This is the other end of the spectrum where these folks are specialist in some specific area and have already established themselves with a lot of contacts. Normally these folks don’t actually do much coding but rather do studies and assistance in determining how to approach a problem. Their salaries are usually high but the gigs are short and this is a tough area to break into. It often takes years of working as an employee for a prestigious company to establish a reputation in a nice little niche in which they can be an expert with little competition. They have to cultivate contacts long before they step out on their own and then they must spend a great deal of time marketing in order to keep the jobs coming in.
- Contract coding. Most Software Contractors fall into this area. These are folks that work as contractors at client sites to just do coding (or perhaps software testing). The gigs run from 6 months to a year but almost never more than 2 years. Since they are not an employee of the client they avoid all of the internal politics and most meetings…they just “get things done”. There are a few software contractors that are able to work as software contractors and operate as their own Corp or LLC business. However, most become employees of a Software Contracting Agent. This is the type of contractor I would like to address here.
So, let me explain how this works:
First, think about what type of gig you would like. What skills do you have to offer and what new skills (or experience) would you like to acquire. Obviously you have to have enough skills to get a job but it is always good to look for jobs that might have some aspect that is a little bit of a reach for you. This keeps your resume expanding with new skills.
You also want to think about where you want to work. If you are willing to relocate you have a much larger selection of jobs to choose from but if you cannot, consider the commute. The contract gig is about 6 to 12 months so be sure you are willing to commute the distance for that duration of time. Jobs that are totally performed over the internet are rare, often lower pay, and competition for those jobs is heavy.
Finding a gig:
Next you register yourself in the ScGuild.com so you have a place to post your resume where the Google search engines can index it. Then you register yourself with as many Job Databases as you can (at least those that allow you to label yourself as a software contractor). The largest of these is Dice.com. Most contract agents look in Dice but they have to pay to get your resume. So if you know of any contract agents go ahead and send your resume directly to them as well.
Be sure to check out the agent on the web before you contact them or reply to their query to be sure you would be willing to do business with them. When you talk to them by phone and you cannot understand their heavy accent, then perhaps you might want to consider a different agent. It is also an advantage to have an agent that has an office near you (or at least in the city where the contract work will be performed).
Both ScGuild and Dice have lots of software contract jobs listed. You can look through the jobs and pick some of interest and contact the agent posting the job. The contact for a job will most likely be an agent and not the end client. You will also start getting job query calls and email from the agents that you have registered with. You may get 2-3 job queries per day in your email. Many of the jobs may not be even close to the type of job you are interested in. But consider dealing with those as part of the cost of doing business.
Submitting your Resume:
Once you find a job that sounds interesting and meets your criteria you contact the agent and let the agent submit your resume to the client. Ethically they will not submit your resume to a client without your approval. When you give that approval, be sure to record which agent is doing the submission, to which client (and manager if available) and the date and time of that approval. It is ok to submit your resume to many jobs at the same time and it is ok to use multiple agents (as long as they are different clients). Agents may not want to tell you who the client is because competition among agents is fierce but you need to know who the client is before approving a submission.
The same job may be offered by different agents and sometimes it is hard to tell they are the same from the job description. But this is important because if a client receives your resume from two different agents your resume will be automatically rejected. Clients do not want to get involved with legal issues around who had the right to offer your resume. My personal policy is that a client (not just the job) “belongs” to the first agent that told me about it and I try to avoid having any other agent submit me for any job on the same client unless it is a very large client and it is obviously a different manager.
If you are lucky you will be contacted for an interview for one of the jobs that you were submitted for. Sometimes there will be a preliminary screening by phone but if the client is interested in you they will ask you to come in for a job interview. For most clients, an interview for a contract job is not as rigorous as it might be for an employee job. But be prepared. Do your research on the client and the job as much as you can so you have some idea as to how to answer their questions in their context and point out the skills that you have that would best match their job. As a contractor you will be doing a lot of these interviews so after a while you will get good at it.
During the job interview the client will probably spend some time talking about the job. Take some notes. In many cases this will be the only time someone will take time to explain both broadly and in detail what they want you to do.
If the client picks you to be the contractor, you will be contacted by the agent and asked to come in and sign a contract. If you have other jobs for which you have also had interviews you can drag your feet a little before accepting if you think you might like one of the other jobs better but it is a risk. I usually take the bird-in-hand, the first gig offered. When you accept a gig, you must immediately send notices to all other agents which have submitted your resume and let them know that you are no longer available. It is unfair to them if you don’t notify them right away.
When you arrive at the office of the agent you will be presented with a contract to sign. PLEASE read all of it. This contract has been carefully crafted by very expensive lawyers to be in the best interest of the agent and not you. Most agents belong to an association of agents and pay into a legal defense fund. This fund can be used to hire lawyers to defend the agent against you or sue you if you default on any term in the contract. Consequently all agents in the association use the same contract. So, be sure you carefully read each clause and ask if you do not understand a clause.
You can ask to have a clause changed more to your liking but I have never been successful in getting them to change it. The contract will most likely contain clauses that state that you cannot work for the client (except through the agent) in any capacity for up to 2 years after your contract expires (the Non-compete clause) and any work you perform becomes the intellectual property of the client, not you. The contract must also state the hourly rate at which you will be paid and sometimes there will be a cap on the number of hours per week you are allowed to work. You will be paid when the client pays the agent. Payment to you may not always be weekly. The agent assumes no risk. You assume all of the risk if the client does not pay the bill.
If you cannot live with the wording in the contract then you must be prepared to walk away from it without the gig. This is just the way it is.
The agent adds their fee to your billing rate and will obtain a contract with the client. The agent’s fee is normally around 30%. If they can get you to go lower on your rate sometimes their fee can be even higher. The agent will not tell you how much they get from the client. Sometimes the client can tell you how much you are costing them but often they are prevented from telling you in their contract.
Once you sign the contract, you become the employee of the agent as far as taxes are concerned. Each week you will submit a statement of the hours that you worked, signed by the client, and the agent will send you a check, minus the deductions for taxes and benefits when the client pays the agent. Expect a fairly long delay to get the first check. It is a very good idea to have at least a two month salary cushion in your bank account to cover the lags in payment
The agency may offer a benefit package with health and life insurance but the contractors usually must pay all costs. Often you can get better insurance at lower cost as an individual. So shop around for insurance and set up your own retirement plan.
Working the Gig:
Once you start a gig, it is very bad form to quit before it is complete. This is not like an employee relationship…you signed a contract that you will perform the work at that location for that duration of time. You have an obligation. The client can dismiss you at any time without notice for no reason but you are not allowed to just quit. If you do, you can be sued or at least you will find that the agents in your local area talk to each other and you may end up on a black list. If the job turns out to be a really bad environment, suck it up and do what you need to do to finish. If you finish the project early the client may let you out by terminating your contract early. You don’t have to renew the contract so there is always an out eventually.
While you are on a contract, cultivate the contacts among the supervisors and fellow workers on the job. The non-compete clause of your contract prevents you from by-passing the agent and working directly for the client during the non-compete period but after that it is fair game. Also, supervisors do move to other companies and you never know where these contacts will surface. It is good to know someone on the inside when applying for a contract job.
Also, keep your ear to the ground. Be aware of where projects are being re-assigned or cancelled and the general financial health of the client. After a while you will learn to sense when change is afoot. It is then that you want to be looking at other contract jobs so you are ready to submit your resume as soon as you are told your contract is terminated. If you do this right there will not be a gap in your income. You don’t qualify for unemployment benefits so you need to be nimble.
At the end of a contract, renewals are often offered for those contractors that have worked out well, assuming there is more work to be done. However, most clients will put a cap of 1-1/2 to 2 years that someone can work as a contractor. This is because of the uncertainty written into the federal tax laws. If someone contracts too long at a client, the IRS may decide that they are really an employee of that client and require the client to pay back withholding and fines even if the contractor has paid taxes. Most clients don’t want to risk it and impose the cap.
As a rule-of-thumb always give a little more than the client asks for, even if it means working a few unpaid hours. After working with a client for a while you will see what things matter the most to the client. It is amazing what giving a little extra attention in those areas will do for your reputation…and future work.