There are lots of avenues you can take to becoming a contract programmer. But before we explore some of those, you need to find out what you intend to do.
Do you want to be a full-time contract programmer? Or part time?
Do you want to work on one project at a time for a couple of months? Or work on several small projects at the same time?
Do you want to specialize in one language? Or work with several different languages?
Contract per hour, or per job?
Contract programming is not always cake and pie. (piece of cake, easy as pie) It can be stressful sometimes. So you might want to try different options before picking one and sticking with it.
Full-Time or Part-Time Contract Programming
I currently do part-time contract work on the side. I spend 10 to 20 hours a week doing this. Plus I have a full-time "regular pay" position. This allows me some flexibility to pick and choose my contracts, and to turn down a contract if it doesn't look like something I want to do.
When I was a full-time contractor, I had very little choice sometimes. I had to take the position or I didn't get paid, and it might be a couple of weeks before my next offer came along.
Single Project or Multiple Projects
There are advantages to each type of contract. If you just have a single project, this allows you to concentrate on that project. You don't have to split your time up amongst different contracts. Nor do you have to worry about multiple deadlines. One particular disadvantage, is that if your job only pays upon completion, you may have a long time before getting that nice fat paycheck.
The advantages of the multiple projects is that you can switch gears. If you are stuck on a particular project, and you have some time before the deadline, you can work on a different project. Thus giving your mind a break. Then you can go back to the problem project and take a fresh look at it. This approach can be difficult for people who do not handle switching gears easily.
Specialize in a Single Language, or use Multiple Languages
Each has its own benefits. By specializing in one single language, you can get into tighter code, and into more complicated projects. But you limit your customer base. By utilizing multiple languages, you give yourself a broader customer base. Resulting in more potential contracts.
Furthermore, by using multiple languages, you can pick the language the fits the project, instead of picking a project that fits the language. This will give you more flexibility in your contract options, and in your pay scale! :)
Contract Per Hour, or Per Job
This is a very tough choice. And you may want to use both options. Take some contract jobs on a per hour basis, and others on a per job. Most jobs will pay per job, since that means less money spent by the employer. This also means that you only get paid when you submit the final project (or a milestone of the project). It doesn't matter if it takes you 20 minutes to create the project, or 20 days. You get paid a flat rate.
With an hourly job, you submit your hours per week. Many contracts do not allow this option, since it costs them more money in the long run. If you spend 4 hours debugging part of the project, you get paid for it.
Also remember this: You do not pay ANY taxes while you are doing contract work. So you have to report this untaxed income to the IRS when you file your taxes. Then you pay your taxes then. This is how it works in the US. I am not sure about other countries... check with a local accountant to be safe.
OK so where to start?
If you have never done any programming for anyone other than yourself (or your friends) then you need to build a portfolio. Start with the small programming jobs (Rent-A-Coder is a great place to start). Then build your experience. This will enable you to work on completing many jobs as quickly as possible. Most of these will be simple, but they will get you experience... and experience is critical as a contract programmer.
If you already have lots of experience, but have never done contract work, try starting small and working your way up in project size. This helps you build experience with contracts. You learn what you can charge, and how to meet deadlines. And how to work with someone remotely.
You may find that while your an excellent programmer, doing contract jobs is not what you want. So don't jump into a big contract that you can't fulfill.
Final Notes on Contract Programming
Follow the project plan EXACTLY! Do NOT deviate unless you are given permission to do so. Some project managers will ask for your input, or will accept changes to the plan. Others want the project built exactly the way they specified.
Use good programming standards. This helps your professionalism. The more professional your work is, the more work you get. And the more per job (or hour) you can charge.
Document everything. Any changes you make, document them. If you need to take a day off, document it. This helps you a) estimate how long a project will take. And b) cover your tail when the person asks why things are taking longer than they think it should.
And finally, be sure to communicate with the person handling the contract. Ask questions if you are not clear on something. Send them short status reports on a regular basis. Don't go into techie details. Just an overview of what you accomplished, and where the project stands.
Five Places to Kick-Start Your Contract Programming Career
Rent-A-Coder <- Hundreds of open jobs right now, with thousands of buyers. Easy to get setup, and easy to start your contracting career.
HomeJobStop.com <- Numerous categories, including programming and web development.
Telework Recruiting <- Part time and full time contract work for programmers and web development.
Freelance Work Exchange <- Hundreds of Freelance Jobs. New work-at-home opportunities and projects added daily.
Telecommute-Jobs <- Send your resume to over 4,000 IT recruiters, or browse their Jobs database.
Eric D. Burdo
Add your comments here.
You can also send feedback to firstname.lastname@example.org
John - February 7, 2005 4:16 PM
None of these sites work.....
m guyot - February 10, 2005 2:22 AM
None of your links work. I find that less than appealing.
Eric Burdo (author) - February 11, 2005 1:10 PM
The links have been corrected.
Cliff - November 15, 2005 6:47 AM
All these sites SERIOUSLY devalue developers. One of the postings was to create a skype clone for $500 USD. Suuurrreee.... E-bay buys Skype for 2.6bn, but the core technology is only worth $500.. the other $2,599,999,500 is just for the customers! Don't waste your time with this drivel...
Wayne - February 15, 2006 6:51 AM
The first "Rent-A-Coder" and the "good programming standards" don't work.
|» Domain name registration|
|» E commerce solutions|
|» Flash design websites|
|» Flash designing india|
|» Google ranking services|
|» Joomla website developers|
|» Mobile application development|
|» OS commerce website development|
|» php website development|
|» Search engine marketing|
|» Seo services india|
|» Software development india|
|» Web design services|
|» Web development india|
|» Website redesign services|
|» Wordpress website developers|
|» Magento website developers|
|» Search engine services|
|» Search engine optimization|
|» Freelance php developers|
|» Hire mobile developers|
|» Zen cart developers|
|» X cart developers|
|» Open cart developers|
|» Blog developers india|
|» Content management system|
|» Article submission india|
|» CRM development india|