Monday, April 26, 2010

Why the hatred for Indias Programers

You will agree with some comments here: http://www.reddit.com/r/programming/comments/bg5me/dear_proggit_why_the_hatred_for_india/

I have worked with, and for many Indians, and the best ones are among the best engineers I have known.

More than half the people that go into CS here in the states are doing it because it's their passion. On the other hand, I believe the vast majority of people who go into CS in India are doing it for a bigger pay check. Neither are doing anything wrong, but when you mix people who have passion with people just showing up for a pay check, obviously the one's with passion are going to have some negative views of the others.

I don't think anyone is saying that there aren't good Indian developers. I have met some really awesome Indian developers who ranked with any American developers I've run across. Most of them went to school abroad, and others had been working outside India since the 90's.

I think there are a few issues:

  • Native Indian developers have not had sufficient time to develop the experience and confidence required to be great, yet.
  • Quite a few of the workers in India do not have the passion to be great.
  • It appears that the focus in the Indian colleges is on engineering and not science.
  • Good Indian developers are NOT getting the recognition they deserve, even in India! (The culture that you must be promoted into Mgmt, or you are bad at your job thing)

If you add all this up, good Indian workers are being drowned out by their inexperienced and unpassionate peers.

All the American companies I've worked with challenge their clients when their requirements are vague or they aren't taking enough ownership in the project, because they have as much to loose as their clients. I don't think you can say that, because the client failed, the project failed. It usually requires both parties to fail.


Link: http://www.reddit.com/r/programming/comments/bg5me/dear_proggit_why_the_hatred_for_india/c0mm8bd

Please don't take this personally, as I think you and I are in agreement, but I want to get this "out there" and this is as good a place as any.

At a former job, I worked with a number of Indians; some H1B contractors, some with green cards & working as full-time employees of the company, some as outsource/offshored resources. They fell into 2 general categories:

1) Agree to everything, always say "ok" to everything, even if (especially if) they don't understand. Then come back and ask the same question. Over and over and over again. Always saying "ok" but never actually understanding. Handed a 30-page document, they'll ask questions that are answered in plain English on page 5, clearly demonstrating that they haven't even glanced at the documentation.

2) Agree to take on tasks, but ask follow-up questions for clarification when something doesn't make sense, or isn't explained well.

I'm sure that this happens with outsourced developers regardless of nationality and location, but I think most peoples' (my own included) experience is mainly with those in/from India.

Group #1 is the group that makes me not want to work with companies outsourced to India. Is there a strong culture of "asking a question or saying you don't full understand is a sign of weakness, so never do it"? How does this get reconciled against the image that it projects of a developer who promises everything and is capable of delivering nothing?

I have much more respect for someone who says to me "I don't quite understand, can you explain this differently for me?" than someone who says "ok, I got it" to my face, and then a week later has taken no action/made no progress because they in fact did not understand at all.

No comments:

ShareThis