How is your experience offshoring to India or South Asia / SEA in general?
What I learned is that you get what you pay for. So, I could get smart developers in India if I’m willing to pay more. However, a good dev in India costs the same as a good dev in LATAM. at that point why would I deal with the TZ BS?
I will never forgot the moment I encountered this MySQL query from hell that brought a customer-facing webapp to its knees:
select oldurl, newurl, id, dateadd from jos_sh404sef_urls where newurl <> "" AND oldurl not like '%vmchk%' AND newurl not like '%format=feed%' AND newurl not like '%format=pdf%' AND newurl not like '%print=1%' AND oldurl not like '%__404__%' AND ( soundex(oldurl) = soundex('not_found') OR oldurl like '%not%' OR oldurl like '%found%') GROUP BY oldurl limit 500;
Other developers I have engaged from other places, especially ex-Soviet countries, were far more competent and seemed to care about a job well done.In my view, the Indian government needs to encourage its industry and educational institutions to study the teachings of W. Edwards Deming to instill a culture of quality. Back in the 1950s, Japan was ridiculed for the quality of its manufactured goods and within a decade after embracing Deming's advice, they became known for their excellence. Perhaps India can also experience such a renaissance.
And the cultural aspect that rather than deliver bad news, they prefer to just not deliver news at all (thinking that that's somehow less of a problem or gets them in to less trouble?).
Now, some consultancies get around this by flying over Indian people who stay for the maximum amount of time their visa will allow them, living out of a hotel - but it's clear the quality of work these people are doing is so hit or miss, as often they staff the wrong people, with the wrong competencies, we basically tell them to fuck off on arrival and have to have arguments with our contacts on the ground here.
Overall, our dependency on India, and any other country that doesn't have similar laws in place regarding data breaches, privacy or liability is quickly becoming too risky.
Let's face it, if you earn $15-25K USD a year and you're given prod access to a retail database for a Fortune 500, finance, retail, customer-facing, tech services or platform company - you can turn your access into 10 years of salary in less than a week. There are recruiters for this on LinkedIn now, actively reaching out to people with offers for ransomware, data extortion or business-email-compromise profit-sharing arrangements.
And the risk is real.
1. high turnover , you never know who exactly is working on feature at any given point. They even had just one git userid that they all shared ( consultincompany@mycompany.com), which was bit ridiculous.
2. I saw some of their employees be on-call in meetings with multiple clients .
3. Super slow responses via email. You finally just give up and resign to your fate.
4. Developers just dont care about quality, not because they not competent but because of apathy. They just don't give shit.
5. language and cultural barriers. I got pretty good at indian accents but once in a while someone would totally throw me off. I would feel embarrassed to ask them to repeat themselves repeatedly.
There are many people in India who have found their way onto the software industry without adequate education (did a bunch of Java/Spring/Android/C# courses and YouTube videos vs. building and operating production systems) or passion for software engineering. With these people you can be sure to get shoddy work and spending lots of time micro-managing them.
At the same time, there are experienced developers and engineering managers who have worked at multi-national companies, built and operated large systems, perhaps even worked abroad, and have passion for the craft of software engineering. You need to find such people to form the core of the development organization. They are going to be more expensive than the rule-of-thumb "India salaries are 40% of US salaries". You will also need to ensure that they have sufficient autonomy and a seat at the leadership table so that they can independently move work forward and set the culture in India. Otherwise, they will lose interest and move on.
People have already mentioned the time zone challenges but those are mitigated by having strong/autonomous leaders in India. Don't assume that you can build an effective scrum team cross US-India time zones. Instead you need to be thinking of India org and US org with significant independent ownership of systems, and some dependencies between the orgs which will need periodic management.
Another factor to consider is the attrition rates of early-to-mid-level engineers in India which have historically been higher than the US. You need to manage this, through the leadership team in India, giving engineers appropriate growth paths and exposure to different responsibilities.
I remember once looking at some code one of them had committed while I was sleeping… it still had the comments mentioning “Bank of America”. The thing is, I doubt BoA would have done anything had I tipped them off that their code was leaked to another company. These shit companies get what they pay for, and they get what they deserve.
Very strict almost pedantic adherence to instructions. Much less creative problem solving.
So my experience is not great.
Generally speaking, I don't think India is a go to country. For US firms, hiring workers in the UK is usually a much better bet because salaries are depressed there. Ghanian, Nigerian, Kenyan and South African firms are just as good as Indian IC and have noticeably better TZ difference to the US.
If anything, I would say the cultural aspect of always changing jobs for a salary bump is a challenge.
But this same issue has started rearing its head in the US now.
Offshoring to India is being done in engineering fields as well. Many international Refinery / Petrochemical/ Offshore platform engineering companies have huge design office here.
The language barrier can be tough too, but manageable.