I am 99% sure that you’ve opened this article because its title is a bit provocative, not because you’re looking for opportunities to build software in Russia. That’s understandable — we’re human beings and most of our decision are driven by emotions, not logic. Although I exploited your emotions in the title, the rest of the article is all about rational choice, so get ready.
The image of Russia in the Western world is ambiguous. This image is likely to affect any decision or opinion related to this massive country. Is it rational?
I would say “no”. Disclaimer: we are running a digital consulting business which is half in Europe, half in Russia and it works brilliantly. We have two offices, in Helsinki and Moscow. We do various kinds of business interactions with Russian legal entities, travel to and from Russia monthly. For the last 18 months we’ve grown from two to seventeen people and never ever encountered a single issue related to geopolitics.
So here I’ll describe the rational pros and cons of building software in Russia for you to consider.
Russian engineers are the main reason you would consider Russia as a place for building software. Yes, fundamental technical education still shines here. Students usually do practical software development starting from the second or third year of college. As a result, Russia has more than enough engineers with solid background and excellent skills to choose from. Not surprisingly, five out of top ten 2016 ACM-ICPC finalists are Russian teams.
In Moscow we can usually recruit a senior developer within a few weeks. Once we closed a senior Android developer position in 24 hours, but that was tough.
It may sound like a fairy tale, but there are some drawbacks. The first one is language: most of Russians, including the engineers, have a pretty bad spoken English. The engineers can read and write in English — otherwise they wouldn’t be able to become engineers, but speaking is a rare skill. Is it a showstopper?
Of course, not. It is a maturity test for your development processes. If your tasks/issues are not defined and most of the knowledge isn’t written anywhere, you won’t be able to work with remote engineers, no matter how skilled they are. To move operations to Russia you need to have the software requirements put in writing, changes tracked explicitly, communication channels clearly defined. Our not so secret weapons at Toughbyte are: Balsamiq, GitHub and Slack.
The other drawback regarding talents is centralization. Russia looks huge, but pointing on arbitrary place on the map is not the best way of choosing an R&D office location. In fact there are not so many cities to choose from and the choice depends on your requirements.
If you’re looking for building a big office (more than 50 people), you should pick Moscow or Saint Petersburg. In these cities the choice of developers is close to infinite and people are generally willing to relocate there. Saint Petersburg feels quite and cozy and Russians themselves call it a “cultural capital”, while Moscow is a vibrant megapolis. Moscow salaries are also about 20% higher than in Saint Pete.
If you are looking for building a smaller team, you may consider regional hubs instead. There are about a dozen alternatives to choose from, the most viable are Novosibirsk, Kazan, Tomsk and Nizhny Novgorod. It’s important to consider city specialization, which depends on the profile of big software companies based there.
Overall, from a software business’ point of view Russia is a huge pool of talented engineers. Here you can build a productive team fast.
Russia is scary. This prejudice has been around not just the last few years, but rather the last few centuries. It is hard to overcome while making rational decisions.
But let’s get back to business. What are the real risks of having an engineering team here? Two main issues:
The answer to the first question is easy: keep you IP out of Russia. Even Russian software companies do this. Even the ones whose main market is Russia. Let me repeat:
Never keep your IP in Russia. Period.
This rule is quite easy to ensure: the Russian legal entity you’re working with should be a contractor for your company. The terms of contracting relationships should specify the full transfer of all IP rights. All engineers working on the codebase should have the appropriate labor contract with the Russian legal entity. If these conditions are met, you can relax.
The language risk is much harder to mitigate. Unfortunately, in Russia it’s hardly possible to perform any official action in English. Relying on Google Translate is unlikely to be the safest way of doing business, so you need to have a reliable local partner. Here are the requirements for building comfortable and effective relations with the partner:
If you follow these simple pieces of advice of not to keep your IP in Russia and setting up local trust, you will rest easy while getting all the benefits of building software in Russia.
Costs: I’ve left the best part last. In Russia you can really cut costs.
You can’t even imagine how you can optimize your costs by building software in Russia.
Software is built by people, so people are both your main asset and the main cost. Simply put, the cost of building any software mainly consists of salaries and office costs.
Here are some facts an entrepreneur should know about the conditions of doing business in Russia:
To sum up: the conditions of doing software business in Russia are good. If your business here is done properly, you can pay quite reasonable salaries to your team and pay one of the lowest taxes among non-offshore jurisdictions in the world.
In this article I’ve only touched on the basics of building software in Russia. The goal was to give you an overview of doing software business here. I plan to publish articles on specific topics weekly, so follow the Toughbyte Blog or me on Twitter!