
Ask HN: India == bad devs? - aviraldg
Do you subconsciously assume that developers from places like India and China are &quot;cheap&quot; and &quot;unskilled&quot;?<p>Anecdotal evidence: I got far more replies to WhoIsHiring posts when I didn&#x27;t list my location compared to when I did. Sad, really.
======
api
If there's a "India == bad devs" stereotype, it's more the result of cheap
American outsourcers trying to get bargain basement prices on Indian dev labor
and then being unsatisfied with what they get.

Sorry but you give cheap, you get cheap. No form of software development is a
rote, repetitive process that you can just drag in anyone who can fog glass
off the street and sit them down at an assembly line to do. It's not amenable
to the kind of cheapo outsourcing that can be done with some industrial
processes. (And even there, you get what you pay for... it's why the Chinese
sweatshop junk is junk.)

I've met plenty of good Indian devs over here in the 'States, and I'm sure
there are plenty more over in India. But they're probably only a bit cheaper
than good U.S. developers, especially since they can get telecommuter
positions at U.S. firms for U.S. wages.

~~~
shubhamjain
The problem with these outsourcers is they that they expect Indian programmers
to work out quality code while paying < 5$ an hour. I met an employer who was
impressed by my SO profile and wished to hire me $2 per hour when I asked to
be paid at least 10$ (which is very good income here), he says, "Why should I
pay you 10$ when I can get developers at much lower rate at Elance, GAF?".

They don't realize its unfair to pay a good programmer much lower (even
considering the Purchasing Power Gap) than one in US and bear the fruits of
hiring a bad dev.

~~~
aviraldg
Even $10 is way too low (at least an order of magnitude!) for a good dev.

------
BhavdeepSethi
Short answer: Depends where you're looking at. Long answer: In India, you'll
find engineers dime a dozen. IT service companies like Infosys, Accenture,
etc. recruit the bulk of the students from the universities. They don't care
which background you're from. A CS/IT Engineer is at the same footing as an
Electronics/Mechanical engineer as far as these companies are concerned. They
train these undergrads for 2-6 months on a particular skil set (usually
something outdated like JSF or Struts in Java or say some proprietary
software) and these devs are responsible for delivering the projects for the
off-shore companies. Most of these engineers have no clue what they're doing.
They're not interested in the field. The only reason they continue to work
there is because the work experience can be leveraged to do an MBA. To work on
the projects, they pick up snippets from the Knowledge Base these companies
maintain, manipulate the snippets enough to make them work with their project
and then move to some other similar project. This probably covers 75% of the
"devs" out here.

The rest can be categorized from moderate to literally the best in the world.
Many of these devs end up going to US for an MS/PhD and so the pool shrinks
further. Nonetheless, I've seen some really good devs out here as well.
Companies like Google, Amazon, Flipkart, Apigee make sure they get the top
brass from these lot.

I'm not surprised why many people may stereotype most of the engineers in
India as "bad devs". Unfortunately a majority lies in that lot. Filter them
out and the rest are as good as any out there.

------
kjhughes
In the long run, such misguided stereotypes will intrinsically hurt and
marginalize those who hold them.

One of the joys of having worked and gone to school with diverse and often
distributed sets of people is that I've been honored to know extraordinarily
bright and productive individuals who are dissimilar along many irrelevant
dimensions. I'm thankful for the perspective and wish it were so universal
that no one would wonder such questions.

I agree that it is sad that we're not there yet.

~~~
_random_
I am trying to fight my stereotypes. Could you please point me to some github
repos started by chinese/indians and that are awesome?

------
JeremyMorgan
This has the potential to blow up into a huge flamefest.

Short answer: No. Absolutely not.

A longer answer would probably explain that in my experience over 10 years in
the industry, much of that working with Naturalized Indians as well as H1Bs, I
would say they are on par with anyone else in the industry, you have good and
bad.

I've met brilliant Indians, and worthless ones. Just like every other
nationality. It's simply not a good metric to use when choosing them, that's
why it's illegal to do so.

~~~
WalterSear
The ones who come over here beat out all the ones back home for it. I've
worked with many developers from India, and the ones over here tend to run
rings around the ones over there.

IMHO, and I'm certainly no expert, but it seems that in india more people see
IT work as a path to middle class wealth and this consequently attracts more
people to the field, in the same way that people become doctors who have no
interest in medicine, and people become lawyers without an underlying interest
in law.

There are certainly good doctors and lawyers who aren't 'passionate' about
their profession, but for the most part, interest is the path to competence,
and so as more people enter the field for financial and social reasons, you
end up with a overall lower quality of candidate.

~~~
Terretta
This answer adds value to the discussion.

It's been said much of American culture arises from the self selection of
those choosing to leave home and come here over the last few hundred years.

Similarly, the choice of geography and company of employment by developers
tells you a lot. If you can't choose the individuals, choose the organization
all the more carefully as its employees will have made a choice too.

------
eksith
This isn't from HN, but I've noticed an implicit bias against devs from South
and Southeast Asia (can't speak for China). On my resume, I go by the
shortened form of my first name, not "eksith" and that was a conscious
decision after putting my full name resulted in very few calls and emails.

I'm not sure if that has to do with a perception of talent or simply a
presumption of a language barrier, since I've also seen a fair number of devs
from India post content (both on blogs and on places like Stack Overflow) that
make me question their communication skills.

It may simply be a case of many people = higher number of proportional
incompetence.

Edit: To add, it may be a higher number of proportional sub-par content coming
from India due to greater degrees of internet access.

Full disclosure: I'm originally from Sri Lanka, now living in New York.

~~~
tubbzor
I remember reading a study (it is pretty generic and I'm sure done many
times), where a research group put a stereotypical 'white name' on a resume
and sent it out, then put a stereotypical 'black name' on the same resume and
sent it out. I'm sure you see where this is going in that the 'white' resume
received many more calls and interviews. This bias is unfortunate but pretty
prevalent in most organizations, and is even seen in university admissions
frequently (same ethnic bias, different reasons).

I have had several professors/GTAs at uni who are native Indians that I highly
respect for their CS knowledge. The accent can be a little hard to pick up at
first if you've never been around it but after that its all gravy :) Likewise
I've had some who I've completely despised, just like every other person of
every other ethnicity. I'm sorry you have to deal with that.

Edit: expand on last para

~~~
impendia
It is possible to test yourself for such biases:

[https://implicit.harvard.edu/implicit/](https://implicit.harvard.edu/implicit/)

~~~
phaus
That "test" is completely ridiculous and meaningless.

~~~
impendia
Would you like to make an argument in favor of your assertion?

~~~
phaus
The implication is that by changing the word/picture associations at each
level, they will eventually trick you into revealing that you are racist, as
you mistakenly associate the negative words to the race which you are
allegedly prejudice against. Wouldn't it be just as likely that people would
click because they simply mixed up which side of the screen the association
was supposed to go on? Such a mistake could also be attributed to a lack of
attention or even clumsiness. It seems like the test takes a huge leap of
logic by automatically associating the mistakes with racism. Twice throughout
the test I mistakenly clicked the wrong side for a negative word association.
Once it was with an African American portrait and once it was with a European
American portrait. One would think that this would even things out, but the
test determined that I'm a racist because I got blue and red mixed up.

As I said, it's utterly ridiculous.

------
EliRivers
It does seem to be awfully common in Indian schools to teach C++ from before
1998 (i.e. before formalising of the first standard), considered simply wrong
today, using tools made 25 years ago (Turbo C++ for DOS is popular). Those
taught this end up hitting the workplace knowing incorrect C++ and knowing how
to use a 25 year old tool for DOS. I've no doubt they can learn modern C++ and
modern tools, but it certainly creates a bad image.

~~~
sirwanqutbi
Meh, we had to learn Pascal here in the UK (2005). In my opinion, learning C++
early on is better than jumping on a bandwagon language like PHP, and expect
to learn JavaScript with relative ease.

I agree with Kohanz & API ... outsourcing companies throw peanuts at
developers and expect quality code.

~~~
EliRivers
The problem isn't learning C++. The problem is paying a fortune to be taught
some kind of franken-language from two decades ago in the belief that it's
what employers mean when they say "C++" on the job spec.

~~~
sirwanqutbi
What, who pays a fortune ? .. most indian developers are self-taught geeks who
pick stuff up easily. C++ is the mother of all modern languages and I suspect
job specification that mention "C++" is an indication of that.

With that I've noticed Indian developers work with much more languages than a
developer here, who 'focuses' or 'specialises' on one or two languages/code
stacks.

My only conclusion to the notion that outsourced jobs yield low quality code
is that companies DO NOT PAY ENOUGH. Pay more and you get better project
management, better project scope, and future proof code.

In the 21st century sweatshop workers should not exist ! that goes for the IT
industry too.

~~~
EliRivers
_most indian developers are self-taught geeks who pick stuff up easily._

I believe that to be just plain wrong. I suspect you're taking a small sample
of people and extrapolating that. India contains a great many universities and
technical colleges teaching people programming. These places charge money.

I see this blindness a lot here on HN; HN is a small group of motivated
technologists. The majority of the world's programmers don't read HN. They
don't read programming books. They don't think about other programming
languages. They don't learn new things by themselves.

 _C++ is the mother of all modern languages and I suspect job specification
that mention "C++" is an indication of that._

This also is simply incorrect. I see a vast number of job specs without C++ on
them. If C++ is being put on job specs just because it's "the mother of all
modern languages", whatever that means (and how exactly is C++ the mother of
modern C, Objective-C, Ruby, PHP, Perl and a whope bunch of other languages?),
do the job specs without C++ on them come from some other universe where C++
doesn't exist? No. They come from jobs where C++ isn't required.

------
anomalizer
Disclosure: I am based out of the Indian subcontinent & have deep professional
ties with the bay area for little over a decade.

I myself would assume that the skill levels at 90th percentile of _all_
developers from India is well below the median levels of the valley. The
distortion is partly contributed by the number of graduates entering the
industry. The main contributor of this situation would be people's motives.
There is a huge difference between aspiring for fame & world domination/peace
v/s what is deemed as a high income job (the notion of "high" is relative to
national income levels).

So the obvious answers are as follows: there is fundamental difference in the
calibre of people that depends on their motivation _and_ there are dominant
motivations that varies by geographies.

What would be interesting is to stop looking at this as a US v/s SEA thing and
instead pick a region from any first world country where dominant motivation
of developers is to just get by and see how it fares against the valley.

------
dscrd
Most individual Indian developers I have worked with have been good developers
-- not to mention good people. But at the same time my experience has been
that as a group they tend to fail at an alarming rate.

That's why I'm now thinking that a better (even though also potentially
flawed) generalisation would be "India = bad management".

~~~
w0rd-driven
I would rephrase that to be "Bad outsourcing = bad management"

Even as a US citizen fluent in pretty much only English, if you give me
terrible requirements or can't even express them clearly, I'll give you a
terrible product. I would call my work intermediate to advanced though I can
cite far more capable people than I, in any nationality.

I think the rep India gets in particular is the cultural shift. Almost all
outsourcing when you hear of outsourcing tales went there versus any other
country. Of course you'll hear horror stories and of course if you heard them
you would likely assume that "India = terrible".

My personal experience is more that management is terrible and have an
extremely difficult time properly describing specifications. That you're
trying to explain this to developers who by in large are not as fluent in the
language as you means this will be naturally more work than just communicating
with people in your geographic region. If the labor is cheap but you're
spending 2-3x as many man hours just _explaining_ the requirements, how much
are you really saving? This really goes for any nationality "offshore" to your
own.

------
matt_s
If you've worked in a US Corporate IT shop, then it is very likely that this
is the case. One way large corporations structure the work is deliverables
based. That means the company is paying the vendor to deliver design docs,
code, tests, etc. on a schedule and aren't necessarily paying per hour. The
offshore companies hire a couple of Java enterprise developers with 6 months
experience and don't pay them much. They assemble the basics of an application
together and the work is billed out as $X,000 for development. The cost for
development seems inexpensive for a large corporation where if they staffed
someone themselves, that would be less than 1 month and there's certainly no
way 1 person could write an entire app in a month (that should be in sarcasm
font - but that is how upper mgmt thinks).

The offshore companies profit lies between what they pay people and what they
charge the mega-corp. Some offshore companies cut corners in this area - so
you will hear things like "they only did the minimum", "they can't think out
of the box", etc. This is likely because the developers have too many projects
and really aren't encouraged to go above and beyond since that will not help
the profit margin.

A lot of the offshore companies have attrition problems as well which help
contribute to the stereotype that developers from those countries are
unskilled or cheap.

From your writing on your blog, you are a better writer than what I've seen
coming from some companies in my day job. You're doing the right things by
blogging and maybe you should start a github repo for your side projects so
future potential employers can see your capabilities first hand. Work on your
spoken English/American English as well (I have nothing to judge on but this
can be a barrier), the better you become at this the faster you can break
through that stereotype.

If you aspire to work for a startup, see if there is a startup scene in your
area.

------
avemuri
I think most people do make that assumption subconsciously. Hard to blame
them, the signal to noise ratio is awful so it's probably easier to not
bother.

Relatedly, my experience has been people demand cheap if you're from India
even if they do think you're skilled. It's the geographical version of the
"but it only took you 10 minutes" argument. This does bug me.

My advice to you is to hide your location at least until they see your
portfolio/github first. And be firm about pricing. Maybe a modest discount so
you don't lose tiebreaker decisions, but don't fall into the trap of anchoring
your worth to geography.

For context, I spent a decade in the US before returning to India and have
freelanced in both places. I do have degrees from a couple of fancy US
universities that partially address the signaling issue.

------
OnyeaboAduba
Speaking as someone who just hired a developer I steered away from India and
the whole overseas market in general because I wanted someone locally who I
could speak with In person.Some conversation in my opinion have to happen in
person.My friend just had a app completed by a Indian developer quality work
from what I can tell but time barrier slowed completion of app considerably.

------
byoung2
A lot of businesses would prefer someone local because of timezones, even if
the overseas dev is more skilled. For a startup, for example, it is
advantageous to get a bunch of devs in a room to bounce ideas around. It is
harder to schedule Skype calls at odd hours and get the same effect.

~~~
aviraldg
Doesn't quite apply, because I'm comparing "Remote (India)" against just
"Remote"

~~~
mknappen
The time zone problem is indeed the cold water here. Even when folks are
working remotely, it's faster and easier to work with people who have similar
office hours. "Remote" could be a time zone over and worth an email.
"Remote(India)", however, means project questions sit unanswered because I am
asleep. If more information is needed to provide clarification, even a simple
matter, normally settled in 60 minutes across roughly aligning time zones, can
take 36 hours to work out.

------
harrytuttle
There's nothing wrong with the skills (you'll find similarly skilled people
locally), but the communication and the pride in the work sucks from
experience. This is true regardless of the remote culture: it's universal with
outsourcing.

~~~
shock
> This is true regardless of the remote culture: it's universal with
> outsourcing.

That's bullshit. It just means you didn't work with the right people. I've led
remote teams (not indian teams) which got very high praise from the US
management.

~~~
harrytuttle
That was probably because they were cheap rather than efficient.

I've worked with three large outsourcers over the years and it's been nothing
but carnage. We'd have been better off hiring less local people at a higher
wage.

------
noufalibrahim
Many Indian developers choose their field based on parental and social
pressure. I've been working with students in Engineering colleges in India and
a significant fraction say that they joined Engineering just because their
parents told them to and/or because they want high paying jobs. It's
considered undignified in some sense to not have a professional degree. This
causes an increase in demand and consequently, private players and others step
in to meet it. These institutions churn out a huge number of engineering
graduates every year who don't particularly care about their field or their
job. That's the first stage. You have a huge pool of (at best) average
developers. They're entire "programming education" is four years of working on
outdated technologies and a shaky theoretical foundation taught to them by
(mostly) uninterested teachers.

The next stage is the service companies. If you're an A player, and these are
as common in the Indian tech. community as in others though they're harder to
find because the large number of people you have to wade through to get to
them, you'll already have some open source contributions and contacts with
other good programmers and they'll get there. The others, who are the bulk,
don't have all of these privileges and don't know what to do. To their aid
come service companies. These are the organisations I blame for most of the,
often justified, stereotypes of Indian programmers. They hire people in bulk,
give them some focussed training (since their formal education is often
worthless) and then expose them to the world of cheap outsourced software
development.

This is where many foreign devs and Indian devs meet and this is the "most
average" of the Indian tech. crowd you'll find. They're uninterested, driven
by things low on Maslow's pyramid and generally worry about things like saving
face, getting promotions, pleasing managers and rising up the social and
professional ladder rather than good tech.

Naturally, these people are "cheap" and "unskilled". They were selected from
the larger pool for mostly those reasons.

If you've come into contact with Indian devs from good tech. conferences,
mailing lists, free software projects, irc or other such fora, your experience
is bound to be difference since you're meeting the ones that have gone through
another filter.

The sad thing is that the education systems can crush people and make them
unmotivated and uninterested. That's what I'm trying to remedy, atleast to
some extent, with my latest endeavour. I've taught students at colleges and
there's often some spark in them that can be nurtured. I've done corporate
trainings for fresher batches at service companies and they often couldn't
care less. It's too late by then for many people.

~~~
slantedview
This fits with my experience. It's not that Indian engineers are inherently
bad, it's that they are often uninterested in what they do for a living.
They're not passionate. They feel forced into engineering because of social
expectations. And it shows.

------
sir_akshay
Grow up.

------
claudiug
yes

