Is it possible to hire top Russian programmers for less than half the price of someone in the USA with the same skills or better?
Our experience is that you can but it’s not easy. You need to know exactly how to find the right people, and where to spend the time recruiting and selecting candidates. With the right know how, you can find programmers with the equivalent skills to someone earning $80 USD an hour for as little as $15 an hour.
Typical rates for Russian programmers and the former Soviet Union
It depends to some degree on the region and country. Salaries in Ukraine, Moldova and Belarus for example are significantly lower than Moscow (in Russia). In fact you will find salaries in Moscow are not that much lower than the west, so the comparative advantage of hiring a programmer in this city is not great. If you are hiring in the Russian Federation, you’ll have more luck elsewhere.
Rates that you can expect for programmers in most of the former Soviet Union vary depending on a number of factors. Keep in mind that local companies can hire with salaries 10-40% lower than this range (generally, but not always, there’s are a different set of rules for foreign businesses).
Typical salaries for a full staff member are around:
- Php programmers – $1500-$2500 USD per month
- C++ programmers – $2000-$3000 USD per month
- J2E programmer – $2000-$3000 USD per month
- Web developer – $1200-$2200 USD per month
As a general rule it’s better to find talent from the top of the pool, rather than hiring people who are willing to accept lower salaries.
Finding the right person for the role
You need to treat the recruitment effort more seriously than you would if hiring a person from your own country. It requires determination and effort to first find and screen a significant number of suitable candidates, and then time to evaluate each applicant – don’t expect to succeed unless you put serious effort into the recruitment process.
Where to search
Cast a wide net and you’ll be more likely to find the person with the skills you really need. Try outsourcing sites such as Upwork (formerly oDesk) and Freelancer.com. All three of these sites have the advantage that they manage the payment process for you (and you can also test any promising candidates with a short project before moving on to more serious work).
You should also search in other locations including programming forums, especially those that target the skills that you are looking for. Linkedin and Facebook although less popular in Russia are still worth a look.
There are a number of excellent web sites in Russian where you can find great programmers such as sql.ru, rsdn, Vkontakte (the equivalent of Facebook in Russia), rabota.ua, work.com.ua and hh.ru. You might need to hire someone to post the job ads for you (if this is the case, initially try an outsourcing site… which is in English).
You can’t expect to find someone great just from posting a job listing
Just like everywhere else, posting an advertisement for programmers in the newspaper might help you find someone good, but you are less likely to find someone great.
The great programmers usually already have jobs, or are working on their own projects. They may also be looking for challenges or a more dynamic and interesting environment (…and you need to sell the idea that you can provide those challenges for them, as well as the opportunity to grow with your company).
If you want to find truly phenomenal Russian programmers you need to spend some significant efforts recruiting, and searching. You ideally need to speak Russian or have someone who speaks Russian to help you. It’s also more difficult to persuade highly talented people to work for you unless you meet them in person (or use a specialist recruitment company).
How to evaluate the candidates
A short test is a good way to initially evaluate candidates. If you can start with a local programmer who is excellent and get them to devise a very short (1-3 hour) test that is difficult and exactly matches the skills that you are looking for. Then give all of your candidates this test.
Another option is working together on a short project to see how you work together. Also looking for people who have worked on programming projects in their spare time is a good way to find top talent.
If you don’t use a local recruiter or one of the freelancing sites you might find it difficult to develop trust with the person. However there are other ways to develop trust such as working together on some interesting but short projects first, and then moving later to a full time working arrangement.
In a longer term relationship it is ideal to meet in person. A remote working situation can work, but meeting face to face you will strengthen your relationship with your employee by gaining a deeper understanding of who they are, how they work, where they are working from what they have to offer.
How to pay your staff
There are a few options. If you are using Upwork or Freelancer they have their own payment process built in. They charge a 10% fee and use Payoneer which is a credit card service where the Russian programmers can simply go to the ATM to withdraw the money. You use Payoneer directly, or try Ikobo, Moneybookers. Sending a wire transfer directly to a person’s bank account or into their credit card is easier than it used to be, so talk to your bank.
Which countries should you hire from?
Russia, Ukraine, Belarus, Bulgaria, Moldova, Romania, Georgia and Serbia all have talented coders. You will find the largest number of available programmers in Russia and Ukraine but all of these countries have great software developers.
Rob Rawson is a co-founder of Time Doctor which is software to improve work productivity and help keep track of what your team is working on, even when working remotely.