Slashdot Mirror


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?"

16 of 142 comments (clear)

  1. have a bit of money set aside by Anonymous Coward · · Score: 4

    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.

  2. Dice.com by Anonymous Coward · · Score: 5

    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.

  3. Some tips from an Ex Contractor by Anonymous Coward · · Score: 5
    I was a contractor in the Late 80's and Early 90's (Now I'm a professor) in the U.S. So although my advice may be somewhat dated, some of it may still hold:
    • There are several ways of contracting, none of which are any more secure than being employed directly. They are:
      • Work directly for a contract house, some places (e.g. Anderson Consulting) do this. Often people affectionately call the placement people in such organizations pimps (behind their backs of course) and time between jobs is sometimes referred to as being on the beach or down time. You get the least pay from this, but they contract house provides benefits and pays your down time.
      • Be subcontracted via a contract house. This gets you a higher hourly rate, but does not typically offer benefits. The contract house pays employer side taxes for you (usually). The advantage is that a well connected contract house can help you find a job if you are new to an area.
      • Contract directly with the customer. This option has some advantages, since you keep all you make. However, you need to do your own employer side taxes (since you are now self employed) and you need to do your own billing. I'd recommend considering hiring an accountant and perhaps a lawyer to manage your affairs, since these details can be time consuming. Many organizations have a 90 day or more lag in paying their bills (bigger organizations may do more foot dragging).
    • Location is important, being in a high tech area is best, being in a major city/financial center is a close second.
    • Reputation is very important, I recommend that you do what is best for your customer, even if it means you are inconvenienced. If you can finish a job ahead of time and under budget, you may be out of work, however this can lead to better long term opportunities.
    • The quality of the available assignments often depends on the state of the economy. Many places don't hire contractors when times are bad, or only hire when they have a software fire to put out. Often jobs are coming into a situation where all the useful people have quit, and they need someone to prevent financial catastrophe due to missed deadlines.
    • You should be very good at reading other people's software, since you often won't have the luxury of coming in at the beginning of a project. Often the software which is "close" to working has serious design flaws which you need to work around.
    • Consultants must be able to step in quickly and productively. Most places are very unforgiving of consultants who take several weeks to show progress. On the job training is rare in consulting, the consultant is expected to do this outside work.
    • Generally speaking, it is considered good form to renew or extend your contract if the customer requests it. This may not be what you want to do.
    • Some jobs are fixed rate, some jobs are hourly. If you take a fixed rate job on, be sure to carefully estimate the amount of effort needed.
  4. Re:a few tips.. by Johann · · Score: 5

    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
  5. How I made the plunge. by mrsam · · Score: 4

    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...

    ---

  6. Contracting Jobs by beta64 · · Score: 4

    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
  7. If you are good, it pays, if not it still pays... by Kefaa · · Score: 5
    I have been contracting for about 5 years. Before that I was 12 years with a fortune 5 company doing development work.

    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.

  8. Information on contracting through a company by snakelady · · Score: 4
    I am a technical recruiter in Silicon Valley with an established firm. We place a lot of software engineers, technical writers, and various other technical professionals.
    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

  9. Being more than a programmer by gestalt · · Score: 5


    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.

  10. Social Networking by jstone · · Score: 5

    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.

  11. Advice from my limited experience by hoegg · · Score: 4

    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!

  12. RE: Contracting ... a bigtime warning by rustin_ross · · Score: 4

    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
  13. Use your social contacts...and find a lawyer by lwollstadt76 · · Score: 5
    In my experience, the easiest way to find good programming contacting jobs is to ask around with your group of geek friends and see if any of their companies have short-term programming needs. This only works, of course, if you have a group of geek friends who work for different companies -- but it can be a good deal if that's the case. Even if your friends' companies think they're only interested in hiring full-time employees, you may be able to convince them otherwise.

    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

  14. Of course there's work by Chuck+Flynn · · Score: 4
    To make an omelette, you have to break some eggs. To become a successful self-employed contract worker, you have to take a few risks with your livelihood. But risk-taking is what life's all about. My advice:
    1. Quit your existing job now. They're just draining your time and energy, and you obviously don't like them if you're considering starting out on your own.
    2. Get some business cards. I don't know how many people fail to recognize the most rudimentary of marketing skills like presenting your product (yourself) in its best light. If it's not worth summarizing in three lines on a piece of index paper, then it's not worth saying.
    3. Call in all your favors. If you've been a good employee in the industry, then you've met lots of other programmers at conventions and parties. Chances are you've caught some of them in compromising situations. Blackmail isn't always pretty, but it's a surefire way to get people's attention.
    4. Post flyers on lampposts and traffic signs. Common leafleting is not just for garage sales anymore; legitimate businesses are using the plebeian means of advertising to their own advantage, and so should you.
    5. Keep in touch with your parents. Even the best laid plans are laid to waste every now and then, and it's important to keep a lifeline with people who have deep pockets. If your parents don't have any money, then I suggest exchanging them for a different pair at the local shelter.
    6. Pray. A lot. It's a tough time, and it takes tough people to make it through. Don't do it alone.

    I haven't been on salary for almost thirty years now, and I'm doing quite alright. I wish you the best of luck.
  15. Lessons To Learn From by leabre · · Score: 4

    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

  16. finding the job by neuroslime · · Score: 5

    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.