I got a real kick out of vWorker's explanation why programmers underbid for projects. They do miss one thing, which I'll add below.

You may be thinking this is a great thing for you, because it saves you money. However, if you think about it, receiving a severely under-market bid really doesn't. Imagine you are a worker who won a project and began work. Then, reality begins to sink in as you realize you under-bid by a factor between two and five. Soon you're calculating what that means. You've just taken a 50-80% pay-cut, and found yourself obligated to work for a period that's two to five times longer than you expected. How would you perform? You would probably not be delivering your best work. You might become very difficult to deal with. And you might even throw up your hands and completely quit. This is what tends to happen on larger pay-for-deliverables projects.

You might be thinking 'So what? It's their own fault for bidding too low. I don't care because I still get my money back with the triple-point guarantee'. Yes, it's true you will get your money back. However, you'll have wasted all the time spent qualifying workers and interviewing, and will be stuck with the hassle of starting all over again. And even after your repost, re-qualify workers, and redo the work process, you still have the exact same 25% chance of ending up in the same place again.


The real reason this happens is the above, sure, but also 1.) Lots of programmers are dolts who can't do what they think they can. ("Sure, I can give you a CMS and online marketplace in 20 hours! I've got this great third-party, open-source package that I Googled up!") and 2.) Those that are good want to get the project and bid based on their Best Case Scenario. You know, the one where the coding breaks like you want it to: You'll have tunes blasting out of your earphones, you'll forget about your coffee, and you'll figure out some way to factor your code where all you need are a few variations on three quick, brilliantly-written functions. That actually happens, what, 20% of the time? Just enough that you think it'll happen every time you decide it should happen.

But the devil's always in the details. Unless things break perfectly, you spend 35% of your time doing the last 15% of the work.