To avoid these hassles you have to spend a little more money to include a local manager to drive the outsourced team and be responsible for their delivery.
Honestly I get the sense that people who are happy with outsourced code are either unusually lucky to have found a highly skilled and responsive outsource, or more often they just not technical enough to judge the technical quality or the timeliness of what they are paying for. They are happy with the shiny car the outsourced team made and they can't realize the engine compartment is an absolute mess.
Anecdotally, this is the case. I've heard of or worked for three 400+ person companies that outsourced. Two of these companies had metrics/standards where they could actually measure code/work quality. One of these companies did not. The two that were able to judge were not happy with outsourcing and stopped outsourcing after a 1-2 year trial period. The one that seemed to only be aware of the short-term cost savings without being aware of the long-term code debt, they were perfectly happy. Different strokes for different folks, whatever floats your boat.
One could argue that this time would be well-spent even if your development team is in-house. The convenience of having all of your developers sitting in one room with you often leads to laziness and sloppy project management. When the customer service guys can approach an in-house developer immediately with a bug a customer reported, sometimes the bug gets fixed, committed, and deployed right away with no documentation. This makes for a great experience for that customer, and management can pat themselves on the back and call their team "agile" but imagine the alternative scenario.
Say that customer service rep has to create a detailed bug report with screenshots and steps to reproduce the error, and in the middle of the night (because of timezones) your outsourced dev fixes the bug and completes a post-mortem to close the ticket before committing and deploying. This leads to more organized processes, better documentation, etc.
For an early startup, velocity is way, way, way more important than clear documentation. When you're sitting with a rapidly shrinking runway and no viable business model, writing a spec, post-mortem, or documentation for a bug is a total waste of your precious, limited resources, like doing lunges when you're running out of air.
We don't have any communications/timezone/culture issues at all... he knows American pop-culture better than most of us do (thank torrents for that I suppose?), his English is impeccable, and the time zone thing isn't usually an issue because we all have crazy sleep/work schedules anyway.
On a related note, using 99designs, Crowdspring, Elance, etc are great early on and then if you find someone you really like, hire them!
That being said, Tisho says that is a pretty idealized picture of Bulgaria... Folks aren't necessarily as highly experienced & motivated as this would suggest, and taxes aren't as low as this article suggests either.
When you started with your designer, how did you convey the type of look and feel that you wanted to give your business? Did you point them to other similar looking sites or was he/she the one that pushed forward the final vision and design (which BTW looks great)?
Regarding the former, I would be extremely wary of paying a demonstrably "competent engineer" to do work in a platform they were not already immersed in. Total years programming, even on seemingly similar platforms, doesn't translate into ability to deliver a high quality, robust product on the target platform in a timely manner.
To give a specific example, successful iOS development requires a combination of UX design intuition and finesse, similar to what you'd need in web development, along with the memory management and performance tuning skills more typically seen in the embedded and C++ game development world. The reason competent iOS devs are expensive in America is because it's hard to find people with these combined skills, who don't want to just make their own stuff. There are many examples of lackluster apps in the iTunes Store where the developers clearly came up short in one of those areas.
The main issue was communication and being able to have high-bandwidth face-to-face meetings to clarify what was needed. Extensive use of iChat and Skype didn't seem to help.
Some apps have detailed specs and a lot of upfront work has been done in reducing the ambiguities. Those are probably better candidates for outsourcing. But if the design is fluid and things need to be worked out as-you-go, that seems to be where outsourced projects go pear-shaped.
I personally think there's enough work to go around all over the world, but for certain types of apps you need to have someone you can meet and have a dialog with so you can iterate the design efficiently.
Obviously, each app is different and situations vary so YMMV.
Perhaps the biggest benefit is not having your talent constantly exposed to being poached in the Silicon Valley.
That is exactly what Mark Zuckerberg was talking about when he said he'd rather start a company in Boston.
Hide your hackers!
A few things:
One could argue that if the business case for the startup were strong enough, the cost of development would be almost (within a very wide band) irrelevant or at least you could more easily justify the expense. An example would be having already-signed-up beta users and having a mailing list of interested prospects in hand.
Secondly, does anyone not care about new versions, maintenance and ongoing support? If you are truly operating a business, then having the ability to support the product is key. An outsourcer can leave the business or the team can disband, so you have no control over the institutional knowledge. (The "outsourcing core competencies" issue.)
Last, the title "outsourcing startups" seems a bit misleading, almost as though an entire startup can be outsourced like a commodity. We're still talking about outsourcing the coding.
But maybe the commoditizing of startups is the next natural step in evolution, if it is not happening already.
To use a headhunter analogy. There is too much hunting in the valley for the best, so go outside, even outside the US to find great talent affordably.
Another startup also with developers in Republic of Moldova have been bought out by Adobe.
In both cases there was a good dev lead in US and most of the developers in Moldova.
As typically happens, no mention of language issues, culture issues, timezone differences, or what kind of talent level you're getting for your dollar. All warm bodies are equal myth, etc. In theory, it can work great. Sometimes, it does. Often it doesn't. Caveat emptor.