There are thousands of extremely talented developers around the world that will work for much less than US salaries. I think every company should at least consider outsourcing as an option, especially if you are working on a "one zebra stripe" product or you are incredibly cash-strapped - which probably describes most young startup entrepreneurs.<p>That said, I've never outsourced development on anything that is the core technology of a company, be it the product itself or any technology that gives the firm its primary service advantage. I believe that if something can be explained and executed properly by an outsourced team at a significantly lower cost than we can do it ourselves, then it can essentially can be done by anyone else just as easily, so it isn't a worthwhile product for us to pursue. It's just a commodity. It could be an extremely profitable project, of course, but it loses its interest to me. And there are always more interesting projects to work on...projects where I or my team actually have something unique to offer.<p>I have outsourced several ancillary products to foreign developers, though. Every single one has been a complete nightmare. We used a few major Indian firms, including Wipro, and we even had our own dev leads move there to direct coding. All of the projects went over our time and cost budgets. The solutions were also, for lack of a better word, brittle. The Indian developers were very talented and nice people, but there was just too much communication overhead and something seemed to get lost in the back and forth. A few times, it seemed like we were paying the developers to learn and get up to speed on technology they claimed to be experts in.<p>We also outsourced a decent-sized project to a team of Ukrainian developers. I was ecstatic to get them (their lead developer had post-doc computer science experience and had worked for the Soviet space program, and he quoted us a salary that was about what we pay our interns. A genius for peanuts.) They finished a very elegant solution for us that was blazing fast and blew away our expectations. It was also finished four months early. But then they held it hostage to get more money. We ultimately negotiated to pay a portion of their "ransom," only to find out they had sold our solution to several other firms for the same price. We had just footed the development bill for our competitors. And good luck getting any kind of legal satisfaction in this type of scenario.<p>We've outsourced graphic design and the like to freelancers in the US with great success, though. Just budget extra time and money in case they don't deliver.<p>So, all in all, outsourcing can work out...but it is usually a bigger headache than it is worth and you need to be ultra-cautious.