Is There Still A Contract Market For Programmers?
IjustWannaCode asks: "I've never done a programming contract job. I've done a few networking/Sys Admin jobs, but no programming jobs. How would one go about getting into the programming contract market, preferably telecommuting, while still keeping a hold on a solid job that may not quite fit? I have strong programming skills, a strong work ethic, the ability to work from home effectively, and a lot of programming experience. How does one make the plunge from standard full-time employment to contract work without losing one's shirt?"
The contract market is doing well, but more so in Europe. Here is a link JobServer. And the rates are good.
you should probably grasp the billing cycle of things to come. you might get paid the day you invoice or it might be, as is the case with one of my clients, 60 days later.
it's not as easy to live paycheck to paycheck as it is on salary.
your best bet is to talk to the people you know and get a small gig you can do in the evenings for a contrating friend. introduce yourself to people, get visible, get your name around and if you do a good job the work will come in. this will give you an opportunity to find out if contracting is your thing. there are pluses and a great deal of minuses as well.
before you take the plunge, you should probably ask yourself why you want to be a contractor. it could be key to your success.
hit the dice.com boards and good luck.
Check out the old and trusted www.dice.com. Some tips for using Dice: Never submit your resume to Dice. Instead search for jobs in your area that appeal. Pick a handful of recruiters and send your resume to them alone.
Tell the recruiters in a cover letter exactly what you want: salary, commute limits, hour limits, interests, etc. This will cut down wasted time.
Never wait more than 5 minutes for an appointment/interview. Your time is valuable, don't let people waste it.
Dress well. I hate people that show up for an interview wearing something stupid...like a hat.
Ask for about 15%-50% more then you think you deserve. You can always bargain down. And worst, some stupid companies won't look at your resume unless you ask for stupid salary requirements.
Joining an open source project is a great way to do it. You can get name recognition for one thing, and you'll gain experience in the product you're working on that could be very valuable to potential employers.
Think of a cool new technology you can work on and point to it as your own, and work on that when you don't have paying work. That's what I'm doing. I have a couple potentially lucrative ideas. Of course, marketing them might be a challenge and you need to eat before you finish them. So do it carefully. But with any luck and a good idea it could work well.
The jobs you are likely to get are either due to (a) being particularly experienced and capable doing something very specific or (b) networking.
If you can do (a), great. You're jobs will probably be fairly sporatic, since you'll have a small but very strong demand. Sometimes someone will really need you, sometimes no one will. But you can -- rightfully -- ask for a lot of money. They are skimming the cream of your experience.
But you probably can't or don't want to do (a). So you have to network. If you are talented and honest, then hopefully people will have noticed in your former jobs. Maybe some former employers could still use a hand doing some things, maybe people you've worked with have left and gone elsewhere. Other friends and family are also contacts. There's nothing wrong with using them.
If you have a contact, it doesn't have to be with someone in management. Anyone could potentially suggest you, and a small job can lead into further work. Don't be afraid to take a job because it's too small. But don't underprice yourself, it won't help you get employed. Portray success and competence, even if you are unsure about what you are doing. I'm really lousy at this, but I'm sure it must help.
A lot of computer-related stuff involves a lot of trust on the part of the employer. They might want something done, but they don't know how hard it is to do, or what is reasonable to expect. This is relatively unique in business -- usually the people higher up have some clue about what's going on lower down, but they simply can't do that with computers. They aren't going to trust you due to your resume, no matter how impressive. That's why personal relationships are so important.
I'd be very careful about doing work on a per-project rate. Hourly is much safer. I subcontracted hourly with someone who got a contract for a fixed amount to do a website. The client ended up being much more demanding and difficult than expected, and I don't think it was a good experience for her. If you are working hourly, difficult and demanding employers just mean more paying work, even if it is less satisfying.
Agreed. If you're a Java programmer, join the local Java users group and participate. Ask on the mailing list how folks got started, and you'll probably get some leads towards working with other contracters.
(Of course, if you're a perl programmer, join the local PerlMongers group, etc.)
I work as a web developer for www.cjhunter.com (ContractJobHunter) which specializes in contract work for IT/IS and technical disciplines.
Contracting is not for the faint of heart. Most contract jobs are full-time and last for 6 to 9 months. The tools of the contracting trade are an excellent set of technical skills, good connections with recruiters and staffing firms, and utilizing websites like ours, dice.com and others.
I would suggest that you line up a contract job, give your current job your two weeks notice and take the plunge into contract work. The trick is to keep the contract jobs coming after your current contract job is up.
---------
---------
This space for rent. Call 1-800-SIGADVT to place your ad.
Actually, if you are a consultant, you generally own the rights to what you create, and thus can open-source it at will. The client won't care, because the client isn't selling software.
Engineering and the Ultimate
I cannot stress how much I agree witht Lordrashmi. I am working on a project for my wife's former employer. I did not make them sign a contract (mistake 1) or fully describe the work to be completed on the project (mistake 2). I was stupid in thinking that the project would stay simple. In addition, my wife (an attorney) worked at this company and I was trying to enable her to stream line the tracking legal agreements in a database (the project).
The problems started when she left the company and the scope of the project increased about 500% -- after the accountants wanted their GAP reports tacked into the database.
I wanted to charge more money and they balked because I had given them a number for the original, simple project. We finally settled the amount of the increased project fee, but I ate a lot of hours and learned a hard lesson.
If you are contracting for someone you know - a friend or a spouse's company, do not let your personal relationship cloud your judgement. When push comes to shove and money has to change hands, friendly relationships can sour, so your best protection is to be honest and professional and do not ever accept contract programming without a contract!
The other piece of advice is to describe in great detail what you will deliver and put it in the contract. Then, when they want to add new stuff to the project (they always will want to do this), you will be forced to renegoitate the contract. This protects you and them because you can not do additional stuff they want because it is not in the contract. Alternatively, if you screw up and do not finish the project, they have a legal means to withhold the payment.
P.S. If you want an example contract, email me and I will send you the one I use now.
"Fat, drunk, and stupid is no way to go through life."
"You're gonna need a bigger boat." - Chief Brody
It can help to find a niche where you have some expertise. At one company I worked for, I designed a plugin architecture for their product suite. Once vendors found out about it, my name got around and I've had plenty of extra work porting and implementing plugins using my own API.
Whatever your niche is, the most important thing is to get your name around somehow.
I just did it. Had a lawyer file the incorporation papers, then started sending out resumes, as a consultant. Note, however, that my situation is slightly different. I do not telecommute, I still report to "customer site".
This was almost six years ago. I consider that to be the best decision I have made in my life. Consulting dollars are much better, there's less stress... Well, not always, occasionally you do wind up working for some asswipe. But the thing is, as a consultant it's much easier to wave good-byte, and one benefit of being a contract consultant is that you can change jobs fairly frequently, and nobody is going to look at you strangely for hopping from one place to another, after a month or two at each place.
But that's an exception to the rule, and is usually the case only in the beginning. After a while, you do figure out that you have far more leverage than you did before. Just last month, I told some pinprick from Legal and Compliance at my current "client" that he can take what he wanted me to sign, and stick it where the sun doesn't shine. This is something that they wanted both employees and consultants to sign. The employees had no choice in the matter, in the end. But, since none of that was in my contract, I had no legal obligation to masturbate him.
Also, it didn't help his case that he initially claimed that it was a legal requirement, but I actually looked up the law on the web, and proved that it wasn't, but that's beside the point...
---
There are a few books out there on general self-employment, and specifically for software.
The Idiot/Dummy series are decent start.
Even if you manage full time contracts,
you coding will only be half the time.
The other half is consumed by COMMUNICATION.
Get the proper specs and design.
Teach the the customer what you have done.
Promote yourself to the greater community.
Fix bugs.
Therefore, take your coding time estimate and
double it.
Anyway, the contract programmer has to be the best deal I've had. I got burnt out of the salary position and am now making a very good living contracting out.
First off, use an agency. Until you get your name and contracting experience out they are your best bet. They know more people than you ever could.
Don't count on telecommuting until you have proven yourself to a company, in whatever way they want. Sometimes this sucks, othertimes it's quite easy.
Be fierce with your money, keep in mind that if you are going through an agency plan on them getting 30% of your pay for every hour of work you do (You make $70, they make $30 and bill the client $100 per hour). Make them work for you, not the other way around. Never let them forget that you are their client, and it's their responsibility to keep you happy as well as the corporate client. Make them pay you well, not what you think you are worth. You will get more.
Also, use the internet resources as much as possible. dice.com is my personal favorite, as well as most of the recruiters I know.
Don't ever expect overtime, if you do you will be disappointed. You will work 8 hours and only 8 hours, most people dont want to pay for your overtime work. Nor holidays, expect to be forced to take that day off without compensation -- while this is technically illegal under an agency (see FLSA actions for hourly employees) it is the common practice.
Definitely pursue the contracting thing, it's the best thing I ever did. While it may not be right for you, I wish you the best of luck.
Dacels Jewelers can't be trusted.
I started working as a consultant out of school. I was salaried by the firm, but it ended up being an hourly rate. After realizing how badly I was being duped, I left.
Now, I'm working as a contract W-2 developer for a larger private consulting firm. The firm has the sales staff that finds me gigs and I negotiate my rate through them. About half of the developers connected to the regional office work from home.
The money is better than it was at the first place, but it would be better if I were doing the sales calls myself. However, I like the idea that I only have to program and I get the benefits package I would have had to get on my own.
Of course, everyone's mileage will vary, but my experience is that you are just as likely to find good/bad contractors as good/bad employees. The good people are always hard to find, and I don't know that the odds are better for one or the other... I've had to hire full-time programmers and I got thrown so many loser resumes it wasn't even funny...
It sounds like your company needs better screening. Shouldn't screening a contractor be just as thorough as hiring a full-time employee? I.e. look at personality fit, sense of honesty, references, etc. I don't mean to knock your recruiters, but it seems odd that you'd have so many bad experiences.
----------
In a real emergency, we would have all fled in terror, and you would not have been notified.
My skills base includes networks, operating systems, and programming. I'm looking for contract work in networks and systems (together). Almost all the calls I get are for programmers (but I don't want to do programming for other people all day long). But it seems most of the contract work out there is programming.
now we need to go OSS in diesel cars
It doesn't always work, but it's a great way to go is the circumstances are right.
Specifically, the 'others you meet through them' clause in your contract is unenforcable in Illinois and Wisc and I'm guessing nationwide.
--
Then if you decide you want to go it alone you will know lots of people in lots of places who know the level of work you are capable of.
Of course if you suck you may be better off not using this plan as word travels fast then too.
FWIW, I worked for consulting companies for six years and have been on my own for five. The contacts and reputation I build during the six has meant that I haven't had to go through a middle man or look for a job since. They come looking for me, and are dissapointed to constantly hear that I'm not available.
--
The first job offer was for contract programming in perl... a sweet gig, gave me some GREAT experience! The second job offer was to teach classes at a local Technical University on a part-time basis. And, the Third was to do web development for a local company. All three offers were solid, and I actually took two of them (not the teaching one, that's not much my style.)
There are also a number of things that you could do to get your name out there relatively cheaply:
get a website/domain dedicated just to your contract programming work
place an ad in the yellow pages under computer consulting
start going to local groups like: Java Users Group, Sertoma Club (don't know if that's local to this area or not, but it's a businessmens meeting), Chamber Of Commerce meetings (become a member of the CoC too!), etc...
put signs up on bulletin boards at the grocery store, post office, mall, etc.
talk to the local computer shops (not Best Buy or Circuit City for God's sake, we're talking the REAL computer shops) and you can use these guys to scope your competition too!
Learn more about business -- because regardless of how much you know about the technical matters, it won't mean shit if you cann't add value to your client's business processes.
...I do this quite a bit, so if you have any questions, feel free to e-mail me!
-C
"This above all, to thine own self be true"
I've been a contractor now for the last 9 months. I used web sites like www.dice.com and www.monster.com. From there, the recruiters took over and got me the job interviews for those contracts that I was interested in doing. As with most jobs, the most important parts are the resume and the interview (course it helps if you actually have programming skills too). In essence, you have to be able to sell yourself and you abilities. Having done past projects is always a good thing as it gives you something to focus on and talk about with an employer.
As far as telecommuting goes, I haven't done that yet, but I have been someplaces that allow you to telecommute a few days out of the week. Just build up a resume, post it, and wait for the phone calls . . . I've also heard about a new place called www.justunixjobs.com which seems interesting . . .
This site is helpful as well: http://www.cehandbook.com/
-- Juan
Some states (e.g. CA) prohibit ownership of IP which is done off-site and off-hours.
Actually, the California limitations regarding company ownership of IP is not as simple as that. It says,
The long and the short of it is that, if it is in any way related to the work you do for your employer, the employer may own it (even if you did it on your own time, at your own place).
As always, take glib generalizations of law with a grain of salt.
-Steve
Democracy is a poor substitute for liberty.
This poster has some good advice, but it's a little extreme for my tastes.
If at all possible, I encourage you to take up some contract work on the side, and not to quit your day job until you have enough in the way of clients to live on. Building up a client base takes time, and keeping your day job will let you learn about marketing yourself and managing a business without risking everything.
I also found Janet Ruhl's The Computer Consultant's Guide pretty helpful; it's a little dated now, but still worth the dough.
Note that you are unlikely to find a lot of telecommuting work if you're just starting out. But once you've established a decent relationship with a company, they will consider arrangements that they would never do with a stranger.
In my case, I saved up a month and a half's worth of outlay as cash, in case there was a between-contract lull. In retrospect, I should have saved up three months.
I then put my resume on monster.com and computerjobs.com, and waited for calls. They came in a flood. (I am not programming, but doing systems architecture and administration, but there are certainly a lot of programming contracts out there as well.)
When the right call came in, I negotiated a rate and time period, then quit my job. Sadly, I did not get the actual contract until after I had quit, so the terms were not great. I have since built and periodically update an addenda document. Among other things, it states that notwithstanding any other provisions of this contract, I own certain intellectual property (which I list). Generally, it assigns usage rights to the customer for whatever I bring to them, and ownership of anything that I develop on time billable to the customer. In addition, it has a set of terms related to startup, termination, pay periods and lag time, non-compete terms (I refuse to sign non-competes that would limit my ability to do business in any way) and the like.
I have to use this (as a basis for negotiation) in virtually every contract negotiation that I am in. Some customers will not sign up to your minimal terms, and in general it is not worth the job in that case, because they are likely to either try and rip you off, or to be too beureaucratic to stand working for. (Keep at least three months worth of outlays in cash in the bank.)
Some customers will attempt to impose additional terms on you after the contract has started. In my addenda, additional terms not agreed on before the first day of actual billing to the customer are not binding, and termination of the contract on the basis on violation of such additional terms not agreed on prior to initiation of billing requires full payment of the remaining amount due on the contract, with assumptions about number of hours worked and the like. A customer who will not sign this will usually nonetheless sign something reasonable about adding binding terms after the initiation of the contract.
Over time, you will get to know people doing the same work you are, and informal networks of referrels develop. Eventually, this will become your primary means of getting jobs if you are any good.
-jeff
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
Here are some of my experiences:
If you cannot sell yourself you are in trouble. An agency will get you an interview, you will get yourself hired
If you depend on an agency to look for positions before you are on the street, you are kidding yourself. You need to know when your contract date is coming up and force the issue with the current contract or start looking for the next.
Most companies expect to pay more for you and will pay any hours you work. Bigger companies resist paying for overtime, even though they expect you to work it. If that is their deal, be prepared with an alternate rate.
Prepare for a 30, 60, or 90 day billing cycle. This means the work you did in January will result in a check sometime in March. Part of what an agency can give you is the regular pay. They absorb the cycle.
You are responsible for your own training and upkeep.
You are a guest. You have given up the right to complain, remark or criticize unless asked.
You are not an employee. Never forget it because employees do not. Many are great to work with. Many are repulsed by your presence. Why are you paid X more than they are for doing the same job? Forget the reasoning, stay out of it. And yes, someone will tell them how much your billable rate (regardless of the portion you get)
Take a task or do not. Do not complain, whine or describe to the world the pain and suffering you went through to complete the task.
Yes, they did hire someone who could not find their desk with a map and GPS, and they are paying them more. Get over it. You said you would work for X/hour, everyone else is not your problem
If you are paid by the hour, for all hours, I HIGHLY recommend taking on anything past to you at any time. Someone calls me at 8:00pm after I have been working all day...bring it on. You do not want to work yourself to death, but you want to be the person people know they can call anytime. You will be the last of the contractors to go.
Never talk money in the office. It like telling your wife how good your last girlfriend was.
You will need insurance. Join the Chamber of Commerce, etc. They offer a discount rate compared to what you can get on your own.
Build a nest egg first. If the economy tanks, contractors are the first to get booted. Know you will need to live for three months without income.
You will get booted. That is why you were hired, so they could let you go at some point. If you take that personally you will not last long
Finance your own retirement. It's a great deduction and you will not have many.
If you use an agency (W-2), expect them to keep 30% or more.
As your own agency, you lose an additional 10% minimum to taxes beyond what you pay as an employee
Finally, if you do not know the difference between a contractor and a consultant you are the former. Heads down coders are paid the least. Pick up your head and see the forest through the trees. Bring solutions to problems and pay attention to your bosses problems.
As somebody who has employed contractors at my company, I would say I wouldn't recommend it. We hired them because we were in a bind early on in our company's history. They were awful workers, didn't invest anything in the quality of their code and wasted a lot of time and tried to bill us for it. We ended up scrapping most of the code they wrote and I instituted a no-contractor policy at my company. I'm not the only person who's been burned by contractors, and most saavy company's won't deal with them. Why? It's just not cost effective. I can hire three full time, dedicated software engineers for what it costs to hire one decent contractor. And with the full time person we can worry about results and quality. With the contractor, we spend more time worrying about their honesty in billing.
Anyway, there will always be some big companies that don't care about bleeding money through their arses. But the first people to go in economic downturn are the biggest line items on engineering budgets. The contractors. A good quality full-time software engineer I will fight to the death to keep around, because they are extremely valuable assets to the company and our development effort. Other managers feel the same way.
Also, a MAJOR point that you MUST realize. A lot of us who do hiring at software firms will simply throw away the resumes of people who have been doing mostly contract work. Why? They have an ingrained salary expectations that are unreasonable. And they tend to have the attitude that they can bail as soon as they become disinterested or they are mildly displeased with something. These are not the people you want working on your team.
Anyway, just my opinion and the hiring practices I follow. That does not represent my company's official policy or anything like that. But there are a lot of others who share my experiences and my opinion. And while there are some great contractors out there, there are tons more who are highly incompetent opportunists. And the people doing contract work who are employed by low-end contract/consulting firms are even worse.
Another example of a bad contract is an open-ended one. A friend once worked for a company that had a contract which said that the customer had to sign off before they got paid off. Surprise, Surprise: The customer came up with item after item that had to be "fixed" before they'd sign off. I don't know if they ever signed off (this was 20 years ago).
`ø,,ø!
Free Software: Like love, it grows best when given away.
The rule of thumb for contracting wages compared to perm salary is you should get 30 to 40 percent more for a contract, since you don't have paid holidays and other benefits. Many companies (all those that belong to the trade group NACCB) offer health insurance at group rates for their contractors who want to work as W-2 employees of the consulting company. The other advantage to working W-2 is if the company you are working at goes broke you are still paid by the consulting company.
You can also become incorporated. The downside is if the company goes down the tubes and doesn't pay you, you are screwed. You also have to do more complicated taxes, (and ask about 15% more than a W-2 contractor to cover self-employment taxes) but you can deduct quite a few things.
Things to look for in a consulting company:
They should tell you (you may have to ask) that they won't submit your resume to anybody without your explicit permission.
They shouldn't make a practice of contacting people who haven't either sent their resume directly or posted it on a board like Dice or Monster. If you think your buddy Joe might be interested in a job they have, the recruiter should ask you to let Joe know about it, not ask for Joe's contact information. A good recruiter won't try to raid companies for their employees. That is what a headhunter does, and to a good recruiter the term headhunter is derogatory.
The recruiter should share your resume with other recruiters in the company. Where I work it isn't uncommon for one contractor to be submitted to multiple jobs with multiple recruiters (with the contractors permission). This gives the contractor more options with us, and makes it more likely that the job he/she chooses will be with the company.
I haven't worked for an unethical recruiting firm so I'm not sure what else to check for.
When you talk to the recruiter about a job that you want to pursue, be honest about your salary requirements. Usually they will ask for you current salary, your asking salary, and the lowest you would take for this job. The recruiter will use that info to get the most money for you they can. It is in our interest in a couple of ways. For many companies we have a contract with a fixed markup, so the more you make the more the company makes. Also if we make you happy by getting you as much or more money than you asked for you will probably be happy to work through us again. Good contractors are valued at a good recruiting company. We have people who have worked for us off and on throughout the 90s.
A point to remember on how much markup the company use: the money covers your payroll taxes (about 15%) and the cost to search Dice and Moster, they charge companies thousands per year to search resumes and post jobs. The money also has to pay all the expenses, including the back office people who do billing and payroll. Industry standard gross margin (not counting the tax burden) is about 25% to 30%. If you don't like it don't use a recruiting company.
It doesn't seem appropriate to advertise the company I work for, but if you are in the Silocon Valley area and would like to send me your resume you can send it to me by private e-mail. It will be read and shared with the other recruiters, and placed in our database.
Denise
As someone who has only started, to someone who is thinking about it: Don't be too picky. If this is your first contract, it is important that you actually get the job done, get the feeling for it. It is very different from working full time but the difference depends on the company. Don't worry about the author writes just yet, find a contract that will credit you with what you've done.
First - make sure you have know what you want. Set your mind on a specific rate and figure out what type of job you want to be doing. Do you mind working in a very small company? For your first contract, I wouldn't recommend it. If the company is very small and new do an analysis of their business, do a small project architecture overview to find out whether the project can be done in the given period of time. (they all have their deadlines but often no idea about what it takes to complete a project by that deadline). Anyway, starting with a larger company gives you some comfort that they will not go bankrupt by the time they have to pay you.
Do you want to go through an agent? Do you want a short or a long term contract? Figure out what is the maximum amount of time you can stay unemployed while searching for your job. It is very hard to search for a job while working, so you'll have to take a short vacation or use your sick days. I quit Before finding a job, it's hard to work and search for a contract at the same time, you have to go to the interviews, you have to be on the phone all the time, you must be able to make time for interviews quickly. You WILL be offered all kinds of permanent positions while searching on the Internet, you WILL be approached by hundreds of agents, you WILL be offered positions that will require you to move to another city, you WILL be stressed out, you may ran out of cash, you WILL have to get yourself a suit (good if you have one.) Go through the job postings on the web, go through various websites but the best is to go through some contacts. Anyway, if you don't mind giving 30% of what you make to an agent, you'll find a job with them. However if you can continue your search long enough, you'll eventually find something.
You can't handle the truth.
i know a couple people who leave 3x5's at the local techie hangouts (electronic parts/surplus places)
dunno where you are but you could look there.
you could also send a cover letter + resume to all your favorite companies. the response might be low or zero -- but if this is want you want to do, you'll have to get used to people saying "no"
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
I was thrust into the world of independent contract work a couple of years ago when the company I was working for fell apart. All of the other web developers were fired, and I was given the chance to finish everyone's work by myself. I decided to quit instead, and charge my former employer a discounted hourly rate to get their clients off their back. By the time all the existing work was finished, most of their clients had become my clients.
Luck was a factor, to be sure, but it took more than luck to sustain my little one-man operation after the first batch of work was finished. Even if I had gotten started differently, there was more to consider than just the actual tasks clients asked me to do.
The money, at first, seemed like a lot more than I had been getting before. But, what I discovered quickly was that my former boss wasn't lying when he told me where the company's money went. Taxes, payroll, equipment, etc. I needed, and quickly acqired, a lawyer, an accountant, and a new S-corporation. All of a sudden, in addition to being a marginally-talented web developer, I was also an entrepeneur.
My friends, upon seeing the bohemian, independent lifestyle I had made for myself, were jealous and wanted to know my secret. It was no mystery, though, because while I have extreme freedom to choose what I do, I also pay myself about a third of what my friends get on their W-2 jobs.
Why? More important than what your hourly rate is, is what your free time is worth. Working a salary job often means the time the boss wants from you isn't measured. (Hello, 70 hour weeks!) But, when you're hourly, the client expects real work for the time you charge. The 30 minutes you spend talking to your neighbor about Half-Life doesn't usually go on the time sheet. Billing 40 actual work hours isn't as easy as working a 40-hour salary week. For me, this means I rarely bill 40 hours in a week, and when I do, I pay myself so the money that generates covers the whole month's expenses.
My point here is that if you really want to be an independent, be prepared to overhaul your entire lifestyle. You can't be joe salaryman and take the the weekly dole for granted when you're signing both sides of the paycheck. You have to be billing work now and setting up work in the future all the time. You have to make sure if there's a dry spell, there's still money in the account for you and your biz expenses. And, you can't get greedy and spend the next 6 months' payroll you have saved up unless you got the whale-ass retainer check that will keep things going. Learning this discipline is what stops most people I know from doing what I do.
Don't get me wrong, I love working for myself. But now, it's like there's me the developer, and me the entrepeneur. Don't try to do the same unless you're prepared to take on those roles.
Acquiring contract work for programming can be challenging if you just plain on using online resources like elance.com or itmoonlighting.com (neither seem very effective yet imho).
It seems that the best way to get contract work is word of mouth; find a group of *consultants*, people who are already out in the field working on their own and see if you can strike up a cooperation with them; ask them to pass on things that they don't want or can't handle and let them know that you'll do the same.
Also, don't be surprised if all you can get at first is maintenance code. Don't turn your nose at this type of work, it can lead to bigger things especially if you start throughing in enhancements that really save someone time.
Well, I tried it. And I'm afloat. To summarize what follows, you have to work long hard hours and sacrifice the financial benefits of full-time employment for a while. And you have to spend a lot of time doing non-programming related duties such as accounting, bookkeeping, marketing/networking, and writing proposals. First, I got some paper behind my name while I was still full-time and made sure I did my full-time job well. At the time I was doing networking, server installations, and desktop support. Then, some friends and I decided to do a network upgrade for a guy we knew over a weekend, and it went well. We continued to do small, hourly contracts for a fairly small rate (about triple my salary rate though) and built up a reputation with that client. Over time, we got larger and larger contracts for him, including a small database application he needed on short notice. After delivering that, we agreed to do a larger database application without fully understanding the requirements and settled on a flat rate. Although financially we suffered for this, the fact that the application we turned out performed as we believed it should impressed the client that we had programming skills. However, in the course of four days of programming with a grand total of four hours of sleep, I lost my partners. They like networking, not development. Since then, I have done several successful development projects for the client and refined my methodology for understanding customer requirements and providing a satisfactory solution in budget while turning a profit. In the meantime (I know, what meantime!) I spent a lot of time calling up former coworkers and making contacts and buying people lunch. Out of that came my current largest client for whom I am subcontracting on two very large web applications. The original client has brought me on for a large e-commerce project, and I have brought on two friends as subcontractors to help. The downside to this is that I spend sixty to eighty hours a week programming and driving to customer sites. On top of that, I spend ten to fifteen logging my hours, making invoices, accounting, marketing, and attempting to get a good lawyer. My next business strategy change is to try to convert all this hourly work into contract work. All of that probably sounded like complaining. The clincher of the whole deal is that, if you are up to the work, it is a highly rewarding experience to provide solutions directly to clients and make a living doing it. Whenever I finish my website, it will be here. Good luck!
And -- with dot.coms going under, it's really nice if your contract is with the agency than directly with the company.
Benefits? There aren't any. Except the extra money and tax writeoffs when you incorporate!
And buy QuickBooks. If you're contracting, you'll need to do invoicing and keep track of your expenses. Your accountant will appreciate its reporting abilities too: beats a shoebox of receipts. QB does a great job -- has anyone found an open-source alternative that compares?
Join an open sourced project!
I got the impression he wanted to do something they'd pay him for.
--
I can tell you from personal experience that if you're unsuccessful at contracting it gets MUCH tougher to go back to full-time employment at many firms.
Many firms don't understand that not everyone migrates to contracting for non-monetary reasons, and as a result your loyalty can be suspect down the road.
Ultimately there is work out there if you bring something unique to the table... but I thought knowing this might help out.
ttp://www.roytalman.com
www.hiredinsight.com
Unfortunately, right now I'm sitting in my office waiting to hear whether I still have a contract. You see, the company I contracted with sold the department I work for to another company. This company, after the huge cash expenditure, is looking for some quick ways to save money. And terminating contract employees is a real easy way to save some short term cash. After all, contractors know they can be let go at any time. That risk is one reason for their higher salaries. Right now, someone can cut me loose and claim my year's compensation as a direct savings to the bottom line. So I'm sitting here, awaiting my fate.
So, is there a good market for contract programming? Not sure, but you can bet I'll be actively researching that question!
As someone who has done contract work before, make sure you get everything in writing (prices, goals, etc).
Also, take measures to make sure they cannot steal the product from you (don't give the the source code until they pay if possible). If you are going to be doing small, short projects with many companys you could check out Encomia. It does online contracts, digital signatures, etc (I haven't used it but a friend said it was good).
Good luck!
--LordRashmi
Like many others, I have been searching for any form of a programming job. Is it me, or is the market starting to slow down. I have noticed there are a lot less computer jobs these days. Companys going down left and right, has the computer industry reached its highest point ? What goes up, must come down ...
until (succeed) try { again(); }
until (succeed) try { again(); }
Check out allfreelance.com and especially eLance.com and guru.com. There is tons of contract programmer work out there.
You may want to look into working for an agency. They will do all the marketing, will often pay you competively, either salaried with benefits or hourly without benefits. The best thing to me is that the agency does the marketing, freeing you to simply program. AIC is an example of a national agency with this model. Other agencies exist in other areas of the country, check the want-ads.
One thing to be very careful of if you intend to moonlight is to make sure that your current employer does not have a no-compete clause that you have already signed that prevents this! Make sure you haven't signed away your rights to explore contracting, or you may just have to leave your current job before you can even start...
If you run into an employer that likes your work ethic and you like their company, sometimes they will pay the penalty from the agency. This is a rare instance but it does happen, we are investigating that very option. We ran into a programmer with a very good work ethic and he's good with people ( a rare combination).
The bottom line..... If your after money (and decent benefits), don't go to an agency.
I love the smell of Karma in the morning
Participating in the contract programming market, however, means that you'll necessarily be signing at least one contract. Contracts are tricky things, and can range from fairly loose to absurdly restrictive. Since you mention that you already have a job, that means you've probably signed some sort of employment agreement with the company you work for. You might want to take a close look at that agreement, since it may include a clause that says the company owns any intellectual property you produce during the term you work for them, including work completely unrelated to your job that you do on your own time and with your own resources. If your current company owns everything you do, they'll have a problem with you working as a contractor for anyone else.
If you find a contract job and get to the point of having a contract in your hand, I strongly urge you to have a lawyer look it over (at least the first time or two, while you're still getting used to the language). The few hundred bucks you pay the lawyer will be paltry compared to the pain a bad contract could cause you. For example, who's held accountable if a bug in your code is responsible for something bad that happens two years from now? Does the contract state that you indemnify? Because that could really suck for you, and if you don't know contract-speak, you might not even know what you're getting yourself into when you sign the contract.
-laura
Do what a friend of mine did. Find a company that wants developers badly (there are plenty). In the interview, be very firm with your wish to telecommute. If the company doesn't bite immediately, offer to work a couple days in the office so they can see you work. Set a date, before you start working, that you will be converted to full telecommute status. It's very, very important to set the date early or it will never get settled. The company gets to evaluate your work ethic beforehand and you get an idea how the company really works.
We have developers in our office that work from home a day or two a week. It's much easier to justify telecommuting if it's only a few days, rather than vice-versa.
I haven't been on salary for almost thirty years now, and I'm doing quite alright. I wish you the best of luck.
Read the rest of this comment...
I have done contract programming in the past, mainly, I put some LA Police Depts. evidence (paper trails) room on an automated, barcode, account required, blockbuster type of system. I've written other things for them.
I did not write the contract in Legal mumbo-jumbo because I couldn't afford an attorney to do so. So I wrote one in plain English. I scored contract after contract, they felt like they knew what they were getting and I felt like I understood that they understood.
Lesson Learned: the evidence project was supposed to be 90 days at valued roughly $60k. Rather than quoting the project fee, they wanted to to break certain "key areas of functionality" into smaller chucks of cash so they can see where the money is really going. So I broke it down and it changed so much (some of which was accounted for in negotiations) that it really took 180 days.
They day we were to deploy it, they changed their mind about many of the "key areas of functionality" and stated they were "optional" from the beginning. The bottom line, is that I ended up receiving $2,400 for the whole project based on loop-holes in our agreement. Namely, the areas of functionality never stated optional or required, just that they were "eliments" and not "product". Then, agreed early on, they database structure and barcode libraries I could not retain the rights to, simply because they needed to interface with their own proprietary system that I could not gain access to as a developer (for security reasons). So all the software I wrote, they scrapped and kept the database structure and some of the API's, and they kept the barcode stuff (because I couldn't control whether they did or not).
I've sinced changed my contract to two things: 1) quote by hours of labor instead of project based, therefore it gives them less incentive to keep dragging it out, since time-is-money. This usually forces things to be thought through more efficiently before hand. 2) when I do quote by the contract, I have certain fail-safes in place: namely, if I write any portion of an element of functionality listed in the contract and at any point they decide to cann it, instead of paying the agreed upon price for that or those elements, they must pay for my hourly effort at standard consulting fees. I find, it's much more difficult to strike an agreement with that in their, they usually opt for the hourly-based fee instead -- because changing their mind doesn't jack the price up significantly from the fixed project price agreed upon. $2k for a feature, or $4,500 for labor, there is a price difference if I don't estimate my hours correctly and put much time into it and they change their mind.
They are allowed to make changes to the spec, as long as the features are already mentioned in the project proposal. Anything removed (and already worked on) gets paid for, because of the time (invested), or because of the time (if it's a project-based proposal), and anything added not specifically mentioned much be negotiated.
Also, now, in all cases, I retain the copyright and rights to use the software for anything I want, commercial or not, so long as anything specific to their organization is not discussed or included. They also have a right to the source code, but they must sign an NDA and any person directly or indirectly accessing that source, cannot create a competing product based on anything in my source.
As far as bugs and training goes, you have to make sure that you agree to fix bugs but aren't responsible for loss of data, system down time, or whatever. You also have to define that bugs in windows of office isn't your responsibility. You also have to define what the difference between a glitch in the intended purpose of functionality, and what an enhancement is so they don't think that because you didn't agree to list 100 items on a screen instead of 1 is not a bug, but rather an enhancement that was not originally agreed upon.
Training should be fee-based, however, usually it's not important if you don't get creative and stick to their specs or ideals, they should already have a grasp. Some contracts mandated that I figure out how to make things work so for that, training is necessary, a simple walkthrough and explanation is required, but training the users themselves is fee-based. That requires time, patience, and usually ends up in a list of chagnes. So please, cover your ass.
This covers my ass, and makes them happy. The down side is that it's harder to land a contract these days with such strict payment and licensing terms. But I will not go 6 months on a project only to get paid for what I now make in one week. When the contracts are complete, there is a much greater since of satisfaction between two parties and a good business relationship as opposed to my loose agreements before, we both carried bitter feelings against each other. That's another plus that's priceless.
Remember, if you write a contract like an amateur and they exploit the loopholes, they'll treat you and think of you as an amatuer. Presenting a water-tight and satisfactory agreement which they have difficulties exploiting, makes them feel like you are professional and have experience, and they'll respect that.
Bottom line: do your homework and try to think of everything you can to strike a medium between covering your ass, and protecting their investment. Your payment collection should never be compromised, or as I've learned, in 3 contracts not specifying clearly enough, they will find the loopholes and exploit them to their fulleset advantage if it effects their bottom line.
Regards,
Me
How I did it was to find a company I liked, with a product that I was interested in. I then made myself well known on the mailing list (no, not with spam, but by actually helping. :) When this co. announced a job opening, I let them know that I was interested, but that I'd have to telecommute, and the hired me anyway. I think the key is that you have an interest in their company, and the product that they offer, and in the future of that product. You may not get full time work that way, but if you can get a few job, you'll do just fine.
I am currently working a full-time year-contract. There were others I turned down before that were part-time, or shorter duration. What do you program? How strong are your skills? Do you have references?
I didn't even know of the consulting firm I got hired through. They found my resume on my personal website and contacted me. I have lost count of how many have called me so far. But -- if you actively want to persue a specific type of job (telecommute seems difficult to get), check out dice.com -- they have a LOT of listings.
One thing to keep in mind -- if there is something you do NOT want to do, turn the job down -- someone else will come along. I turned down quite a few jobs that wanted me to do J++, and I explained to them I was a Java programmer, not a Microsoft programmer. They had already heard it many times and expected as much from anyone who knew what they were doing. But, they in turn called me on other opportunities, and passed my name along to others.
So, in short, search dice.com and don't be afraid to say NO.
http://www.google.com/profiles/malachid
When switching to contracting you get to choose a tradeoff between responsibility and reward (extra flexibility, diversity, profit). The more responsibility you take on, the better the reward. Some of the extra skills that are desirable in freelancers are: software project management, marketing yourself, learning about software intellectual property and contract law, communication skills, business skills, and ancillary skill sets (e.g. web design, system administration, marketing). Freelancers with these skills are worth more, can pick from larger and broader contracts, and have more control over how they work (e.g. telecommuting).
A lot of freelancers get started by leaving their job and working for that company on a contract basis until they start bringing in outside work. Joining a consulting company is a good option in that you can focus on programming and you get to work with like-minded people. (The down side is that you rarely get to pick what you work on and you only get half of what the client is paying for you.)
Personally, I took the road less travelled. A year and a half ago I had just about given up on freelancing when I landed a large contract developing the back end for Worldisround.com. I work 30 hours a week from home and since I am the only techie I have full control/responsibility over the site implementation and administration. The contract has a 'startup' feel to it, without the additional risk or long hours. The contract has been very challenging and rewarding in every way.
For more information on freelancing, I highly recommend checking out Guru.com. I don't know how many job connections Guru has been making but their articles are invaluable. It is also helpful to go through the process of creating a Guru profile and comparing your profile with others' as a sort of introduction to self-marketing. A recent Guru.com article, Independence Day, might be a good place to get started.