According to an interactive data map by The App Association, there are 233,054 vacant sofware development jobs throughout the United States. Collectively, this amounts to over 20.3 billion dollars of unfilled technology jobs. With new restrictions on the H-1B visa, some tech companies in the US will be even more hard-pressed to find talent matches in the coming years. With the average software engineer annual salary already topping $100,000 the laws of supply and demand suggest that the cost of hiring US-based tech talent will only continue to rise.
For some in the US tech industry, the terms “offshore software developers” or "outsourced software production" might be met with disdain, rolling eyes, or horror stories of a software development engagement gone wrong.
But are overseas developers really that bad? Is this negative association well earned or blown out of proportion?
Taking the perspective of US-based companies  , in this post we will explore the different aspects to consider when deciding between hiring a US-based freelance developer versus an overseas developer.
If you are considering seeking (or saving) your fortune overseas, cost is probably the first thing that comes to mind.
Let’s cut right to the chase — US-based developers are expensive. Ranging from $50/hr to $250/hr, and averaging out at $70/hr, US-based freelance developers are far more costly than some of their counterparts in overseas markets. Assuming a 40 hour work week, the average monthly compensation is $11,200 for a freelance developer. For developers working out of tech hubs and metropolitan centers, monthly salary can be even higher. A freelance developer working out of Palo Alto, for example, can earn an average of $13,920 per month.
High costs of living, higher wages, and the laws of supply and demand are the driving forces behind higher compensation rates in the US.
While developers in places like Australia, New Zealand, and Switzerland earn a rate on par with those in the US, the least expensive regions see rates drop by 30 to 40 percent. If you are looking for big savings, your best bet would be India, Ukraine, and Pakistan, which according to Codementor’s proprietary data have the lowest rates, all averaging below $50/hr.
Here’s a graph of the varying monthly compensation rates for different regions.
Keep in mind that the numbers presented above are averages only. There are many talented developers abroad that have experience on par with or superior to US-based developers, and they should be compensated accordingly. For the most skilled developers, clients will be competing against one another to secure their talent. Those developers will be selecting their clients and setting their own rates, regardless of where they happen to be located.
Now that your mind is saturated with savings, a note of caution: it would be a mistake to measure value, monetary or intangible, only in terms of developer compensation. Even if you secure a developer with the desired skills and an agreeable rate of pay — communication, culture, trust, workflows, and collaboration will be even more important in ensuring working software is delivered on time and on budget.
Make no mistake about it, clarity and ease of communication will be imperative to the success of your software development engagement. No one can deny that working with a developer in your home country, who speaks your mother tongue, in a nearby time-zone, will make this easiest. But the challenges of working with a foreign developer are far from insurmountable.
The barriers of distance have been bridged by technology. However, language can still pose difficulties to communication. If you cannot clearly communicate software requirements, code expectations, give and receive feedback, or ask and answer questions in a common language, you have not yet found the right freelancer to work with.
English is still the international language of business and technology, and just like foreign professionals of all trades, many internationally-based developers have high levels of English proficiency. Here are how some non-native English speaking countries rank on the English Proficiency Index:
To better gauge the language ability of prospective overseas developers, use the interview process to evaluate the ease with which they speak, write, ask questions, and provide answers. The best times to do this are during behavioral interviews, email exchanges, review of past work, and a trial period. As with all asynchronous collaboration, written communication will be especially important. If written emails and instructions are met with confusion, do not expect spoken communication to be the answer.
As with the compensation rates in the previous section, these rankings are compiled by taking the average of a dataset. It goes without saying that developers from the US and other native English speaking countries have the edge in this regard, but there are still skilled developers in Pakistan and Thailand that can communicate in English perfectly.
Culture goes side-by-side with language. Sharing cultural fabric can go a long way in smoothing communication and ensuring that everyone is on the same page regarding: timelines, expectations, workflows, collaboration structures, and even important subtleties of the software, such as aesthetics and user flows.
If you are coming from different cultural contexts, regimented communication structures, detailed software requirements, and clear terms of service will be all the more important.
If looking to source talent from non-native English speaking countries, US-based companies will likely have less of a cultural gap with developers in Eastern and Central Europe. Thanks to strong educational standards, robust technology traditions, rising English levels, and favorable price to quality ratio, coupled with rising prices in Asia, places like Poland and Serbia are becoming popular outsourcing destinations.
That being said, the United States is a diverse nation and there is no such thing as a one-size fits all cultural fit. The perfect combination of cost, communication, and culture fit for your software engagement may be found in Asia, Latin or South America, North Africa, or of course, right here at home.
When it comes to working with internationally based developers, you may (or may not) be operating in different time zones. US-based managers may bemoan the need to keep periphery hours,longer response times, asynchronous sync-ups, or have difficulty monitoring team progress.
Different time zones do require a little more flexibility from both sides, but it isn’t all bad news. Here are some ways being located in different time zones can work to your advantage:
Some people who have worked on distributed teams have described it as “like having a friend in the future.” When we asked one software consulting industry veteran, Aaron Diek, how time difference affects his team’s collaboration, he acknowledged that at times, it could be a pain, but generally it’s a good thing:
If you come to me with a problem at 4 PM, and I’m local...I’ll work on it for two hours [and] then go home. If I’m overseas….by the time you get up the next morning, I will have put in 8 hours on it.
Telecommuting is now common, and face-to-face communication is easily replicated with the help of video chat software like Zoom, Google Hangouts, GoToMeeting, Appear.in, and many more. While video chats are important for weekly meetings and updates, instant messaging apps like Slack allow you to be in constant contact with remote team members, with records of all exchanges.
With the technology in place to make it possible, fears that teams not co-located will struggle to collaborate effectively are, today, largely unfounded.
Many engineering managers assume that the best tech talent in the world can be found in US tech hubs like Silicon Valley, Seattle, Denver, etc. However, research shows that this is not necessarily the case.
According to data from HackerRank’s coding challenges, the world’s most skilled developers are in China, Russia, and Poland. The data can be further broken down to analyze which countries specialize in which programming skills. Japan, for example, ranks top for Artificial Intelligence, Hong Kong for Python programmers, Finland and Denmark for SQL, Poland for Java, and Russia for Algorithms.
Another report by Silk.co, which analyzed nearly 15,000 Stack Overflow user rankings, found that New Zealand, Sweden, the UK, Israel, and Australia had the most top ranked users per capita. Measuring for highest average country ranking, the data shows that Bulgaria, Peru, Singapore, Hong Kong, and Croatia offered the best answers on the platform.
Even at the college level, during the ACM International Collegiate Programming Contest, US schools were soundly beaten by Russian, Chinese, Japanese, and Korean universities. The lack of programming victories for US developers is often attributed to an inadequate focus on math and science in the US educational system.
While the data indicates that US may not produce the top developers, it does attract the top developers. As mentioned earlier, many of the best tech firms are located in the United States — these companies have the budget and means to recruit the best talent in the world, whether it be to work with them remotely or on-site.
Trust and goodwill cooperation will be needed to carry your software development engagement to the finish line. Trust is a two-way street. As the client, you need to trust the developer to:
To work effectively, the developer also needs to trust that the client will:
No matter where they are from, it may be hard to trust a stranger and invite them to play a vital role in your business. This is why it’s so important to find the right talent match, not only in terms of technical skills, but also for culture, fit, and enthusiasm. Finding an engineer who is genuinely interested in your project and use case is a sure way to build trust into the relationship.
Trust starts with the right hire, builds with the right onboarding process, and is sustained by regular communication and feedback practices. Remember, feedback not only consists of your feedback to the developer, but also the developer’s feedback to you. To keep software development progress smooth and build the best possible product, you need to listen to the developer’s concerns. You should actively solicit feedback from your developer in regular meetings by asking some of the following questions:
Naturally, shared language and culture can usually help to build a foundation of trust — but national borders aren’t everything when establishing a trusting partnership. During our chat with Aaron, he made the reasonable argument that international developers are less likely to have the motivation or the means to steal your intellectual property and bring it to market.
Whether you are working with US-based or international developers, platforms like CodementorX can help to facilitate trust between client and developer through a stringent vetting process that includes technical and behavioral interviews, a trial period, and project management guidance.
When hiring for software engineering positions, rather than asking “who is better?” you should ask yourself “What are my priorities?” Now that we have gone over some of the basic expectations and trade-offs you should be aware of when considering US vs. internationally based developers, let’s conclude with some questions that can help determine what those priorities are.
If you have the time and the money, you might prefer a US-based developer. However, if you have a limited budget, are working on tighter deadlines, or are seeking highly specialized skills, it would be wise to expand your talent pool. Each client and user case is unique, and it is very possible the best engineer for your job is not located in the US.
While true for any software development engagement, clear software requirements, terms of service expectations, and overall communication skills will be needed to overcome any barriers of language, culture, or time when working with international developers.
Once you have identified your software development priorities, you will be able to set up the appropriate recruiting strategy and start to build.
If you still need some help sorting all this out, get in touch with our CodementorX team!
Note, we are writing from the perspective of US-based businesses, but much of what we discuss also applies to entrepreneurs from other countries considering outsourcing their software development ↩︎