Hiring offshore developers can save a company a lot of money, so why don't they?
Introduction
In today's globalised world plus the advancements of the Internet and technology as a whole, hiring software engineers from developing countries seem to be an ideal strategy from a financial point of view to cut costs and a potential boost in productivity. The typical Senior Software Engineer salary in Australia is $94,000 USD p.a.[1] and $85,000 USD p.a. in New Zealand [2]. Compared to the average salary for an engineer in India ($14,000 USD [3]) or Pakistan ($16,600 USD [4]). But the question is, why don't we see companies hiring more offshore developers? I am not referring to companies that have offshore bases already set up such as Microsoft. I am referring to small to medium-sized companies that don't have a presence in developing countries.
While there are certain advantages to this approach, I have come to realise the potential drawbacks it poses for companies. In this article, I will share my personal experience, plus experiences from dev managers and engineering leads to shed light on why we think hiring offshore software developers does benefit the business from a financial point of view, but in practice, it is very different.
Communication challenges and understanding of the product and/or concept
One of the most significant hurdles I faced when working with offshore developers was communication challenges that often led to misunderstandings and misinterpretations. This resulted in delays, inefficiencies, and increased project management overhead. Effective collaboration and clear communication are crucial in software development, and communication challenges pose a significant obstacle to achieving those goals.
A most recent example where I experienced a misunderstanding in communication was working with a QA from offshore. I had been working on a security fix. The ticket clearly states this is a security fix and which endpoint needs to be tested. When it was time for testing, the QA tested another endpoint instead. To remedy this, I had to get on a call with him to re-explain that issue, the fix and which part of the application requires testing. Although this is a minor misunderstanding, it does lead to time-wasting and having to re-explain the concept. If this was something more serious, it can be detrimental. Although this experience was referring to a QA, I have had similar experiences with developers where the lack of understanding led to wasted time and effort.
Quality Control
Ensuring high-quality standards in software development is paramount. However, when working with offshore developers, maintaining consistent quality became a considerable challenge. It was difficult to assess the skills, expertise and their way of logical thinking (in a coding context). This lack of visibility into their capabilities resulted in inconsistent code quality and an increased risk of introducing bugs or technical debt into the project. It became evident that maintaining quality control was a constant concern when working with offshore teams.
Another area of issue is that some of the offshore developers come from a culture of "people pleasers". And by that I mean, they are essentially "yes men". They usually wouldn't ask clairfying questions even though they have not fully understood the business requirements. I understand this fully as I also come from a culture of people pleasers. It might sound nice to have a developer say "yes" all the time, but it is extremely frustrating when the "yes" is not a confident yes, but rather it's a "yes" that pleases the product owners. This has led to many headaches for me in the past as I had developers who is always saying yes to the tickets I assign to them, but in the end, they did not understand what was asked and resulted in delays and incorrect solutions to the problem.
Lack of Cultural Alignment
Although we, as developers got into this industry because we love to deal with computers rather than people. Software development is a collaborative process that thrives on effective teamwork and cultural alignment. However, many offshore developers often lack familiarity with the company's culture, work processes and business goals. This lack of cultural alignment hindered collaboration, and innovation and resulted in misunderstandings or conflicting expectations. The absence of a shared work culture created a barrier to building a cohesive and productive team.
Given offshore developers are "offshore", we are only able to "get to know them" over video calls. Now, there is nothing wrong with trying to collaborate over video calls, but the interactions should not only be about the problem or work at hand. In Australia and New Zealand, we are accustomed to having informal "chit-chat" before and/or after a meeting. I have tried numerous times to strike up conversations with my offshore colleagues and the response is usually one-word answers. Now, this may be due to language barriers or cultural differences, but this does hinder relationship-building with your colleagues.
It is important for me to point out that the working style of my offshore colleagues might work best in their respective countries. This article was not to criticise offshore developers but rather to highlight the differences in the way we work and the risks involved when hiring from offshore.
Conclusion
Hiring offshore software developers may present certain advantages initially but it also comes with inherent risks and drawbacks. Communication challenges, quality control issues and cultural misalignment all impact the success of a software application.