Moving from a Permanent Position to Contract Work?
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?"
Contracting isn't exactly self-management. Many companies prefer to do all project management themselves and simply treat contractors as implementers.
since I'm contract I can hit on the hot workers at my workplace without having to worry about any side effects.
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.
Breakfast served all day!
I did it for one year, almost ten years ago. It sucked, especially for #6 above. As a contractor, you are considered a code monkey, you are not involved in any part of the project except coding, fixing other people's bugs, and testing. Well, it makes sense, which company is stupid enough to let contractors do the core?
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.
Being in my late 40's, it's almost impossible for me to find a technology or programming position with an established company. I'm either too old, too set in my ways, will want too much money, over experienced, too primadona, or too close to retirement age to be of any consideration compared to the 20-somethings out there. And since I don't want the headaches or want to play the politics of a management position, I'm basically forced into becoming a freelance consultant. With that in mind - I love it! I make my own hours. True, I usually work 60+ hours a week. But, I get to choose to take a morning off now and then without having to ask anyone for permission. Yes, the financials are a bit of a nightmare, but once you get the hang of it and keep track of every cent made, and every receipt, then it's not so bad. Also, if you have a lot of experience in a specific area of technology, and you have a knack at writing then you could also look at writing articles and books. Between writing and programming, I'm managing to keep pretty busy.
TheTiminator