Today’s eWeek has published two articles on outsourcing to Russia. One is called Russia Revealed and the other one “The Russians are coming “. The author brings describes dealing with russian programmers as a positive experience. When I wrote about cultural differences in outsourcing, some people have accused me in stereotyping based on the nationality. Sorry guys, but it seems that eWeek is also jumping to the same conclusions.
The bottom line is, Russia can provide you good quality programmers…with an attitude. But if you know how to deal with them, the ROI can be just great. The major Russian cities (Moscow and St. Petersburg) can be a little expensive by now. Consider Novosibirsk – a Syberian Silicon Valley. Another country that has a great potential is Ukraine. Their programmers have have similar educational background, but will charge a lot less for the same job. As always, management of the offshore team is crucial for the success of your project. If the project did not succeed, it’s your fault. This explains why some companies are abandoning offshoring ventures, while others are increasing their presence over the ocean and in Russia too.
Some western firms use the-more-the-merrier policy to staff the offshore teams. They get overly-excited by the dirt chip hourly rates and just assign several programmers to the same task assuming (or praying ) that someone will do it right. If you are looking for such a setup, Russia/Ukraine/Belorussia are not for you. In my opinion, the best model for these countries is having one Russian-speaking (preferably hands-on) manager onsite and a team of strong programmers offshore. Hiring process is extremely important. Even if you are shooting for a fixed price deal, cherry pick each programmer. Always send your recruiter there. Just being a strong techie is not good enough. Try to get a sense if this person has an attitude… Price-wise, you can find excellent programmers working for under $30K a year. A New York programmer with the same set of skills would demand at least $90K. You pay these extra $60K for better English, people skills and understanding of how Western corporate world operates.
So here’s possible outsourcing scheme: a Project Manager (English-speaking) deals with Business Analyst (English), who communicates with a team leader (English-Russian), who communicates with the team of developers (Russian). This team leader is a key figure and success of your project depends on this person a lot. And this facade should be trustworthy. The project manager must make sure that this project is well documented, the latest code is in the version control repository…otherwise this team leader may become an indispensable prima donna and a single point of failure. If you are familiar with design patterns, this team leader plays the role of a facade. This can be a win-win solution, but you have to do it right.
I was born in the Ukraine, got my degree in Russia, worked in Ukraine for a while, and during the last 15 years I live and work in the USA. Let me know if you need help in finding or dealing with a reputable Russian, Ukrainian or Belorussian outsourcing partner.