Ask HN: How do you deal with an offshore team that is vastly underqualified?
It seems that the 12+ folks there are a bit underqualified for our React / NodeJS / Typescript stack.
For example, I had to explain how to access a single item in an array and how to replace a string within a string.
Folks in that team that know about arrays simply produce code that subjectively seems to be lame. For example, when I see a `margin-left: -37.5em`, I know something is really off.
That's the first part of my question - how do you deal with that?
The second part is, I'm trying to not answer their questions on Slack directly, and I'm answering with a question instead. "Okay, there's a function called `replace`. What arguments does it take?"
I'm worried that they will get hooked on just typing a question to me instead of typing it into Google. I had similar experience in my previous company, when the offshore team in Shanghai refused to think and just asked us for anything, even 2 years after they've started.
However, some close friends commented that it might come off very arrogant and offensive if I don't answer questions directly and show my dissatisfaction.
I also refuse to take "just a short call"s which tend to last half an hour and I can hardly understand anything. I prefer text messages.
How do I deal with all that? I'm only working for 6 months so I want to stay another 6 months minimum at this company.
Am I also being arrogant?
15 comments
[ 5.4 ms ] story [ 46.0 ms ] threadIf you're interested, I'm happy to get on a call to talk this through with you. I'd also be keen to chat about an alternative to off shore development. My email is in my profile.
You're having difficulty hiring engineers because you're either not willing to pay enough or you're imposing stupid artificial constraints on your requirements.
I have managed people in India off and on since 1999, and for the past 3+ years have been working at a startup where we have an entire division in India, including engineering. So I have to deal with recruiting, hiring and managing in India for engineers, I travel there reasonably often. One of the key things to know, really good India engineers are being paid $35-50 USD per hour, not $10-$18. Yes, you can find people for less money that are awesome, but as a foreign company that isn't on the ground in India that won't happen. You will get consulting companies that provide you people they are hiring for 8-12 lakhs INR (~$12k-$17k USD/year) and charging you what seems like a good deal at $15/hr but this isn't a deal because you will be answering questions like you are for the next eternity. Good consulting companies that employ more experienced engineers are typically charging more on the lines of $50 USD/hour, you still aren't getting the top 20% but you at least aren't getting the bottom 20 either.
To be very clear, there are extremely talented engineers in India, it isn't a capability issue, but it is a numbers and recruitment issue. When I say it is a numbers issue, India educates more engineers than the U.S. by far, and so it is far more likely you are dipping into the 80% side of the pool not the top 20%. Engineers that are talented in India make very good money, in fact very comparable to many European countries anymore. I know friends there right now that are charging ~$50 USD/hr and they are a steal, here in the U.S. they would easily be worth double in a consulting engagement.
So I only mention all that because essentially you likely have very junior engineers that are just not familiar with either the framework in total or just don't have the experience. And this can be hard to tell from their CV and an interview because it may look great (if you even saw one). Also, when I recruit in India it isn't uncommon for people with 3 years of experience thinking they are senior and deserve more money but they are incapable of doing basic tasks unaided, and so you wind up filtering through a lot of these to find the good ones. Again, a bit of a numbers game.
As for what you can do. One of the things I love about the Indian culture is they aren't offended by direct (but respectful) comments, and in fact they prefer it as they feel you respect them more when you are direct (just understand they will do the same generally). Of course it should go without saying, but you should never be disrespectful of course. Being direct in your feedback on what they need to do is also what makes them feel better in their job as well, so their performance gets better. The key thing is don't make this an adversarial situation, that will not benefit you or the team. Instead, ask them to send you questions on Slack or whatever but give them guidelines, and direct them to some resources where they can learn around some of the common coding issues your team is dealing with or you see them having. This will be warmly received, and appreciated. It will also start to cut down on the number of questions because after 2-3 times you should refer them back to the reference material, and document that you have done so.
My contact is in my email, happy to help you (give you ideas/tips) offline if you'd like. And don't feel bad about the communication, I literally have over 20 years off and on of working with India based people and I still sometimes struggle. I just tell them, hey I don't understand, can you slack me what you just said...
The business culture in India includes an acceptance of taking direction from people who have authority over the work. But you need to be explicit. Give them clear directions. Tell them what you want. Tell them why you want it. Do not try the indirect methods you described - that isn't the style they are used to. Be direct, and if they miss the mark, you can be candid in your feedback, politely, and they will respond.
At the same time, get to know them. Ask them their backgrounds, why they do the things they do. Learn their perspective. Let them learn that you value them as people, not just offshore coders. And the more you get to know them, and build trust across the team, the easier this will get. You will learn who they are, they will learn who you are, and things can get better.
I think you're being too generous calling them "a bit underqualified". They should be disqualified for not knowing such basic operations. Otherwise, you're paying them to educate them.
If it's not under your control to choose which team members are actually qualified for the job, perhaps you could prepare required reading that covers the basics of HTML, CSS, JS - for example: Learn Web Development. https://developer.mozilla.org/en-US/docs/Learn
I've never tried this, but as an idea: can you redirect their questions to a full team chat and get their own team members to solve them? Saying "ABC asked XYZ" might put the onus on them to up-skill their team and it might also show you who's able to answer their questions on their side. After a while they might just ask their questions directly in that.
Bottom line, the company is padding the low cost of the offshore team with your time, patience and expertise. Get some more cash for this and any extra help they'll hire on for you locally.