By John Houghton on January 6, 2014
As I’ve said before, my company is always looking for top developers, so I thought I would share an exercise we did last year to target countries for recruiting. The first thing I should say is that there are good and bad developers in every country. The key to finding good developers is knowing someone you trust and getting referred by them; however, a lot of folks don’t know any developers, or the developers in question are all booked up (there is a shortage of talented developers). When you find a good team, the metrics discussed here might not matter or even apply, so take this data with a grain of salt. If you wanted to follow this approach, after selecting your geographies, you would follow with a targeted search, for example on LinkedIn.
I’ve written before about what I look for in an individual developer (see 5 Things To Look For In Offshore Mobile Developers). Here is what we look for in a country that we’re targeting for offshoring:
— High Bandwidth
— Good Education
— Low Corruption
— Inexpensive Workforce
— Large Developer Workforce
Before we get to the specific countries, let’s go through these requirements in detail.
High Bandwidth. The reason you need high bandwidth is because you need to be able to have face-to-face Skype and screen sharing when participating in mobile app development. Bandwidth can be really bad in certain countries. For example, we tried recruiting in mainland China, and we wanted to send a 2MB file for our candidate to look at. A few hours later, they were still downloading it. We tried recruiting in Egypt and found that it was easy to text chat but there was no possibility of audio or video chat. There just wasn’t enough bandwidth. If you could somehow get around this by being a skilled developer yourself, then you can try out these countries with the potential of saving a lot of money; however, it’s too much trouble for us.
If everything is going really well, there is no reason to have a face-to-face or screen share except to build team unity and get people to know each other. Also, the more technical you are and the more you know your material, the less you will need to share screens. Still, it’s useful for even a top engineering manager to be able to share screens. When things go wrong, visuals are your friend, and in order to show a flow or a process, sometimes you need motion video. You can do this via screen sharing or video conferencing. If you really have a bad time explaining a flow problem you can make a quick video and send it to them and this usually works quite well. For example, showing a ballet maneuver would be nearly impossible if explained, but can be grasped in a few seconds on video. Sometimes you hit software problems like that. If you are a good communicator, and can see where things need to be clarified in advance, this can make a big difference.
Ok, back to bandwidth. To look for high bandwidth countries, look at Ericsson’s City Index (query this in a search engine); Cisco also has something similar. You’ll find that in certain countries and metro areas, the government has invested in high speed bandwidth, and this is quite valuable.
Good Education. All these things are tracked, and there is something called an Education Index (query it in a search engine) that gives you an idea of what the educational system is like in various countries. With education can come better technical and communication skills. Some Eastern European countries outrank the US, and the top performers have wage rates that approach western rates as well. For developers, it frequently makes a difference what school they went to, so targeting good schools is a good approach. To get lists, you can query: Top 500 Universities.
Low Corruption. Another interesting tracking metric is the Corruption Perception Index put out by Transparency International. The hope here is that with low corruption might come more capacity for responsibility. It’s not always true but still might be a helpful indicator. In my view, you can find honest and dishonest people everywhere. It’s more about knowing someone you trust, and when you find them, it doesn’t matter where they are.
The other thing about corruption is a lot of money in the more corrupt countries is spent on bribes. In some countries as much as 1/3 of a company’s cash flow can be spent here. I remember when I used to build financial software, I was surprised when we got an enhancement request to create a special field to track this.
Inexpensive Workforce. This is the whole reason for going offshore, to save money. What I look at is total cost for value delivered, and when you look at this, you don’t necessarily look in the cheapest places. I find one thing to be true: the less you pay, the more local resources you are going to have to expend to bring the work up to western standards. That being said, if you chose a particular workforce, get to know what they need, and make it a long-term operation to train and refine your resources there – this strategy can be profitable.
Large Developer Workforce. Once you choose a country, spend time getting familiar with it, the educational institutions, culture, etc. This familiarity will help you recruit better developers. That being said, some countries on the list don’t have many developers. For example, Estonia is a top eastern European country, but a LinkedIn search only turns up 132 people who have Objective C in their profile. Therefore, getting to know Estonia, its schools, cities, and cultural institutions might not be a good use of time.
The 12 Countries
A lot of research went into this investigation, and many of the findings are based on first-hand experience. Here are the countries we looked at:
1. Slovenia. We’ve hired here before. Good bandwidth, good education, small labor force – about a million, low corruption perception, reasonable salary. The country is small with a small workforce, so your recruiting here might be brief.
2. Lithuania. Good bandwidth, especially in Vilnius, good education, labor force about twice the size of Slovenia, however, app development hasn’t caught on as strongly here, so there are fewer developers per capita. Low corruption perception, reasonable salary.
3. Estonia – Good bandwidth, especially in Kaunas and Tallinn. Skype was founded here. Estonia is quite far north, close to Finland. Tallinn has an excellent school, so perhaps one of your thought leaders could fly over and give a lecture there and do some recruiting. Otherwise, it has a small workforce, similar to Slovenia. I have found that the closer you get to Finland, the more you’re going to pay, and rates there approach western rates. Corruption perception has the best rating of any eastern European country. Despite a decent recruiting effort, we didn’t hire here. We had a few candidates in the recruitment process, but they missed their appointments. For us, anybody that misses an appointment without good reason is rejected, and that can mean letting go of developers that have been with us for a many years. This policy and policies like it insure that our projects are delivered on-time to our customers.
4. Latvia. Good bandwidth, especially in Riga. Well educated but small labor force, corruption perception is similar to above countries. We’ve never hired from here (by chance) but have met some nice people.
5. Hungary. Good bandwidth, especially in Budapest. Well educated. Decent size labor force. We’ve done some recruiting here but have not hired. One guy we kept coming back to wanted near western rates, so we didn’t hire him.
6. Poland. Good bandwidth, especially in Warsaw. Well educated and there is a good school in Warsaw. They have a large workforce and corruption perception is similar to neighboring countries. We’ve hired here and have pretty good results. Pay is about average for Eastern Europe.
7. Czech Republic. Good bandwidth, especially in Prague. Education level is not ranked as high as the countries above. Good size workforce. Corruption perception is similar to neighboring countries. We haven’t hired from here, but I know people who have and are satisfied. A perk would be visiting the development team in Prague. Pay is about average for Eastern Europe.
8. Slovakia. Good bandwidth, especially in Kosice and Bratislava. Education level ranking is not as high as others above, and the perceived corruption perception not as good. Decent size labor market.
9. Bulgaria. We have less experience here, but I know that the government has been investing in infrastructure and bandwidth. Education scores are not as high as for the above countries, and the corruption perception score is not as good. Pay in Bulgaria can be lower, sometimes half compared to the above.
10. India. I have a lot of experience outsourcing to India, ranging over a few decades. A lot is already known, so I’ll be brief. Education and pay comparisons are hard to make because of the population diversity: some segments are well educated, some are not. The labor market is very large, in fact so large that it’s hard to vet. The corruption perception score takes a big dive when you get this far down the list, but then that is true for the country as a whole; you will find plenty of honest people here. We don’t recruit here any longer, nor do we respond to solicitations. When we did respond to solicitations, we found their work to be commensurate with the quality of their solicitation, which is usually sub-standard. It’s too expensive (time consuming) for us to vet developers from India. We get low returns. I’ll share some stores in future blog posts if I have time. There are good people everywhere though, and if we get referrals, we do follow-up and hire folks in India.
11. Egypt. We’ve never hired here because we couldn’t Skype (not enough bandwidth), but there is a good school in Cairo. Supposedly there has been infrastructure investment, but we haven’t seen evidence of it. If you can make your first filter a verification of credentials, that would be a way to start. Wages are low here, maybe half or a third of eastern Europe.
12. Russia. We’ve hired from Russia. Bandwidth can be OK. For information about corruption perception, please query Corruption Perception. We didn’t end up retaining anybody after limited investment here. We had issues with quality of work. It’s funny because I met the leader of the company at a conference at a trade show in San Francisco – they rented a booth. He swore up and down that the quality of his company’s work was on par with Western standards. I shared stories of what I might expect from a company like his. He insisted that my experience with his company would not be that way. Unfortunately, it turned out poorly, but I wanted to set up the experiment to see if someone who visits the US and comes to trade shows was any different. By the way, you should always pay for your work when you do these experiments. Sometimes perception of quality is cultural. What they did is considered good where they live, but we don’t perceive it that way. All of this being said, Russia might be fine for recruiting with better filters.
So that’s the rundown and pretty much everything I know about places to recruit offshore developers. After reading this, you’ll want to hear a story of a developer we found, Tale of a Costly Offshore Mobile App Development Experience. If you found this article interesting, please Tweet, Like, or Share.