Moving from a Permanent Position to Contract Work? 295
duncan bayne asks: "I'm sure many developers in salaried, permanent positions have been tempted by the self-management, flexibility and higher pay that are the perks of being a contractor, while at the same time looking nervously at the uncertainty and irregular income. So, to all those in the Slashdot crowd who've made the change - what was it like, was it worth it, and what advice can you share?"
Clarification (Score:5, Insightful)
Re:Funny you should ask (Score:4, Insightful)
Contracting is fine... (Score:3, Insightful)
It's a mixed bag (Score:4, Insightful)
I think it's really a lifestyle thing. I like being permanently (although that word is a joke in this market) employed from the standpoint of working on the same project and getting some momentum for a while. But I don't have kids. Don't have a mortgage, so that's really the only advantage to me. That and if you like your co-workers a lot and want to stick with them. Those are reasons I'd rather be permanent.
Not much help, I know. Like I said, it's a mixed bag. Permanence is about more than just stability in work. It's about stability in what you do, stability in who you work with. And depending on if the job is boring and if you like your co-workers this can either be a plus or a minus. I'm just glad I have the financial flexibility to make that choice and not worry (as much) about the financial end of it.
Re:Clarification (Score:3, Insightful)
You should get paid more, and have more freedom in this sense... and you'd need to be self-managing in terms of making yourself get the work done
If you're lucky, you might've found a job where you can pretty much set your own hours anyway -- i.e., if your employer trusts you and believes that you're more efficient and happy when working when you *want* to, then whee! Benefits of regular employment are nice, I do contract work on the side... and thus I've lost all freedom!
-borg
Job security does not exist anymore (Score:4, Insightful)
Re:Clarification (Score:5, Insightful)
That may be; I don't know the legal side of it. But in practical terms, on projects that require interaction with business groups, you will be working the same hours that they do. Furthermore, some companies will require that you work on-site, as a means of providing secure access to company resources -- which will also limit your working hours.
I'm sure it's possible to build up a consulting business that avoids this kind of situations, but you may have to turn down some lucrative jobs to maintain such standards.
Re:Funny you should ask (Score:2, Insightful)
Re:Funny you should ask (Score:5, Insightful)
How do you figure? You can get sued for sexual harassment whether you're an employee or not. You can also be released from your contract for violating the employer's rules of conduct while you're in their building.
Also, basically all CEOs and upper level management are on contract. They may draw a salary, but you can bet they have contracts spelling out things like severance pay and bonus structure.
Re:I went the other way (Score:5, Insightful)
Former Contractor turned Salary (Score:3, Insightful)
-Rick
Don't underestimate the benefits of being fulltime (Score:2, Insightful)
My point is that many people look at hourly rates in the range of $60-$70/hr and *assume* that it is a lot more money than they are currently making. Once you factor the value of benefits, that may not actually be the case. The worst thing you can do is jump into a consulting engagement assuming that you will make more money.
Re:the good, the bad and the ugly (Score:5, Insightful)
I was contracting at BNR (Bell Northern Research, in Ottawa) once, for 6 months. My main work was to fix bugs and maintain two 2-year-old modules of the Magellan ATM switch. The Magellan switch (at the time) had a nasty problem in the back plane design that it could not handle two-way connections, you had to use 2 one-way connections to simulate a two-way connection to make a call. To make a call, you have to go thru a grid of back planes, and you had to take care of state management in HW redundance, etc, which greatly complicated things. The employee who implemented the 2 modules for billing didn't understand it or didn't have experience, it was a classical example of spagheti code. There were at least 3 emergency calls from customers every week. I could've lived on that contract for at least 2 years, if I just fixed an urgent bug a week (which reduced the response time to 1/3 already), and the manager would be really happy.
But I was so efficient in fixing bugs that the group manager kept loaning me to other groups to fix bugs, and made quite a bunch of money on me (each group had internal budget). At the end, with the manager's approval, I just rewrote the 2 modules.
The work was no fun, and you are considered outsider all the time. The group manager was nice enough to invite me for group activities (which was an exception), but you are not allowed to participate in core works. You know full well that you could do a better job, but you have to implement some really lousy design.
And there's no chance for you to get promotion, regardless of your work.
So, if you don't mind the ugly codes, the no-fun work, being considered an outsider, no way to feel being part of a team, no chance for promotion, and if you are disciplined enoguh, etc, then go ahead.
Being part of a team is the fun part, regardless of office politics. You won't have that feeling as a contractor.
The problem... (Score:3, Insightful)
It's all about connections (Score:2, Insightful)
Otherwise, 8 out of 10 contracting jobs are usually doing the crap work no one else wants to do. And working with other contractors IS A ROYAL PAIN. Most of my contracting gigs paid great, but the work was pretty undesirable (read: CODE MAINTAINANCE
I've no choice but to consult! (Score:5, Insightful)
Re:Clarification (Score:2, Insightful)
Depends on the what the contract says, dude. I signed one for data cabling saying I'd be at work at 8 AM until the last light on the switch was lit - or until the boss gave in. Thats just the deal, and the money was almost worth getting home at 3 AM only to wake up at 7 to do it all over again. In the environment I work in now, which is VoIP Administration (Go Gentoo!), a contract would fit me very well but the people doing the hiring are smart enough to give me salary and expect me to get to work on time and leave when it is appropriate, which is usually up to me. I can almost schedule the time that I leave by adjusting the pace at which I operate and plan things throughout the day; something you might expect from a contractor ;)
Its just been my experience that it depends on what kind of person you are and what kind of deal you are willing to sign. If the money is good and you can rock and roll with a keyboard and some crimpers, stay awake late and get up early, then a contract is the way to go if you can get it. In my case, personally, I grew a little tired of 80 hour weeks and kind of enjoy my desk job. It's about half the pay but it is far less than half the work.
Ask yourself this: What do you want and how bad do you want it?
Speaking as someone who has done both... (Score:4, Insightful)
To run your own business, you have to be someone with the capacity to make sure people pay, be able to negotiate, deal with folks who don't compensate you, etc. You have to be able to have the courage to ask for fair wages. You have to deal with clients who change their specifications constantly and don't want to pay you more for it. I've taken to getting signoffs on the specs with the understanding that changing the specs later will result in extra cost.
This does provide flexibility and more free time, though personally I've had trouble keeping a steady flow of work which has hurt my overall profitability.
I tend to do a lot of long term contracts, and then pick up short term work in between jobs. It's a nice thing to be able to fall back on.
A few tips (Score:2, Insightful)
Re:If you work by the hour, you are a temp. (Score:3, Insightful)
Contracting (Score:2, Insightful)
My 2 cents:
1. The general rule of thumb is to charge 50-100% more than your salary was.
2. Buying health insurance is going to be a major pain if you are in the US and can't be covered with your spouse's work plan. Plan on spending $600-700/month. Prescription coverage is especially hard to get. (When I started consulting, insurance was $600 PER YEAR!)
3. Think about incorporating, probably as a LLC corporation. Buy Nolo's books on corporate structures and definitely talk to both a lawyer and accountant. Incorporating will help protect your assets if you ever get sued and can also give you more tax deductions.
4. Tax deductions are your friend. Deduct everything your accountant says you can - car (if you travel to a client), health insurance, computers, your cable modem, books, education expenses, etc.
5. You will have to pay both sides of social security taxes in the US. That means 15% of your first $80k in income is immediately gone. You may have to pay medicare, unemployment insurance, local taxes, etc.
6. Unlike what someone else said, I prefer hourly to fixed price contracts. This allows for the client to make changes (they always do) and you get paid for debugging, installers, research, testing, localization, etc. NEVER SIGN A FIXED PRICE CONTRACT WITHOUT A DETAILED, COMPLETED SPECIFICATION. Always try and make a client responsible for testing the software when possible, for liability reasons, acceptability, and because it's very hard for an individual to test software on many different operating systems, hardware configurations, etc.
7. Look for other clients. One client isn't enough. When money gets tight, contractors will be the first to go.
8. Look for other contractors and possibly join forces. Networking is vital.
9. Open a retirement account - definitely a Roth IRA and probably some other kind too (SEP IRA, SARSEP, etc). Your accountant can give you the details.
10. Never sign a contract with someone you don't trust unless they have deep pockets and even then it's probably a bad idea.
11. You are charging a lot of money. Make sure your skills stay ahead of everyone else's. When I started consulting C++ didn't even exist. I've been through new languages, new operating systems, new tools, embedded systems, server software, client software, etc. It's getting impossible to keep up with everything, so you need to predict the future and learn it ahead of time. You *will* make mistakes (I spent a year working on OpenDoc!), but hopefully you will also grab onto something new that will take off (I also spent time with early versions of QuickTime because I knew it was going to be big).
Contracting can be great, but it's definitely not as easy as sitting back and collecting a paycheck.