This is not about which country has better programmers. What cultural issues did you experience with the offsore country you’ve dealt with?
I’m not trying to generalize, but this what I’ve heard so far :
India: programmers do not say no, which does not mean that they’ve correctly understood the assignment and would deliver what you expected.
Russia: money do not motivate them that much. Threats like “I won’t pay you unless you’ll code this in 5 days ” may not help. But if you tell them that so-and-so can do this in 4 days, they’ll do it in 3.
China: they won’t admit that there is an issue unless it becomes an obvious disaster.
Can you add more of a culture-specific outsourcing issues?
I wonder, if anyone tried to work with the offshore teams of smart developers who do not speak English? Theoretically, this may open up an entire world of quality workforce if you have a middleman you trust, which speaks both languages.