Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Leaving the whole pie to only a few of them, amplifying the huge differences between the two status. Pay is a (huge) one, not having to do overtime is another.

I leave the question open to hopefully get many great answers on all the different subjects that affects that feeling and decision not to go.

EDIT: While this question is really global, I'll be interested in any studies, facts, articles, opinions regarding local markets such as US, India and even Australia in which I'm in love with.

EDIT2: Bounty of 500 points for anyone that will come with recent studies on the subject. If multiple answers, will pick the one with the most upvotes.

share|improve this question

closed as not constructive by Yannis Rizos Mar 8 '12 at 12:22

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

3  
@Pierre Do you have data (of any kind) to back this claim? –  Fanatic23 Dec 4 '10 at 13:08
2  
What on earth do you mean, "in the worst case" ? The worst case is you can't find nearly enough contracts, there is no bottom end. –  Jeremy Dec 4 '10 at 14:03
1  
@Jeremy: I've never met any freelance developer that wasn't able to get contracts, and even not being able to choose between several. Not a single one. However, I did met some employees struggling, but that was because they were "just programmer" (too long to explain). I still get today 3 to 10 proposals a week by head hunter even I'm not active anymore in the market. –  user2567 Dec 4 '10 at 14:05
5  
@Pierre, with all due respect, you are in Belgium, and Belgium is different from the United States. –  John R. Strohm Dec 4 '10 at 14:18
7  
Pierre, I think the difference is that here in Europe, in many countries, employees are sooooooooooooo much regulated by laws meant to protect them, therefore being a freelancer makes a big difference for both the worker and the employer. In the US, without the whole welfare state thing, there is less difference. –  user281377 Dec 4 '10 at 17:08

28 Answers 28

up vote 69 down vote accepted
+500

Don't know about others, but thinking about myself:

  • I have a job that I'm currently happy with. I work regularly and get paid regularly. Of course there's always too much things to do, but still, the work is mostly interesting and the workload is approximately constant and predictable. Hardly so with freelancing (think of work requests as a Poisson process, and how the stability of frequency depends on the average frequency; a cafeteria with 10 customers and 1 toilet is not linearly proportional to a cafeteria with 100 customers and 10 toilets, i.e. the queue is not similar).
  • Going freelance would require me to do all the marketing, selling, bureaucracy etc. boring and scary (but admittedly, important) stuff. Actually I don't think I could do it successfully. At least I would hate it.
share|improve this answer
2  
+1 for marketing and selling. Here (Perú) it's near impossible for an individual to get a reasonable agreement with any kind of business bigger than 'mom & pop'. and those work ok with just hotmail, excel and facebook. –  Javier Dec 4 '10 at 11:48
7  
+1: I was a pretty successful freelancer for years, but I couldn't stand marketing myself, and dealing with billing and crap like that. Traded it for a 9to5, and I haven't really had any regrets. –  Satanicpuppy Dec 5 '10 at 2:06
6  
+1 for bureaucracy. I would go insane from the administration parts of running my own company. –  rmac Dec 6 '10 at 21:05
5  
+1 for admitting "I don't think I could do it successfully". Knowing one's limits is crucial to success. –  user8685 Jan 13 '11 at 23:50
2  
Are you the toilet in this analogy? :DD Joking aside, I can definitely relate to this, so +1. –  Andreas Johansson Mar 23 '12 at 14:08

The tax reform act of 1986 made it very difficult for programmers and engineers to be 1099 contractors. If you remember that guy (Joe Stack) who flew his airplane into the IRS building last year, his complaint was about this very same act that statutorily turned him from a 1099 contractor into a W2 employee. Interpretations of this law are why programmers have an almost impossible barrier to being freelancers.

The suicide pilot's alleged manifesto evidently cites his outrage at Section 1706 of the Tax Reform Act of 1986, which affected Section 530 of the Revenue Act of 1978 (note, neither are part of the Internal Revenue Code). The section involved high-tech consultants, which faced IRS confusion about whether they should be treated for tax purposes as employees or independent contractors. In 1978, Congress passed a moratorium, allowing individuals to continue as independent contractors ("grandfathered" in or "safe harbored"), as long as they had a reasonable basis for doing so.

As part of the 1986 Tax Reform Act, that moratorium was abandoned for high-tech consultants, who then faced the same employee/independent contractor test as everyone else. High-tech consultants were targeted because there was strong evidence that they were abusing the moratorium as a tax shelter and because it fit a need to offset a separate unrelated tax change in the Act that would result in a revenue reduction.

http://www.taxfoundation.org/blog/show/25870.html

share|improve this answer

Tax laws aren't as bad in the US as they are in Europe, but this NY Times article highlights how a specific US tax law discourages programmers from running as freelancers.

share|improve this answer

In the UK, sales and marketing don't have to come into it that much.

Now of course, I network, keep in touch with old clients etc, but really you don't have to market yourself other than sending in your CV/resume for advertised contract positions.

Contracting/freelance can be very much a body shop type arrangement. Client needs someone, but doesn't want to hire a permanent person, so they bring in a contractor.

They pay more up front in terms of a daily rate, but once you take into consideration no pension, holiday/sick pay, no bonuses, no percentage admin cost (HR, facilities) etc multiplied over a long period of time, things start to even out.

For me the accounting side of things is easy. I have an accountant, he costs approx 5 days of my average daily rate per year.

In the UK it certainly is not as buoyant as Belgium sounds, but I do ok.

share|improve this answer

For a lot of people, it's about having to constantly find work. With freelancers, you need the social skills to sell yourself for each contract, and as we all know social skills are not our strong point. People like to have a stable, constant job so that they can focus on what they love, which is programming.

There is another downside as well, in that the people that are hiring you are always trying to lower your rate, and that kind of social pressure is like a return to high school.

share|improve this answer

For me it was the travel, I could not find enough work close to home. Having more money but spending less hours at home was not worth it for me.

share|improve this answer

I agree... A lot of the problem is programmers can't figure out basic math once you stick a dollar sign in front of the number.

If you're trying to do it full-time, then you have to figure you'll spend 50% of your time on sales & marketing... and if you take a couple of weeks vacation plus a couple of weeks down time (sick, learning, conferences, etc...), then you have to figure you'll bill 48 weeks * 20 hours per week = 960 hours per year.

To make $105,000 per year, which is equivalent to an $80,000 year "job", then you need to charge just north of $100 per hour. As a result, there's a HUGE amount of churn in contracting... guys trying to charge $40/hour and giving up after a few months.

share|improve this answer

A question like this is very difficult to answer on a site with global attendance like this one because cultural (and legal) differences play a major factor.

E.g. in Sweden and German I believe that it is legally very difficult, virtually impossible, to lay off people. Therefore the employers are more keen on hiring contractors than here in Denmark where I live, where it is relatively easy to lay off people.

(originally written as a comment, but it was hinted that it could a great answer itself, though personally I think it is more a non-answer, an answer that points out that there really is no answer)

share|improve this answer

Consultants who are making money probably stay with it and those that don't, go get jobs. That will throw off the averages. Why be a consultant if you can make more money on the job?

All things being equal, I'd rather be writing code than continuously trying to explain to people that I can write code/looking for work. If a firm is doing this for you, you're not making that much more than an employee after they take their cut.

Now if you want the flexibility to one day start you own company, I would do contract work.

Edit: I use to be able to get contract work, but I had a contact that did IT consulting. When he had clients that needed custom programming, he'd call me.

share|improve this answer

Fear of the unknown and complacency is what makes many people opt to work for someone else over self-employment. Many of the arguments I've seen here can all be addressed with the right approach. Being successful as an independent consultant requires upfront planning and calculated steps before you can just go.

I'd say the most important thing is to build up a personal brand before going independent. Get your name out there, dive deep into the community. Maintain a blog for a few years, submit an article or 6 to technical publications, contribute to an open source project or start your own. You don't have to be a master of every technology out there but be good enough at something so that your name is on people's minds when they think I need someone who knows how to do [X].

After focusing on your personal brand, the next thing is to build a cushion. Save up enough money so that you can go a few months without worrying about income (on top of the recommended 6 months of savings). Once the fear and worry of paying the bills is out of the way, you can focus on finding the right projects for yourself.

Find an accomplice or two to join you. You can tackle bigger projects and provide support for each other.

  • Programming as a Commodity Driving Rates Down It takes the same amount of time and effort to pick up a contract paying a crappy rate as it does to pick up one with a desirable rate. The onus is on you to convince the client that you're worth the better rate. Going after fixed bid contracts sounds risky but if you're confident in your expertise, you can make a fixed bid that gives you a rate that you'd feel embarrassed to express in terms of hourly costs.
  • Have to Market Myself/Find Business If you prepared accordingly, the marketing has been done for you and business tends to come from unexpected places. You can't just wake up one day and say "I think I want to be an independent consultant" and expect everything to just fall into place. All the proving of your qualifications has been done before hand through your contributions and community recognition.
  • Don't want to handle the tasks of running a business Nor should you. There are plenty of people like you with skills in various aspects of business management who are perfectly willing to take your unwanted tasks. Yes you COULD fill out the paperwork for incorporating...or you could spend $40 to have a company that specializes in it for you. You COULD handle payroll yourself and do tax filings and manage your books or you could find an accountant to do that for you. Even better, you could find another recently liberated entrepreneur who doesn't have the overhead of a big accounting firm to do it for a lower rate. I'd even recommend hiring someone else to do your website, even if web design is your speciality. There is a local web developer who hasn't had the time to even complete his website because he's been busy working. It's all about figuring out what your time is worth to you should you spend 10 hours building your website or $500 to have a professional do it? If your desired bill rate is $50/hour, that 10 hours cost $500 plus lost time that could have been spent finding your next client. (When making your cushion, make sure you add these costs in as planned expenses).

Once you've decided that you want to be independent, start planning and preparing for that day. Mark it on the calendar and plan for that goal. Success doesn't happen overnight.

share|improve this answer

I'm a contractor in the UK

This is different to freelancing in that the term of the engagement with the client tends to be much longer (6 months and more), but I feel that it's worth mentioning this type of working in the context of the question since it is closely related.

I've been contracting for many years and have been fortunate to avoid any significant break in my work. Almost without exception I have worked through an agency (normally a different one for every fresh contract, but I have been able to get further business through some agencies) and I find that arrangement works well for me and them.

Minimal marketing

I don't have to market myself, other than by keeping my CV up to date and participating in various online communities (mainly Stack Exchange and LinkedIn) which I would do anyway.

Keeping current

I do have to keep myself abreast of the latest developments in my field (I specialise in Java web applications based on open source software) but, again, I'd do that anyway. Typically, I work 9am to 5:30pm Monday to Friday and that is almost continuously spent coding.

Getting paid

I don't have to worry about chasing invoices. I have been fortunate that all the agencies I have dealt with have been reputable and prompt in their payments. They in turn rely on the prompt payment from the clients who tend to be medium to large enterprises (>100 employees).

The downsides

I don't want this to turn into an advert so I'll point out some of the downsides to contracting in the UK:

  1. Taxes are higher than they first appear (but less than equivalent permanent employment)
  2. You have to use an accountant to ensure you're operating your business correctly
  3. You must be prepared to travel if you live outside of a big city (travel and hotel costs eat into your daily rate big time)
  4. You are entirely responsible for arranging your retirement (pension, lottery winnings, iPhone app etc)
  5. No holiday/sick pay (you don't turn up for any reason you don't get paid)

Why aren't there more contractors?

Talking to my fellow contractors and various permanent employees the main reasons for not jumping into contracting seem to be (in order of prevalence):

  1. The constant changing of working environment (travel, colleagues, codebase)
  2. The hassle of running a business
  3. Fear of the unknown and the perceived high risk nature of it

Recent research regarding freelancers

In accordance with the edited question, here are some recent studies that examine the question of freelancers in terms of their presence in the labour market.

Professional Contractors Guild (UK)

Do you think the number of freelancers will rise of the next 10 years? (Poll)

...Dr Bellini’s lecture touched on a number of themes, attempting to map out the freelance landscape over the coming years. He predicts that there will be a fundamental shift in working patterns, marking the death of the 9-5 and rise of the freelancer. Dr Bellini believes the size of the freelance marketplace will double over the next 10 years.

Prime Minister praises UK freelancers (includes cited figures)

He went on to state: “The 1.4 million freelancers in our country make a massive contribution to our economy. More and more people are choosing freelancing, recognising that it strikes the right balance between work and life in the 21st century, and as we go for economic growth this Government is getting right behind them.”

Analytica (Peer reviewed journal on division of labour)

Getting the message: Communications workers and global value chains (PDF) by Catherine McKercher and Vincent Mosco

They are part of the growing ranks of freelance computer programmers and other high-tech workers, who move from contract to contract and from employer to employer. Caraway notes that, in the current economic downturn, ‘flexibility, or the ability of capitalists to mobilise and demobilise labour on demand, has taken on a new significance – and a new air of inevitability’

These articles all point to a general trend of increasing numbers of freelance workers who wish, or are being forced, to change their working patterns.

share|improve this answer

For some of us, being part of a team beats being a lone ranger.

share|improve this answer

It seems to become increasingly difficult to work on projects alone. There seems to be quite a bit of work out there, but not something I can take on alone.

Most projects are becoming more and more complex, and it takes a team of developers/designers, etc. This becomes difficult in freelance as I would have to contract out some of the work.

share|improve this answer

DEBT

In my youth I didn't think debt was a big thing, and got into a lot of student loans. This now means I get to work very hard to pay them off. A startup business wouldn't provide the income I need to keep up.

The SBA has shown in the past that a high percentage of businesses fail in the first five years, and one of the major reasons is under-capitalization. I would recommend that anyone getting into their own business make sure they can support themselves for a long period of time without any income from the business.

Having said all that, as soon as my situation changes, I will be looking at getting back into business full-time (have had a few side ones in the past). Even if I don't make as much as my job, the freedom is worth the cost.

share|improve this answer

In the US, health insurance is tied to your employment status. If I had a spouse who could put me on his health insurance, I could consider freelancing full time, but I could never make enough money to pay for living expenses plus private health insurance at my age. Health insurance for people over 50 is very, very expensive, I need to be part of a group policy.

When I did freelance in my 30's, I frankly hated it. I spent too much time on marketing and accounting and not enough time on the interesting parts. Plus I hated not knowing how much money I would have in any month (customers sometimes being slow to pay as well as variances in how much work I had), makes it hard to plan.

share|improve this answer

I think a lot of it is the illusion of job security most people currently have when they are employed full time. I have not seen that full time employers are now any more loyal to there FTEs than they are to contractors.

There is also the administrative overhead (billing, taxes, accounting, etc, etc) of freelancing that most people don't like to deal with.

share|improve this answer

I would probably never consider going freelance, for all the reasons others have already given...

On the other hand, I would indeed consider starting a software company (be it for the web, mobile or desktop). This is a completely different venture! It is very difficult to be succesfull, and you still need a lot of work that's not programming. But at least, if it really works, you're not limited into getting rewards proportional to your quantity of work as is the case with freelancing: you can get exponential returns!

share|improve this answer
2  
Being freelance first may help as it requires essential skills that are also vital in small businesses. However you will need lot more to succeed. So it is safe to "test" yourself being freelance or use the status to learn what you need. –  user2567 Dec 4 '10 at 18:57

In my experience, most programmers don't have all the qualities necessary to survive as a freelancer. A small subset of these include:

  • Extensive knowledge in multiple domains (or in one domain that's in very high demand)
  • Motivation
  • Ability to self-organize
  • Social skills
  • Salesmanship

Lots of programmers have three or even four of these qualities, but vanishingly few possess all of them. Some people believe that the last two can't even be taught. Someone who doesn't possess all of these qualities probably won't be successful as a freelancer.

For me personally, I worked for two years as a freelancer before my contracts dried up and I had to get a 'real' job again. I learned that I didn't have the motivation to go searching for new work at the same time I was putting in 50+ hours per week meeting existing contracts, nor did I have the salesmanship skills necessary to negotiate a living wage for my services. I'm glad I gave it a try, but it's nice to be back at a small company with a few salespeople to take care of the stuff I'm not so good at. (Man, do I ever appreciate the work they do now!)

share|improve this answer

Being self-employed is great. You can name your own price, and only have to work half a day.

You even get to choose whether it's the first twelve hours or the second twelve hours.

share|improve this answer
10  
Or the third twelve hours, or the fourth twelve hours, or… oh my! –  Alan Pearce Dec 4 '10 at 17:19
2  
Anyone can name their own price self-employed or otherwise. –  JeffO Dec 4 '10 at 22:57

Good programmers who stayed in the freelance realm are good with customer service, business oriented and proactive. I think being freelance is much more challenging rather than being a programmer for a corporate world. The challenge do come along with rewards.

Other than that I think all developers should at least pick up side freelance project if they have corporate jobs as their main source of income. In doing this it gives them the opportunity to market, network and also test the water of freelance world.

share|improve this answer

Well, here in the US I have known many freelance programmers who could not get enough work to support their families. I have hired several who gave up freelancing for this reason.

I have considered doing it, but it is very difficult to get started without a potentially long interruption or reduction in income. Until you have a stable of satisfied clients you will not have the luxury of opening your door each time you need more work.

Also, I have tried getting started by doing smaller projects through freelance sites but the competition for those is insane with ridiculous low-ball bids and immature buyers who have no idea what they want or what it costs. .

share|improve this answer

Because

  1. Programming is becoming (if not already) a commodity skill and competition is cut throat. That makes pay rate
  2. To make serious money you need to keep in touch with the bleeding edge of technology these days and that means a lot of investment into yourself. Most people by nature are loathe to make such efforts. In good old times, C++ or COBOL alone would have fetched you 30-50$/hr if not more, these days you need a lot (hell lot really) more than that. How many people do you know who are learning GPGPU with C++ or a distributed source control like Git just to stay ahead of the curve?
  3. Industries by themselves are penny pinching, making do with limited developer pool to do extra work which could earlier be contracted out
share|improve this answer
3  
#3 is exactly why they need freelancers - they keep the number of employees as low as possible, but will encounter peaks as any business does. –  foo Mar 16 '12 at 19:07

I imagine that every one of us wants stability and freelancing isn't exactly the same as an 8 hours job where you know that at the end of the month you will have an $$$ fat paycheck. Also, when freelancing you will probably spend a lot of time looking for work, dealing with contracts, clients etc.

I, for one, would prefer a stable job and income even if sometimes I'll have to work extra hours.

share|improve this answer

Ok, two myths there: 1) Pay - it may look like there are wide gaps but there are a lot of hidden costs to employing someone that a contractor or freelancer has to bear for themselves 2) No overtime. Really? It may not be called overtime but you're not liable to have to work any less hard.

On top of which - depending on location - employees get paid holiday and all sorts of other benefits (e.g. pensions, paid sick leave) that freelancers have to fund themselves (c.f. hidden costs above).

Further, a freelancer has to do all the stuff that programmers often struggle with - find business in the first place, manage the work they have, invoice, chase invoices, chase invoices some more (getting paid is much, much easier when the company runs a payroll every month), deal with taxes and expenses and capital allowances and all sorts of things that you tend not to have to worry about as an employee.

share|improve this answer
8  
Grey area - freelancers can end up getting pigeonholed too and for most people choice is a myth, you do the work that is available rather than being able to pick and choose (some do, good for them, but some is not all or even most so far as I'm aware). –  Murph Dec 4 '10 at 12:47

I would love to work for myself, and even recently tried being a freelancer for 3 months earlier this year. It didn't work out quite like I hoped, and after I got a good offer from a good company, I went back to full-time salaried employment.

These are the negatives I experienced while freelancing:

Writing code has become a commodity

Let's say I can make $X an hour (average) on salary. Insurance benefits, stock options, bonuses, etc., generally make that $X * (1.2 to 1.35) or so, let's call that $Y. Here in the US, as a freelancer, you pay approximately 7% higher taxes (you pay the extra Social Security your employer normally pays). There is also the time you spend networking and bidding which you won't get paid for, and the cost of equipment. So, I would give $X * 1.5 as my standard rate, and I would be negotiable down to $Y. Most contacts I was getting for work would tell me their budget was $X * 0.75 or less.

Of course, they shouldn't be budgeting at an hourly rate, since they have no idea how efficient I would be nor how much better off they would be with code that would last with their business, but I didn't have the time to put a case together to attempt to convince them otherwise.

I also bid on several projects online at a rate that would be sustainable for me ($Y), but I simply didn't get responses. Online was even worse because I was competing in a real commodity market. There were people from who knows which country where the cost of living is much, much less, with much less experience, bidding at probably 6 times lower or more than I was.

It's just not fun to work in a commodity marketplace.

Networking

I have many contacts, but just didn't have enough to consistently get work. This is a sub-point of commodity coding — if I was making much more per hour than on salary, this wouldn't be an issue, since I could spend a lot of my time networking and finding new jobs. As it was, my margins on jobs I could get would be too thin to spend much time doing anything else.

Disposable projects

I like being able to build efficiency by spending time here and there on architecture, tools, and simply becoming very familiar with the project. When you are working on projects that are only 40-100 hours each, you probably aren't going to be able to gain much efficiency over time, unless you are using your own frameworks for all of them, and even then, project knowledge doesn't really help you from one to the next.

When working at a company, on a team, you are (hopefully) building more for yourself and your career than just a checklist of past projects you've worked on.


I had one large project during the 3 months that I worked as a freelancer (I left my previous job by choice, hoping to really start working for myself). Around the time I got paid for that job, I got two offers from good companies that were better than my previous job, and I decided I couldn't pass it up.

For these reasons, I can't see myself going back to working on my own unless I've got a software product of my own to build a company around. And that I would love to do.

share|improve this answer
2  
Very interesting that you were actually freelance and became a full time employee again. But I would have tried more harder than 3 months. –  user2567 Dec 4 '10 at 12:35
2  
@Pierre 303 - I will assume by "harder" you mean "longer than 3 months", but the difference for me was freelance itself was not my goal - it was to move to something where my career could continue progressing, whichever way seemed the best and most rewarding. –  NickC Dec 4 '10 at 17:06

People start working for companies because of other benefits you get from salaried jobs, social activities, girls, regular pay rise and of course tried and tested path for the most of us.

When you are freelancing, you are on your own, irregular project orders may be, bidding for projects can be confusing as in how much to bid, is it very high or very low. After some experience you start bidding accurately but that takes some time. While not having projects, loneliness makes you start thinking negatively. Many people who are freelancing I am sure are well organized and they know how to get the most of them. They are busy bees most of the day and they get to enjoy their flexible timings

share|improve this answer
2  
+1 for "girls" as a benefit of working for companies. LOL. –  Bobby Tables Dec 6 '10 at 22:04
1  
@Orbling: Very true. My current gig is in financial services, so there are a few here. But all my other jobs were more hardcore techie/industrial, so there were very few girls. Australia has a very low ratio of women in engineering/technical fields too. Like, one of the worst in the world. –  Bobby Tables Dec 6 '10 at 22:28
1  
@Orbling: In some ways, I don't actually mind extremely male-dominated workplaces. Workplace romances are a minefield, so it's sort of good not to have that possibility/temptation there at all. :) –  Bobby Tables Dec 6 '10 at 22:39
3  
-1 for "girls" as a benefit of working for companies, that's ridiculously sexist –  Nemeth Nov 11 '13 at 12:24

Here in Italy for two main reasons: too much bureaucracy and high taxes

share|improve this answer
3  
Same here (Bosnia). –  Jas Dec 4 '10 at 12:23
6  
Welcome in Europe. We have a lot to learn from US there. –  user2567 Dec 4 '10 at 12:36

The law of inertia, may be. Most of them are already working for some company and are well settled. They may not want to change the line and dig into new territory.

share|improve this answer