
Tell HN: Outsourcing a Perspective from an Indian CS Student - ANINDIAN
Another day another post: It seems to be a fashion to write a controversial blog post about how outsourcing sucks and how we did it faster than them, which makes outsourcing costlier!<p>Now bing an An indian student who is studying CS at an US university here are my observations about ground reality in India:<p>Unlike other fields outsourcing software dev requires slightly smarter people. So What do smart students in India do? And why do always all articles talk about shitty indian devs?<p>Here is the analysis:<p>Every year top 5% of graduating class from whole India (IIT's, toppers in smaller schools) go to USA for PhD's or join a multi national firm in India (MSFT, GOOG, JPMC, etc).<p>The next 60% either join MS courses in US universities or work for Top out Sourcing Firms such as Infosys, TCS, Wipro, Patni, Satyam etc. Theses firm which now have revenues in billions of Dollars are the significant outsourcing players.<p>Then you also have few mid size firms which have few million dollar revenue per year.
Now the bottom 35% join smaller firms, those which market themselves on hire a coder websites and such.<p>The top companies do not take smaller project, that is unless youre project isnt worth at least few million dollars they dont care.
Thus most of blog posts which talk about management mismatch and shitty projects are working with bottom 30% of the talent pool.<p>E.g. Company like TCS which serves say Pfizer, will have a large team working in india and around 5% people working in USA with Pfizer to co ordinate the whole activity.<p>Sadly most of the stuff such as answers about outsourcing on stackoverflow or blogposts are written by devs who work in small companies, and who have access to a considerably less smarter talent pool in India.<p>Thus as a Final Message: If you aren't working with a company in india that has at least few million $ revenue, you are probably working with wrong people or you are too small to outsource.<p>In India outsourcing is synonymous with the billion dollar companies which bring most of the revenue and not with smaller dev houses which have around 100 employees.
So dont judge indian devs by wrong sample. student who generally work for Infosys and other come to USA after 3-4 years to pursue MS in CS (which in funny way HN'ers think is useless)
and get jobs that pay really well.<p>You can just explore LinkedIn with names of the companies i gave in this post and see for yourself.
======
plinkplonk
"Thus most of blog posts which talk about management mismatch and shitty
projects are working with bottom 30% of the talent pool."

This is complete nonsense (I speak as an Indian developer who lives in India).
Multi billion dollar companies like TCS , Wipro etc are full of teams with low
quality developers, "architects" who haven't coded in years but know all the
buzzwords and many managers, and lots and lots of heavy processes (ISO CMM
anyone?). They pay developers little and managers a lot so guess what the
incentives are?

If you must outsource to India (and there are very very good reasons not to),
the best option is to outsource to someone you know personally and you can
handle the work. If you don't know anyone in India and must outsource anyway
try someone small and (relatively) capable like ThoughtWorks.

Stay away from the TCS/Wipro/Infosys/Cognizant bodyshopper crowd. Those are
for big corporations who have more money than sense.

------
AmberShah
I've seen plenty of companies with as large as you describe and they just have
their projects fail even bigger. I know of one that went on for 2 years with a
team of who knows how many (for a very large, very well known company) that
got canceled completely last year. Many more examples where that came from.

I also don't see how the argument is specific to India. I realize that you're
only stating what you know, but it sounds awfully similar to the US in terms
of reasoning. The best and the brightest all want to make the most money, so
they go work for the biggest companies, right? Except it doesn't actually pan
out that way in real life. Actually, money is a surprisingly bad motivator for
behavior.

Unfortunately, I don't think this post explains WHY outsourcing fails again
and again and again, whether big or small.

------
amk
Utter nonsense. A smart Indian CS student would never sell his soul to an
outsourcing company like Wipro, Infosys and TCS. They are mass recruiters who
hire people to show more headcount. Most of their so called "developers" are
very poor in programming aptitude.

The smartest Indian programmers either to go abroad for further studies and
work there, or work in product development companies at home in India.

To the Author of this post: If you are a smart Indian student, STAY AWAY from
Wipro, Infosys, TCS. It may be the best career move you will ever make. Trust
me.

PS: Yes, I am a Indian CS graduate. I graduated a year ago.

------
agiledude
The reality that I saw, when I was an on-site coordinator for one of the big
three companies of India: When the project starts, you have 1-2 experienced
people on the team who are really good - these are the ones that are sent
initially to interface with the customer, get requirements and set the tone of
the project. After the project is on its way, when additional members are
needed, the team is staffed with rookies - actually I have actually
encountered that "We'll give you 2 for the cost of 1". No need to say, that
employees on-site are forbidden to code as it is "too expensive". Thus most of
the code that ends up being written is done by poor 6-month or less
experienced beginners. No wonder the code sucks. The insane amount of cost
cutting shortcuts that these companies employ may be the main reason why most
of the out-sourced projects fail. Just my 2c

------
aneshkesavan
The so called TOP companies like TCS, infosys do not hire programmers they
hire people who can be "trained" to code. These people can be called zombie
coders who have no purpose and passion for coding. Their ultimate aim is to
stay a programmer for five years and then move to management. And as very
obvious these people will produce poor quality code

and as for the smaller companies, these are were the talent lies, because
these are usually startups and looking for additional revenue to fund their
projects

------
jamram82
To an Indian from a fellow Indian,

The companies you have quoted are 1\. In pure service delivery (aka consulting
line of business) 2\. Run extra-ordinarily large project teams (100+
consultants) 3\. Deal with business or enterprise software.

It is unfair to expect them to deliver any quality line of work when
organizations deals with even 1 of 3. Your perception of Top big 5 consulting
firms (for that matter..any country) delivering quality output might be
misplaced if you haven't seen the quality of work at hackathons, startups.
Outsourcing works for huge organizations which need to maintain enterprise
systems running on legacy platform. It is recognized by most small business
owners everywhere its just ain't their cup of tea. Small business projects
runs on talent and execution. Not on mythical manpower or cost per hour rate.

I would suggest you to do an internship at SV,Colorado,Boston,NY and get
involved in a startup or any non-business software company. It might open up
another world perspective.

------
mistermann
All I know hands on about outsourcing is trying a few jobs on rentacoder, and
in my experience the negative perception of Indian programmers is justified.

The same logic stated by the OP (the bad programmers end up on rentacoder
sites) applies to other countries as well, yet I haven't had nearly the
problem with eastern European programmers.

My speculation, based purely on my limited experiences, is that the difference
derives from underlying cultural standards of behavior. I find eastern
europeans (on rentacoder as well as in real life) to be extremely straight
spoken people (compared also to North Americans), whereas people of Indian
descent to have a rather more "flexible" view of reality, depending on the
circumstance.

I have no idea if there is any basis of this in fact, it just seems to be a
reasonable possibility. Considering there are in cultural differences between
countries, it wouldn't surprise me at all that there are varying levels of
success between outsourcing, as well as the type of outsourcing that is done.

But then this assumes there _are_ in fact cultural differences between
countries...whether someone believes this is true or not often depends on what
the underlying topic of discussion is.

~~~
kranner
"people of Indian descent ... have a rather more _flexible_ view of reality"?

That is sugar-coating a pretty strong generalization. Perhaps if it were said
straight it would be much more obviously ridiculous.

Best regards from India.

edit: I realize that this response is snarky. I am just astonished that people
can say something like this in a public forum like HN. It is no better than
saying "Chinese people can't drive".

If we're going to have a reasonable discussion about outsourcing and sort out
what's what, can we please be careful not to say things like "Americans are
fat and promiscuous" and "Indians are liars, idiots or both", regardless of
whatever opinions we may hold privately?

------
LeBlanc
Thanks for this perspective!

I recently had the opportunity to outsource some of my development to India.
An Indian friend of mine had a team that was looking for a project. I ended up
not working with them for two reasons.

1) the small size of my project meant that the time I would spend writing up
extensive design docs and requirements, and meeting with them via skype, could
be better spent just doing the coding myself. This is probably true for a lot
of small companies.

2) I wanted to be able to learn for myself how to do some of the stuff I
needed to do. Teaching myself has been very rewarding (it is difficult though,
and not for everyone)

I think, as your said, outsourcing is best for really big companies who have
the structure to manage it, and the size to benefit from it.

~~~
aneshkesavan
Big companies, means lot of zombie coders which means lots of meetings which
means lots of hierarchy, which again means less of coding . Smaller teams lead
to better quality code and faster delivery times. Which is what i have
experienced and if you want to get into the theory of this.Read " The Mythical
Man-Month"

------
known
Indian IT companies are _consulting_ companies.

Selling consulting != Selling software

