Ask HN: What challenges are you facing offshoring development to India?
I offer offshore dev team or IC. I'd like to learn what challenges you are facing with your current offshore team.
How is your experience offshoring to India or South Asia / SEA in general?
32 comments
[ 3.5 ms ] story [ 60.3 ms ] threadAnd 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?).
The language barrier can be tough too, but manageable.
Offshoring to India is being done in engineering fields as well. Many international Refinery / Petrochemical/ Offshore platform engineering companies have huge design office here.
Disclaimer - I used to work there.
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'd also add if you're any kind of agile organization, Indian teams are very difficult to make fit. Self-managed teams are extremely difficult to construct due to culture related differences in management and power structure. This exacerbates the timezone issues because you may not be able to rely on local leadership to make good, independent decisions.
Definitely. Problem is forget about timezone or cultural differences.
A lot of places complain enough about remote vs in-person. This just makes it 10x harder for those people to adapt.
I used to work with teams in Bangalore and Pune. My nightmare (which I lived too many times) was us finding an issue with the offshore team’s work on Friday morning. When that happened, I knew I wouldn’t see a fix until Tuesday morning at the earliest. There are no async workflows that can fix that problem.
Honestly, the best way to deal with time-zone issues is to hire senior folks. You need folks that can operate independently and can solve problems. Folks who can come up with solutions so they can keep working; not people who put down the keyboard for the day when they run into an edge case that’s not defined in the spec.
Here’s the thing: senior developers in India are expensive. Add your margin to their salary, and the rate you charge for people is going to come close to what I pay for a developer in LATAM. At that point, I’m better off paying for someone in Brazil (for example) so I don’t have to deal with the async headaches.
I will never forgot the moment I encountered this MySQL query from hell that brought a customer-facing webapp to its knees:
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.
Is this really a problem with India or the expectations of such outsourcing?
With outsourcing you look to reduce costs - so much for it to be worth the effort.
A quality developer - whether in India or a low cost of living country is likely able to get a remote job (even back before remote was huge) that pays more than what the outsourcing salary is. The 1s left to accept outsourcing or a local role are of lesser quality.
I see 3 tiers:
1. Those that can move abroad and have the ability to get hired for a better career do so
2. Those that don't want to move abroad or can't but have the ability already take up remote or very high paying jobs locally
3. Those that go with local firms and international outsourcing arms and accept the local pay (which is a LOT less)
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.
Where are you from? Seems like you have figured a way out.
> How do you handle time difference?
> Do you do off hour standups or meetings?
> Do you provide better docs?
> Overall how are you making the collaboration work for you?
Thanks.
We have slightly out of sync schedules where they overlap a few hours with New York time zone.
We have one weekly team meeting on Monday morning all online.
I have one main local manager on the team in India that handles most of the questions, but I am available online when then need me.
For documentation, I put a lot of effort in organizing the docs and have a simple ontology so everyone on the team can find information.
Very strict almost pedantic adherence to instructions. Much less creative problem solving.
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.
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.
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.
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.