I am currently working as a full time software developer in the USA. I have a B.S. in Computer Science and over 4 years of professional experience (so I'm still sort of in the junior developer phase). The idea of doing contract work as opposed to full time work seems attractive to me for a number of reasons:
Obviously, some of the downsides are:
To those on here who are contractors: are these list of positives/negatives accurate from your experience? My primary skills are in C++ and C#/.NET. I've been searching on sites like Dice.com for contract opportunities and in some cases I see some that explicitly state that they are looking for a younger developer to work on a 6 month contract (my assumption is that they are hoping to find someone who could do the work for less money than a senior developer). Their pay rate offered is still much higher than my current pay rate. It was just one example that I found and I'm sure it's probably not the norm.
The thing is, as I said earlier ... I am in my mid-20's, in good health, do not own a home, not married, and do not have any kids to take care of. Even after all of that, I'm still sort of worried at the prospect of somehow not securing another gig after the first one is up. I'm worried that I would end up becoming unemployed for too long and then employers wouldn't take me seriously anymore after a while. From your experience, is this something to worry about? Otherwise, I find the prospect much more exciting than full time work and would be willing to take the risk if I knew I had a decent shot at finding new gigs each time.
I would say to 100% do it at some point, but maybe not quite yet. Four years of experience might not be enough to get really great contracting work, but maybe it is...
I highly recommend teaming up and working under another experienced consultant that has some tight connection to a director, CTO, or CEO of where you are contracting to. You will take a lower wage, but you will learn a lot and you will be (presumably) safer than just some job off of dice. Do you work with any contractors at your current gig?
For insurance, I used to go through the ACM and paid something around $200 a month for pretty good health insurance (I think I was 26 when I took coverage).
The biggest benefit of consulting/contracting is that you should maintain your own intellectual property for outside work (if you set things up properly). That is the #1 benefit to me.
If you don't love your current gig, then I would go for it. If your current gig is pretty decent then I would try to network before making the jump. Try like hell to never go through a headhunter. I never did... direct relationships are much much better and certainly a heck of a lot more profitable.
As for taking the risk... Be smart and use common sense, but don't worry too much because you have marketable skills and can probably get hired someplace if everything else fails.
Also if your are in your 20's don't forget to go out and have fun!
4 years is low - in general, contracting is not for junior people if you want good money.
Now, your negatives are aprtially bollocks. I give you an example why. You say it is a negative to have to search new work eery X months (X can be large - the contract I am in now runs in month 10 and will go on another 12 or so). But otoh I earn gross about 2.x times what they would pay me, and am tax wise a lot better. Having a month off every 4 months would still not make be break even. And in those times, even hired developers get fired - especially juniors.
Second, constantly learning new technologies. Sure. If you are employed for life. Which you are not. Otherwise - nex time you switch jobs, guess what - either you are a specialist (I am - I only take certain technologies and fields of work) or you... have to learn, too.
Both are not really negatives of a contractor.
At the end, i think it is a question of what type of person you are.
You sound like you are a lot where I was! I didn't end up going into contracting, I ended up setting up my own company, and hiring people to do web and software projects. But, similar risk... except i had to find all my own work. Not use recruiters, dice etc.
You have to know yourself. I had the confidence that I would have no problem finding another 8-5 job slinging code somewhere. I also would have rated myself more towards a senior developer as I hadn't really run into anything I couldn't figure out a way to solve, even in technologies I was totally unfamiliar with when I had to use them right out of school. eg: Crystal Reports (ack!)
You may want to consider looking into a company like Teksystems. Not sure if they are in your area, but something like that probably is. They essentially middle man deals, companies come to them looking for certain skills for a certain amount of time and the send them possible candidates. Maybe you can do that while you still have your job? Once you secure your first 6 - 12 month contract you can quit. If you do well Teksystems or whomever will work hard to find another gig for you, for more money. As you do it for awhile you'll eventually get offered contract gigs back with previous companies or friends of theirs and can start working outside of the staffing company making even more.
I have a business, but if I didn't I would be doing contract work for sure. It's fun to learn about new businesses, solve new problems, learn new technology. I have friends sitting in the same cube working on the same small portion of an enormous software app. New feature here or there, bug fixes, maintenance. Yuk!
.NET is still very much in demand.
But you can test it out before quitting your job, if you get a gig then put in your notice.