I find this is a question that comes up very quickly to business owners looking to hire a developer/freelancer. Why would you hire a developer from North America when you can outsource to someone in India or China? I briefly touched upon this in a previous post about things you should know about freelancing, and I will explain this a bit more in detail based on my experiences.
For starters, let’s say you’re in San Francisco and your work hours are 9~5. There is a 12.5 hour difference between you and your developer if you were to outsource. This is ignoring the fact that many freelance workers can work obscure hours, including myself. However, more often than not, you will find that nearly all of your communication with an outsourced developer will be via asynchronous communication, which can be extremely problematic when tackling projects of higher complexity. It also means that any urgent issues will take at least 24 hours to resolve (if you’re asleep and your SaaS comes back online, it’s not completely the same as you seeing it come online and getting a chance to make sure everything is in order).
Before I continue, I’d like to point out that I have worked with freelancers in India and China both directly (hired by myself), and indirectly (hired by my clients). Not everyone is aware that there are significant cultural differences between North America and India. One of the most notable ones I like to use as an example is that developers in India tend to be “yes (wo)men”.