How to hire an offshore software developer team and win?

As a Director at Antlia, Ilya Shirshov currently manages software development activities for 20+ customers based in Australia. He oversees projects of various complexity across different industries and helps business owners improve their managerial practices and methodologies with the latest technologies and frameworks.

I’m in liaison with CTO’s and CEO’s of businesses every day. When your business decides to outsource software development, most people tend to be sceptical rather than open to it.

If you’re skeptical — the following blog post is designed specifically for you.

Why outsource?

What’s the main reason the outsourcing? Cost reduction is a common idea, and of course, it’s cheaper to outsource a developer from countries of Eastern Europe and Russia by around 50%! The other points are important as well such as flexibility and availability. While these points are considered important I would suggest taking quality into consideration as your primary reason.

DYOR

Check the rankings of top outsourcing destinations like Russia, China and Poland and pick a few that look most suitable, pick those that seem the most promising and always do your own research (DYOR) as properly as you can. You may certainly wish to check the type of work ethics in these countries. Find out the number of mathematical schools and access for tech universities present. Ask yourself if you know any successful startups that originated there? Is there a presence from big companies with R&D offices there? What about English capabilities in the tech sector? These are some of the few very important questions to ask.

According to the data from HackerRank — a reputable technology hiring platform that is the standard for assessing developer skills for over 1,000 companies around the world, China and Russia score as the most talented developers. Chinese developers perform best of all other countries in mathematics, functional programming, and data structures challenges, while Russians are dominant in algorithms, the most popular and most competitive arena.

The best option is to find someone from your network of friends or colleagues who come from these countries and ask for their personal level of experience.

Last but not least, time zones is a great factor to keep in mind but avoid making this a priority as you should be able to work around any time zone differences with an iterative approach to software development. In a perfect scenario, you’d want to find a provider location with a minimum time difference of course.

Top 8 Reasons why do companies outsource. Image Source: Deloitte.com

Software Development Outsourcing Models

There’re 3 main cooperation models when it comes to offshore software development. However, I will not tell you the best or worst way to outsource as it depends on your business requirements as every model can be applied equally successfully.

  1. Freelancer
  2. Traditional outsourcing
  3. Team extension

Freelancer

We will not discuss this for the purpose of this post aiming at forming a long-term relationship with your vendor.

Traditional Outsourcing

This is the most familiar model of hiring your dev team offshore. Firsthand you find a provider, supply with your requirements, and after signing the paperwork the provider then assigns your project to a development team, and the team starts the work.

In this model, you don’t get to assign who works on your project and have little control over the development process. The vendor picks a project manager who then supervises your team. You will, however, take part in scope clarification and approval of deliverables.

Team Extension

As a natural extension of your in-house tech team, the extended team model, by contrast, allows you to have 100 per cent control over the development process. The vendor stays as a mediator who analyses your business requirements and assists in structuring your offshore software development team in the best way to help build your product. Your natural responsibility is then to manage and approve the members of your software developer team.

Prior to making the decision when choosing your vendor, I’d strongly suggest you compile a list of critical questions for your potential partner. These are some ideas to help you get started:

> Does your potential partner have technical business specialisations?

> Are they properly certified?

> What’s the risk management policy?

> What was the team’s largest achievement and biggest failure over the last year?

> Do they have a quality management system in place?

There are a number of popular core competencies that employers look for according to the study done by Hackerrank. Since you’d surely want your professional developer to be #1 problem solver who’s coherent in code and has a proficient tendency to find and fix bugs quickly, the leaders are unquestionably Problem-Solving and Programming proficiency and Debugging.

HackerRank states that “Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job.”

The best case scenario is, of course, is when you’d be visiting the vendor’s office locally to have a look around and ask their employees if they’re happy and satisfied with their work. Also, you could check the vendor’s client list for big names. It may also prove useful to review feedback from their employees on the local web.

Quality Assurance

One of the most important aspects of any software development is Quality Assurance (QA). Plan to invest in a good QA engineer at the very beginning of your project.

Whilst building your development according to the Agile model, you will definitely require a solid quality assurance in each sprint. Implemented this way, you will ensure that every bug is found and fixed on the spot, establishing a smooth iteration across all product components and as the result reducing technical debt to the minimum.

Ensure a smooth launch of your product by fostering the continues quality assurance system during the entire length of the development process. So all and all you need a professional QA expert working tight with the team of your outsourced developers.

TIP: To help assess the skill and proficiency of a software development professional please feel free to use and follow this guide compiled by Hackerrank.

I sincerely hope you’d find my recommendations above useful and will actually enjoy working with a remote software development team.

Please feel free to share your thoughts on this topic in the comments.

Thank you for reading my post!

I’d be really happy to assist you if you need help building your offshore development team — just PM me or leave your contact details in the comments, and one of my colleagues will be in touch with you shortly.