This is a nice image from 37Signals showing where their developers are located:
David says that they would have missed out on a lot of great people by only looking at developers living in Chicago. That is true. What is also striking is that despite their actively looking for good developers who can work remotely, there are many places that have no representation: China, India, anybody from the Middle East, Africa or the entire Southern Hemisphere.
37Signals is a small dataset, so this is to be expected. But it is interesting to think about the factors behind remote software programmers and geography in general:
- Intellectual property rights: Once code leaves the country, you expect some level of confidentiality and protection of your code. This is not a problem for companies working on open source code, but otherwise you want to work with people in countries which have a good legal framework and working governmental institutions. That rules out many countries which have high levels of corruption.
- Skill level: Countries that have a history of encouraging higher education in engineering (Russia) or are gaining experience in specialized areas of software development (Israel) are likely to have better developers. Also, the higher the wealth level of a country, the longer exposure of its population to computing and programming, particularly with respect to non-mainstream technologies.
- Knowledge of English: Even though application/website screens use local languages, the popular programming languages are mostly based on English. That gives a major advantage to countries with English as the first language or official language (Commonwealth countries). Also if the “home” company speaks English, they would prefer someone speaking English too, or at least having the ability to write proper English.
- Time zones: Communication can be done via email, but sometimes when you need to discuss something, real-time communication (video conferencing or instant messaging) is essential. The farther people are, the fewer hours in a day they can spend online together on a consistent basis.
Of course, someone may be so good that some constraints don’t matter.