

Behind the 'Bad Indian Coder' (2013) - avinassh
http://www.theatlantic.com/international/archive/2013/10/behind-the-bad-indian-coder/280636/?single_page=true

======
beat
I think it's something of a cultural issue as well as an educational issue. In
India, being a programmer is a nice job that brings parental and social
approval. It's something you do because you're not passionate about doing
something else. In the US, programmers are still "geeks", and it's not a cool
job to do - especially the mainstream corporate/enterprise programming that
employs most programmers. So American programmers are more likely to do it
because they're passionate about it, not because they want a steady job.

The result of this is that the best Indian programmers - the smart, passionate
ones - are every bit as good as the best American programmers. But the
_average_ Indian programmer is significantly worse, dragged down by hordes who
don't know how to code well and don't care that they don't know.

An interesting contrast to this is Russian programmers. In my experiences with
numerous offshore teams, Russian teams are more likely to produce working
code, but they're also _much_ more likely to go "off the reservation" and do
things that aren't in the requirements. I summed it up to a former co-worker
recently, who had dealt with Russian and Indian teams on the same project with
me, as "The Indian team won't do anything unless you explicitly tell them to
do so. The Russian team will do anything unless you explicitly tell them not
to do so."

The cultural things are important as well as the educational aspects. I don't
think an American CS degree is great preparation for real-world professional
programming, either. What matters is how the programmer chooses to learn after
the formal education stops - especially off-the-job learning.

Programmers who are passionate, who love to learn and demand the best work out
of themselves for sheer pride... they're great. The rest are mostly useless.

------
bhhaskin
I think bad developers in general are on the rise. It is extremely easy to
produce bad code, but it can be quite difficult to produce quality code.

~~~
beat
Uphill both ways, man. I've been programming since before the current Stanford
grads were born. Code has _always_ sucked, and it will _always_ suck.

