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.
"Thus most of blog posts which talk about management mismatch and shitty projects are working with bottom 30% of the talent pool."<p>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?<p>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.<p>Stay away from the TCS/Wipro/Infosys/Cognizant bodyshopper crowd. Those are for big corporations who have more money than sense.
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.<p>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.<p>Unfortunately, I don't think this post explains WHY outsourcing fails again and again and again, whether big or small.
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.<p>The smartest Indian programmers either to go abroad for further studies and work there, or work in product development companies at home in India.<p>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.<p>PS: Yes, I am a Indian CS graduate. I graduated a year ago.
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
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<p>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
To an Indian from a fellow Indian,<p>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.<p>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.<p>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.
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.<p>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.<p>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.<p>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.<p>But then this assumes there <i>are</i> in fact cultural differences between countries...whether someone believes this is true or not often depends on what the underlying topic of discussion is.
Thanks for this perspective!<p>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.<p>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.<p>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)<p>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.