Live data from Hacker News

Lessons from Outsourcing to India, China and the Philippines

troyhunt.com

41–50 of 121 posts

Re: Lessons from Outsourcing to India, China and the Philippines

#41
post #25

Earlier quoted context omitted.

> But stay late so some delicate flower off in India can work 9-5? Fuck that. Um, you realize clifanatic was talking about this "delicate flower" sleeping in their office because of an 10 am CST meeting and not the other way around?

Um, yes I do realize that. But think about what his employer is asking of him. Is the wellbeing of these offshore workers his charity? Why should clifanatic EVER be put in the position of saving the offshore workers that his boss hired? Clifanatic's boss can ask those offshore workers to stay late, and then he can damn well shell out for them to take a taxi home. Maybe he can even let them come in late, given what an…

>> Is the wellbeing of these offshore workers his charity? Why should clifanatic EVER be put in the position of saving the offshore workers that his boss hired?

But that is _not_ what the GP is saying. You're creating a strawman argument where The Boss forces his employees to stay late in office while the 'labour' gets to work within his time.

If anything, based on the work timings mentioned in his post - the work-life balance of the offshore employees is screwed and not of clifanatic's him/herself.

Re: Lessons from Outsourcing to India, China and the Philippines

#42
post #8

I can't believe he skipped over the real elephant in the offshoring room - the time difference. All of those countries have almost no overlap with any part of the United States. If we schedule an 8 AM CST meeting with India (which is super early for some of the people here), it's already 7 PM at night there, and they're completely exhausted and ready to go home. And that's _if_ you can schedule a meeting far enough i…

He skipped it because his experience was from being based in Australia or some such. Thus the time zone was roughly the same (or near enough).

My wife once worked for an Australian company which was having enterprise software customized by an Indian company. The time zone was definitely an issue, compounded by the fact that (due to rush hour and other factors) the Indian company kept relatively late office hours (~10am to 7pm local time).

The net effect was that if she sent an email during the day, the earliest she could expect a response from the Indian office was about 3pm Perth time, which realistically (giving an hour turnaround time) meant one round of communication in per day unless she stayed back past 5pm.

Re: Lessons from Outsourcing to India, China and the Philippines

#43
post #32

One thing that jumped out to me reading the article was the author’s (or the organization’s) aversion to writing requirement spec (“detailed documentation”). That sounded very worrisome particularly considering the fact that the development was for a domain like that of Pharma, where rules & regulations shadows heavily on what and how things are done. I have some experience in developing software products for Pharma…

The process of writing software involves some interpretation and making good small-scale design decisions. Think of things like checking for buffer overflows and error handling. If you completely specify how this is handled everywhere you've practically written the software already.

One trivial and silly real-world example: I'm currently working on a C codebase with a few developers in India. Sometime before I started the project, the American company I now work for contracted out a security audit of the code, and one of the obvious conclusions was that "safe string functions should be used" - strcpy() had been used to copy user input to statically sized buffers such that it was vulnerable to classic buffer overflows, all over the place. Requirement set, requirement followed - now strncpy() and strncmp() etc were used everywhere, but always either uselessly (25% of the time) or wrong and unsafe (75%). Most typical was to use the length of the source, calculated with strlen(). Now, I guess it was not specified "use strncpy() correctly, with the size of the destination". Failure of specification, right?

For what it's worth, the root of the problems on this particular project are that the original American lead dev was not that great and set some bad examples, which the outsourced devs copy diligently and industriously.

(But then again, it's not enough to say "this is clearly wrong, it will overflow if (expr)" - they tend to need explicit examples to copy. Sometimes they impress me by figuring the cause of a tricky bug. Sometimes they write smart but actually useless code, like using floats and log() to figure out how big a buffer is needed to print a uint16_t in decimal - 5 bytes will suffice, no float math needed. Sometimes they write 20 lines of code to calculate how long the string result of snprintf() will be, instead of using the size of the destination, right after I've lectured on what strncpy() is for. They often seem less thoughtful than a neural net. I've even seen "buf[strlen(buf)] = '\0'" - I just have no words sometimes.)

Re: Lessons from Outsourcing to India, China and the Philippines

#44
post #32

One thing that jumped out to me reading the article was the author’s (or the organization’s) aversion to writing requirement spec (“detailed documentation”). That sounded very worrisome particularly considering the fact that the development was for a domain like that of Pharma, where rules & regulations shadows heavily on what and how things are done. I have some experience in developing software products for Pharma…

Imagine that to compile your program you have to send it to India and wait two weeks. Every simple typo you make takes two weeks to be noticed. I used to work for Nestle when they were working on a global SAP implementation - all development was outsourced to India. I don't know what was the history of this - but when I was there the analysts were required to write so detailed specs that they were like a program in assembler. Only that you could not compile it, run and check if it does what it is supposed to do. That was insane!

Re: Lessons from Outsourcing to India, China and the Philippines

#45
THIS! This is exactly what I hate about being an "Indian" developer living in Bangalore.

It really hurts me that when someone is working with an offshore team they are looking at me as a "cheap resource".

I don't expect the valley crowd to understand this, so let me suggest an experiment. Go to your best developer, and tell her that you are there in the company cause she is "cheap labour", and if it was possible in a fraction of second you would get an engineer from Google and would hire him to do your job! Repeat this constantly for 3 weeks and see if her productivity drops or if she is still around! Its really painful to spend so much time, understand your own workflow and identify shortcomings, being self critical, overcome shortcoming with tips from HN / Stackoverflow, to concentrate on the problem at hand and implement a feature and then have someone come in and call it cheap labor. Previously I was working with a team in US and was reporting to an American. I know he was happy with my performance compared with the rest of my team members in the Valley as a lot of R&D work would be assigned to me. I have worked with angualr, react, rails, java, chrome extensions, ios, android apps. I am definetly not the best in any of this. But based on my previous work I think I am fairly competent.

In enginerring its a huge challenge to bring down cost. SpaceX is celebrated cause they have brought down the cost of launching satellites, when ISRO does it, it hursts me to see the first person who says that they were able to do it cheaper cause of the labor cost in India. I respect my work, and take pride in having built it.

If you want to offshore work don't make them feel like that the only reason you are giving them the work is because they are "cheap".

I know this is not what the article says but I wanted to share this even though this is off topic.

Re: Lessons from Outsourcing to India, China and the Philippines

#46
post #33

One of the things you might want to remember when outsourcing to India: most of the best developers tend to jump to product companies sooner or later. The best Indian offshoring companies tend to charge around USD 50 / hour, out of which the developers see about $3 (college grads) to $20 (10+ years) per hour. The rest of it goes to managers and overheads. And this is the best companies. The more mass market ones char…

In my previous company (a very big, reputable US Consulting company), I was charged at 40$ an hour to my clients in the US, but I got only 2-4$ an hour out of it. My monthly pay was fixed at around 550$, and I would have to work 8-12 hours everyday. This is a typical salary for a college graduate from a fairly good (in the top 15) engineering college in India.

Re: Lessons from Outsourcing to India, China and the Philippines

#47
> "In the markets I'm discussing here, they almost exclusively want to move to a position where they're instructing others. There just seems to be less interest - less passion - in code and inevitably that's going to impact quality."

I think this statement misses the point completely, the difference isn't the passion about coding, it's obviously the salary!

If you are one of the juniors toiling away in the front-lines, your pay is still going to be really low. A programming role only allows to get your foot through the door, if you are to make a decent living the only way is to shoot for a promotion into management.

As opposed to "the West" where you can actually pursue a technical role throughout your career because the pay is higher and there are many more different types of roles you could be doing.

Re: Lessons from Outsourcing to India, China and the Philippines

#48

> "In the markets I'm discussing here, they almost exclusively want to move to a position where they're instructing others. There just seems to be less interest - less passion - in code and inevitably that's going to impact quality." I think this statement misses the point completely, the difference isn't the passion about coding, it's obviously the salary! If you are one of the juniors toiling away in the front-line…

In my experience, also in "the West" managerial positions are, on average, better paid. Not that you don't make money on a tech role, but management will still do better.

Re: Lessons from Outsourcing to India, China and the Philippines

#49

Nice article and on the spot. There is a difference between offshoring and cheap-shoring (i.e what I call offshoring at very low costs). Most of the bad experiences you get from India are a result of cheap-shoring. You get what you pay for. Cheapshoring undervalues good engineers and overvalues a lot of bad engineers. I have seen this for almost 15 years (from the Indian side), and I don't like it. While some people…

$60k puts you in the same order of magnitude as other western countries:

E.g. ~$65k gets you a senior developer in Berlin (=€60k) and similarly in Canada (=90k CAD), so a lot more competition in that bracket.

Re: Lessons from Outsourcing to India, China and the Philippines

#50
"But conversely, the Microsoft stack that I worked in and we were increasingly unifying around in Pfizer was simply much harder to find competence in"

That's probably because the developers that are strong in Microsoft stack were already out of the country most likely pirated by companies in Singapore or in other parts of the world. Majors banks in Singapore had been pirating IT people in Philippines from QA to Project Managers for years.

Post reply on HN