On the other hand, think of what you could accomplish with a weekend of work in 1992 and compare that to 2012. Our abilities as developers/designers/etc are vastly improved due to improved infrastructure, tools, communications, resources, etc.
You could build a distributed photo hosting and viewing application back in 1992. But you'd probably be writing it in C++ and it might take you a long time to get something that even works, much less looks reasonably okay and attracts an audience.
Now in 2012, you could hack that together in a weekend. To make it a real project may take a few weeks or months, of course, but the pace at which we can build things is indeed speeding up.
You can now throw together a photo-hosting and viewing application in a couple of days. But that doesn't necessarily yield a site that runs itself. Teaching the customer to use the code still takes about the same amount of time. Editing the theme over and over again, iterating a design cycle that incorporates emails and meetings between you and the customer and the designer, still takes about the same amount of time. The process of moderating the uploaded photos to screen out the spam and porn still takes about the same amount of time. Usability testing still takes the same amount of time.
(And even in the enlightened year of 2012 there are still standard things that all sites could use, like proper reverse-proxy caching and solid backups, that over half the Wordpress blogs on earth seem to be lacking. Apparently we're not even done automating the things that could be automated.)
The other problem is that if the customer steps off the well-worn path they will fall into a very deep pit lined with invoices. If Wordpress does it out of the box, it's cheap. If Wordpress almost does it out of the box but it requires even the smallest amount of custom coding, it's expensive. And knowing what things are expensive and what are standard requires skills that customers don't have, so they have to pay a programmer to advise them, and that is itself inefficient and expensive...
I think this might be better referred to as the well-known outcome of Amdahl's Law: http://en.wikipedia.org/wiki/Amdahls_law
C is still necessary for a lot of people at scale.
In 1992 I could bang out some really effective CUI applications in no time at all. People really hadn't transitioned to Windows at that point. Now, I have to write a web app, or a mobile app, and it takes hours upon hours to learn the ins and outs of each new API, weeks to figure out how to customize the flashy UI to what the client wants, etc. So, yeah, programmer tools have gotten vastly better, but expectations and complexity have risen faster.
I am going to roll this into my conversations with non-tech friends. It is like the magic time saving appliances of the fifties...
There is 1992's distributed photo sharing app, built in ~5 minutes without any c++ and you had the whole rest of the weekend to get into flame wars about how ugly someone's cat was.
Sure you can get a lot more done now with advanced tools and infrastructure, but really expectations and requirements have grown much faster. You could definitely launch a median web or win32 app in '94 faster than you can now.
I think this is backwards. Programming is cheaper than ever. As outsourcing tools because better (vWorker is what I have experience with) this is only going to get better. Programmers have to realize that there are hungry, capable people around the world who can do much of what you can for far cheaper. I'm not taking anything away from anyone, but that's the reality of globalization. I've been able to get projects (mostly simple web development) done at less than half the price through outsourcing.
Which is a shame, but understandable. Why should the good Indian programmers work on the kind of projects people are willing to sell?
Do you have a source for this? I'm a "business guy", but I read the hell out of Hacker News. I hear this a lot, but it hasn't been my experience, whatsoever.
Seriously, how is an outsider supposed to read these arguments as anything more than people on the inside trying to justify what they do and the prices they charge? Read that article again. It's written for other hackers, not for business people. He says, "making an app is hard, here is why" and lists a bunch of things that, to be frank, I don't care about. I need the product to meet my specifications for a good price. Nothing more, nothing less. And generally in my experience (which, again, is mostly small projects) that is fulfilled through outsourced work.
The fact that any mention of outsourcing draws the ire and down votes of this crowd is disappointing. At the end of the day, like it or not, people like me are also an essential part of this ecosystem.
Edit: after reading through many of the comments, it looks like there are varying degrees of this problem. I'm not talking about trying to get someone to build an app for my "big idea" for $200.
Here's my advice to any prospective outsourcer:
-You still need to do your job as a both a product manager AND a project manager. Failure at either one of these duties on your end cannot be rescued by developer skill.
-You need to be able to identify whether or not a contractor or firm is actually capable of doing the work you're asking them to perform. Have they completed similar projects in similar time frames? Do they have repeat customers? How experienced are their developers? Do they have experience in the platform you're developing in? Are they full stack or are they just building the mobile portion?
-Always understand that contracted labor will be less opinionated, and will be far more likely to take a "Garbage in, garbage out" approach to any requirements you feed them. A salaried engineer may provide some push-back on features that will cause the project costs or timing to slip, contractors (foreign or native) have a tendency to happily plug along and let time and budget slip and then just apologize after the fact. Remember: Every mistake YOU make will likely result in more billable hours for them, so they have a financial interest in not telling you when you've stepped in it.
-Requirements should be very detailed. If you hand them a PowerPoint slide deck with some notes your project is doomed.
First off, freelance developers are also "business guys" because they are running their own businesses. Any "business guy" knows that prices are largely set by supply and demand. A developer charging a high rate is doing so because the market can bear that rate. There is no need for justification here, the demand takes care of that nicely.
Just because a developer in India can do work for cheap doesn't mean he should. If he has world class development skills then he should be charging world class rates. Charging less because of location is a stupid business model and it's not reality. The reality is that there is less demand for their services (especially from the type of clients who are able to pay those higher prices) and they are charging accordingly. These guys are mediocre developers competing in a sea of mediocre developers.
Also, I believe the idea that globalization is driving down prices isn't reality. I'm a U.S. citizen living in the Philippines and I have seen that people are able to charge low rates because they are living in poverty.
You can live for a lot cheaper in the Philippines relative to most of the U.S. but you get what you pay for. Most expats who move here are able to live cheaper simply because they are simplifying their lifestyle. Once you start ratcheting up your lifestyle to get anywhere near the lifestyle you would have in the West, then you get back to the same Western level of spending.
I believe cheap developers abroad is going to be a short lived phenomenon. As developers get a taste of the money they can make, then they are going to want to improve their lifestyle and their rates are going to go up. Cities like Shanghai and Moscow (two countries with a reputation for cheap developers) are as expensive to live in as New York City. Also, as the economies of poor countries heat up, then a lot of their development pools are going to be eaten up by domestic demand.
The reason that developers here on hacker news claim that outsourcers do low quality work is because we see it all the time. That doesn't mean all projects are total crap, but a large number of them are. Sure, the project may result in something that works, but anything can be painted up to look like a success. However, that house of cards may come crashing down when a strong breeze comes along. When that happens you lose money and you look bad. Clients who have a real budget know this and they know that even $150 / hr developers are a small price to pay to get things done right.