Are Indian Software Developers “Code Donkeys”?

by Krishna on February 11, 2009

The recent 40th StackOverflow podcast with Michael Lopp had some pretty harsh words for Indian software programmers and the outsourcing industry in general. The transcript is incomplete, so you have to hear the podcast, but what I heard went something along these lines (not exact words)

The cost of an Indian developer is one-third the value of the cost of a developer in the United States. People assume it is because of the lower cost of living in India. But that is not why. It is because the value is one-third. If they produced the same quality of code, they would be charging the same amount.

To be fair, Joel did say that this had nothing to do with India in particular, but seemed to indicate that the problem was common with outsourcing in general. Anyway, his words pale in comparison with this comment from someone named Abdu (emphasis mine):

In the topic of outsourcing and non US shrink wrapped software.

Developers from Eastern Europe, Russia and Israel produce software which is innovative. Software that make me ponder “How did they do that?” or ” I wish I can peek at the source code”. These are code crafters and masters.

Developers from India, sorry to say, are what I call “Code Donkeys”. They do crud, boring, repetitive nothing innovative business applications and in many occasions they need blue prints and directions on how to start. I have never seen any shrinkwrap software made in India.

I have been outsourcing some of my personal programming needs to developers from Eastern Europe, Latin America and India. The ones from India give me the hardest time. They might be the cheapest but that also could very well mean low quality!

A few comments on this (FYI, I live in New Hampshire in the United States):

  1. It is true that product development has been slow in India (see my previous take in 2007), but that is rapidly changing. Take a look at some of the Indian software startups. One of the best non-business software products out there is Zoho by AdventNet, which is run by Sridhar Vembu with 600+ people in Chennai, India.
  2. There are and will be poor software practitioners. But this is just as true of software companies in the United States as in India. I cannot tell you how many countless times I have talked to customers here in the States where their developers have no clue how to write good software. They have decades-old legacy code. They have no idea about the latest technology developments. No processes, no documentation. In some instances, I have been burnt by having to wait for some developer to write some proper code that we could have done ourselves, just because the developer controlled that code.
  3. The best talent in India go to either engineering (read computer science) or medical courses. The engineering colleges in India, especially the IITs, produce excellent students. Definitely, there will be some companies that have poor developers, but that is a problem with selecting the right company, not with Indian outsourcing in general. Secondly, many experienced Indian developers who have worked in the United States have returned to India and are working in Indian firms.
  4. As with every product, if it is too cheap, it is probably not worth it. Find professional outsourcing companies in India who hire good developers and have well-defined processes. They may be more expensive than the freelance developers, but still overall less expensive. To give an analogy, compare it with buying a watch from a peddler on the street and buying it from *any* shop. And yes, Joel, the cost of living is way below what you can imagine. And higher education is heavily subsidized, so students do not come out of college with huge student debts.
  5. You need a dedicated manager to work with an outsourced developer or team (whether it is Wisconsin or Bulgaria or India or the Philippines). Every team (onsite or remote) needs information and feedback to produce good software. When your team is onsite, you spend significant amount of time without realizing it. When it is offshore, suddenly every interaction is more visible in terms of demands on your team, especially with time zone issues. To compare apples to apples, account for every minute of your interaction with your onsite site and then see how the team would perform without you spending that time.

To understand the math here, many companies hire outsourcing companies and expect that costs will be reduced. But here are some important rules of outsourcing economics:

  • Costs will be higher initially because of knowledge transfer and cultural handshaking between the two sides. By “culture”, I mean organizational culture (processes, standards, communication, etc.), not Indian vs. US culture, although that can be a factor too.
  • You won’t save money hiring 1 or 2 developers because of the overhead of communication. To make huge gains, outsource several developers and hire people in the United States to manage them. Also plan for visits to and from India.
  • Hence, you need a larger team to save money and a larger team needs dedicated onsite managers. Why dedicated? Because it is very easy for a part-time manager to be dragged more into other work and neglect his outsourcing responsibilities, since the team is not around to demand his attention.

Finally, let’s look at the evidence. There are many multi-national corporations (Microsoft, Oracle, HP, etc.) who are outsourcing large amounts of work outside the United States. Maybe they are all crazy, spending more money on low-quality programmers. I don’t know. You tell me.


Ram Kumar March 11, 2011 at 1:21 am

So called Talented Engineers excelling at US Universities are fortunately from a nation called India.Again importing problem.They have their BS or MS Degrees from Indian Universities located in India.

You guys cannot do away with Indian Professionals.
You have to accept the ground reality.

Mikael Sokolov March 20, 2011 at 1:11 pm

In my experience, Indian programmers are below par. Mix this with their propensity to cause trouble in a team they are not worth it.

Jason Hunter March 21, 2011 at 3:12 am

Yes Some Indians are Good,but most of them suck for some reason.
I can conclude that only 20% are Good in any sense.
Rest are Crap.
Need to chose them carefully before hiring.
Ichose two Indian guys who really did some excellent Job in my Start uo Company

disabled architecture May 3, 2011 at 9:37 pm

i've experiemented with this with VERY poor results - it's not the quality of code, it's the attitude. they don't do what you ask when you ask for it. and they promise the world

RD July 12, 2011 at 6:32 pm


DJames July 12, 2011 at 6:37 pm

People are just jealous that Indians have become renowned for software development. India has a booming and successful software industry and it is the reason why many Americans and European companies are sourcing Indian software developers.

Paul July 15, 2011 at 5:25 am

A lot of the comments above are perfectly correct. You have to realise India was/is a third world country and doing it's damn best to improve it's life. It is being done so at a cost though. You CAN get value out of India, but you cannot go direct as you end up with all the problems above. You need to work with a local partner who ensures: 1) truth/honesty, 2) get decent staff - kick out the 80% chaff, 3) very tough management, 4) translates the culture, 5) takes all the hassles for you - and I mean major hassles in dealing with India!

gnbi July 15, 2011 at 8:50 pm

i wouldn't call the 2010 dehli commonwealth games the best valuable effort..that cost 10 billion US dollars to build and an absolute disaster that was..pretty much translates the indian've got indians with PHD's and masters degrees in civil engineering and can't build bridges unless you have us westerners doing the work for you..

Paul July 16, 2011 at 6:07 am

Yes, unfortunately the Delhi Commonwealth Games highlighted all our fears in software construction. Told it is all running to schedule perfectly, then at the 11th hour told that it is a big problem and not going to be ready. You look into why, and it is culture, corruption and incompetance. In the end the guilty push the poor hard working guys to bodge it together to make a show, but it is still a bit of a mess and the quality suffers. And if you were to run another games, you need to throw it away and start again as the first lot was rubbish. Any parallels with the Indian software mentality?

gbilios July 16, 2011 at 9:35 pm

Any parallels with the Indian software mentality?
Quark Express was one of them..
the $10 laptop ended up being a usb flashdrive (no screen, no keyboard)..just doesn't add up to a PC..
where is india's operating system? a google india?
let me correct you on a key issue..the delhi commonwealth games was meant to highlight india's booming economy...this is the reason india got it in late 2002..infracture construction started in 2009..

Raja Nagendra Kumar November 18, 2014 at 6:26 am

>Maybe they are all crazy, spending more money on low-quality programmers

India does not have low-quality programmers, they have low quality systems/management, as the focus is on business/numbers and not engineering, which is leading to low quality of what is produced even by great programmers. If the boss is made accountable for right, every thing would go right.. if they are misled on numbers and hence they see engineering as commodity and hence the worst results.
I would see what is produced by unprofessional engineers would have -ve impact on long run, this way, offshoring has negative value to customers.

Unless programmers lead management, such bad would continue to grow and hence you see Gartner saying 1 Trillion Technical Debt by 2015. I am sure, if any has research on who is producing the most Technical Debt in India, then I am sure TCS, Infy, Wipro, CGI etc would be adding almost 60% to 70%.

Unless clients first understand meaning of cheap w.r.t to total cost of the solution right, this is not going to be corrected.. I only wish in next 10 years it may start changing..when IT is made to get out of slavery as valid way for billing. I see a need for movement of clean code as the basis for 'Swachh IT '. Like so much of electronic waste, we have so much junk and messy code growing each hour.. which is valid and billable :).

Rob February 13, 2015 at 6:26 pm

I have a lot of experience on this topic, as I run a 20 year old custom software company ( that hires Indian software developers. Let me share my experience, which I think adds some content to the comments cited above.

We've interviewed and hired hundreds of Indian programmers over the years, and what we find is that good programmers are few and far between. We literally interview 100 people to get a few candidates. And then in most cases they fail the tests, which require them to create something in about an hour. We do this to see if they understood the problem, and what solution they came up with. And finally, what does the code look like.

So the first thing you need to understand is that you must know how to spot good (and bad) code, and you need to be able to manage them closely. We have daily scrum meetings every day with each developer, and this meeting (lasts 15 to 30 minutes) allows us to check on what they did yesterday, and confirm they understand what they need to do today.

We also inspect the code on a weekly basis (if not more often) to make sure they are following our coding standards. We also use code scanners like fxcop and sonar, which help us spot serious issues early. And remember, turnover is higher in India. You need to build software in a structured, consistent way, or else they will leave and you will have a mess. And the next guy in will not be able to figure it out.

Pay is another critical area. We pay $40,000+ per year and provide paid vacations and holidays. Forget the $15 per hour ads you saw on Google. The developer is being paid $4 to $6 per hour (they are called freshers), and you cannot afford them. They will make a huge mess of things.

The bottom line? There are no shortcuts in India. Yes, you can save some money by utilizing highly skilled developers, and pay half what it would cost you in the USA. But unless you have someone on your team who is technical and can keep control over everything (and I do mean everything), you are going to lose money and time in 99% of the cases.

We are challenged by this, and we have 20 years experience building complex applications. It's not easy. It's not free. You earn every dollar you save in India.

Comments on this entry are closed.

Previous post:

Next post: