Why Outsourcing Sucks

Aug 13 2008

Most of you don’t even need to read this post to know why outsourcing your software development work to cheaper countries may not ultimately help you. You already know why.

The thing is that many people outsource their work to IT hubs like Bangalore to save a lot of money. But the problem is that you get a low quality product at last. The reason? You tried to cut cost too much.

You cannot get a high quality work done for a low cost. Never. Quality always comes with a price.

When outsourcing to foreign countries, always try to do it to people who promise quality product, not to people who promise lower cost. Also, never ever outsource your core development work.

I am an Indian myself and let me tell you some facts I came across:

  1. Major Indian software companies are recruiting low quality programmers.
  2. A large percentage (I am afraid more that 50%) of the programmers are from non-CS backgrounds. Many are mechanical engineers, electrical/electronics engineers or civil engineers.
  3. The pay scales for fresher posts here are not the best even according to Indian standards.
  4. We don’t care for the quality of the work we do for you. Now I don’t want to piss off any one, but the fact is that seriously no one cares about the quality of their code they do for some American company which they don’t know much about. You will get quality code only if it comes from your heart – like when you code for yourself. Most Indian software engineers don’t feel any kind of commitment to their organizations (mainly because of the way companies treat employees).
  5. Part of the reason why many companies recruit low quality programmers is that the works we get here are mainly some support work or very monotonous and boring development work that looks like it will take ages to get completed. Many Indian programmers have their own pet projects which they dedicate their free time to and they concentrate on the quality of the code they produce for that pet projects instead of the projects they have to do in their organizations.
  6. I never meant that there are no quality programmers in India. There are many, but the chances are very low that big software giants will recruit these bright minds (which they cannot afford). Instead, they go for cheap mechanical engineers or graduates from some second class institution.
  7. This bullet point is supposed to occupy the place where I bash the project management BS. I don’t like bad mouthing that much. So just skip…

I guess you guys understand the situation here.

So what is the solution?

Don’t outsource. Seriously.

If your work is very monotonous and does not demand high quality, outsource. If you want a very good software product and if it the flagship product of your company, never ever outsource. You are doomed otherwise.

133 responses so far

  • pragya says:

    Dude, if you are in US and know how the Business Management here takes place then you probably would not put up a post like that. Outsourcing would not be in the picture if clients in US knew how to drag their ass to work and get things done. Quality of work done in India or asian countries doesnt matter as long as they can get 10 people to work for the same cost as 1 person sitting in US. Again, being a computer science engineer myself from a reputed university in India didnt help me in developement ‘coz the syllabus there is so theoritical. Well, half of my classmates work in US so, where will they get good programmers?? You should be happy that many mechanical and civil engineers are putting up with the programming stuff that you should have done sitting in India rather than bitching about it sitting in US.

  • PENIX says:

    I’ve been involved in several outsourcing projects. Each and every one of them was a complete disaster. My last experience was two years ago. The CEO, who knows absolutely nothing about tech (or much else for that matter), decided that we were going to use a bunch of $15/hour programmers from India. Naturally, I advised heavily against it. As expected, the managers decided to do it anyway.

    The job was to continue development on an existing application to create 3 new applications, each of which was 95% the same. The only significant changes were cosmetic. I took the time to document everything that was to be done, in depth, and sent it to them before project discussion even began. Now, the logical approach would be to extend the functionality of the single application up to the point where it would be forked for the cosmetic differences. Instead, they developed 3 completely different applications. Each functioned differently and looked completely different. On top of this, they missed about a third of the details that were clearly outlined in the documentation.

    More than a month after the project began, an acceptable product was not reached. I had spent countless hours communicating with them over the phone and through e-mail at this point. Each revision they came back with was (usually) an improvement on the last, but never correct. The project had now taken 4x as long as expected, and they had racked up 10x as many hours as we had budgeted. Still, none of the applications worked properly.

    We gave up.

    A significantly reduced price was negotiated due to the abysmal failure of the project. We threw out everything they gave us, and our two man in house staff took over the project. 3 days later we completed the application that was sent to our customers.

  • Dev Dish says:

    Outsourcing by definition and by practice is a relentless search to find the cheapest labor pool. Why is it surprising that companies that provide outsourcing services would also use the same tactic? It would be surprising if they didn’t use the same tricks of the trade.

    Furthermore, the outsourcing model fits real well with Indian society’s history of labor exploitation. In each case it came under the guise of a conqueror, a colonist, or an economic opportunity. But the effects have always been the same: shoddy work for shoddy pay.

    Outsourcing or not, companies thinking about outsourcing should realize that for top service, you’d need top dollar — no matter where that work is done, be it in Hyderabad or Silicon Valley.

    Before others attack me personally, let me say that I’m a native of Hyderabad currently residing in Silicon Valley. I’ve worked on both sides of the outsourcing debate and got burnt from both ends, many times.

  • [...] leer el artículo completo porque vale la pena. General, Informatica, software Deja un [...]

  • Obama says:

    Yeah, but still you can’t hide the fact that 10 years ago, no-one in india had ever even heard of toilet paper, never mind how to use it. In fact most of them still don’t know how to use it.. or cutlery either for that matter. Learn to wipe your arses and eat like civilized people before you go writing any code for our mega-corps please..

  • I am an Indian.Let me tell you all this chest thumping about India being great at software is crap.Name one major original Concept software Product/Language /Algorithm developed in India = Nil. Name one major Indian original open source project = Nil .Indian contributors on Linux kernel very few.
    Its not that Indians are dim-witted or anything.The education system in India stresses on conformity and rote learning.So very few original Ideas are developed here.Indian’s who have studied at American universities do extremely well for this reason.
    99% software work outsourced to India is grunt work.So very few opportunities to do anything creative.It’s simply manpower arbitrage that Western companies are taking advantage of.
    Now that Western companies have learnt the art/engineering of outsourcing management they can shift it to which ever part of the globe they want.A huge english speaking population gave India the jump start but China is fast catching up(with 100 times better infrastructure).
    BTW the crap about IIT’s being great etc, statistically a small
    percent of 1 billion people are bound to be smart.A good selection
    process picks them up that’s it.If IIT’s were that great then how does one explain India not winning a single Noble prize in any scientific filed in since independence.
    India is currently living in a delusional phase where hard questions are never asked.

  • pragya says:

    Obama, Sorry but that was not a civilized way of putting it up. Again, if you had read a post in Reddit about how bad toilet papers are to wipe one’s ass, then you would’nt talk about learning how to do it. And again, eat like a civilized person before writing code for “Our” mega-corps… wow, why don’t you just replace a million people writing codes for you, ‘coz you are civilized and know how to eat. right?

  • LC says:

    dexmus:

    Ah, another “the market will fix everything in the long run” person. Right. TODAY, my outsourced project will be of poor quality, behind schedule, and over budget…in large part because of the reasons that Niyaz PK mentions. In the long run…who the hell cares? To quote John Maynard Keynes, “in the long run, we’re all dead.”

  • Jay Stenson says:

    I’ve had my entire US development team replaced with outsourced indians over the years. We cant get anything done anymore. The stories I can tell you would blow your mind. The indian programmers have no depth. They know java, and thats about it. Maybe some oracle SQL programming. They cant debug anything because they dont understand the entire technology stack. Im frustrated. Everything takes 5 times longer to complete now. Good US programmers do not cost 5 times as much. The cost of delivering 5 times slower with less quality is killing us. Our customer sat scores have gone down. I miss my well rounded US programmers :( But the bean counters that have managements ear over rule all. Dumb just dumb. Its too difficult to measure the true cost of outsourcing, and thus, it will unfortunately continue. I would take one good US programmer over a team of 5 outsourced indians any day. He/she would actually get more done, faster, with higher quality. Pay them what it costs to keep 5 nearly useless indian developers paid and you would have one very happy and motivated, talented employee.

  • KK says:

    Here’s what you must be chanting every waking hour NPK (and don’t call me judgmental after sharing your ignorant-judgmental rant) -

    1. The worst of US are better than the best of THEM (Doesn’t matter who THEY are)
    2. US is the freest country in the world (Otherwise Mr. President wouldn’t keep on repeating it)
    3. Capitalism and market forces are the proving ground for all ideas and human progress (Unless they start benefiting THEM)
    4. If we had the outsourcing idea 400 years back, we would have offshored Slavery and avoided all the racial issues (Hey – Wait a minute!)
    5. Rightsizing is good for us (Look how wonderful it sounds!)
    6. My employer is wonderful and takes care of all its employees equally (Look how many stock options I have!)
    7. THEY are hell bent on destroying OUR way of life (And THEY have nothing better to do or worry about)
    8. Our Universities have the LARGEST campuses in the world so they must produce the BEST graduates (Everyone knows this)

    Ah, I lost interest….

  • Grzik says:

    Java! Ha! Anything written in a programming language which is the product of Sun’s marketing department is doomed before even a single line of code is written. I remember the days when people in IT aspired to being a programmer, an efficient programmer. Many were the arguments over a coffee of performance gains and efficiencies of coding this way or that. Being a programmer was well paid, and well respected. Then came java. Then came Infosys et al. Around the same time we started hearing terms like ‘stockholder value’, ‘ROI’ and ‘quarterly numbers’. These events are all related people.. and the good old days are never coming back. Guess what though, here’s the good news.. There is a continent of approx 1 billion English speakers largely untapped. As soon as the africans get their act together, all those nice outsourced coding and call-center jobs will be leaving Bangalore, and moving to where it’s even *cheaper*! LOL! ..and please don’t start singing the praises of the superior Indian education system, that’s just more of your market b/s.

  • pragya says:

    Hats off to you KK, right to the point.

  • Software Engineer says:

    1. Who said outsourcing was about quality?
    2. Who said outsourcing was about any low level designing?
    3. Who said it was about even architectural designing?

    Outsourcing is about share holder value.

  • William Ducker says:

    Jesus Christ your ignorance hurts me…
    Bangalore companies didn’t become the IT king because it produces terrible quality codes. Even if they’re cheap, there are loads more places on earth where people are willing to be employed for cheaper. The idea of outsourcing is obviously to minimize cost, but for even slightly intelligent manager they would know that cost is evaluated on the ratio of quality and speed verses pay. India is successful because its quality and speed out weighs its pay. I’m not saying if you don’t care about the quality you produce, but apparently even if you don’t care you are producing a more valuable labor than what you are paid for. White people aren’t stupid when they chose India for the central state of IT outsourcing.
    You have many more dedicated, intelligent, ambitious, and patriotic workers than you know. For example IIT is in many ways harder to get into than harvard or MIT.
    You should read some more… it’s good for you.

  • programmer_sr says:

    Like always, it’s all about the money. The dumb investors will buy the shares of a company if it has anything to do with outsourcing because outsource is the current buzz word. Same as .com was a few years ago. The same dumb investors lost a lot of money on that just as they will do so on this. The companies realizing the fact that it just simply doesn’ work but have to keep outsourcing running for the nice picture and maybe for equally insane PC reasons.

  • SF says:

    Q Why are there fewer Indian programmers nowadays?

    A The chinese found out they taste like chicken.
    :)

  • Joey Coder says:

    Ha ha ha ha ha SF! Good joke! I like.

  • Just another s/w engineer says:

    Let me see. You graduated last year – and now you have understood how the Indian IT outsourcing industry works?

    I currently work in Silicon Valley. I worked in India about a decade ago and worked with some of the smartest engineers I have worked with.

    And don’t even get me started with hiring Computer Science engineers. It doesn’t matter. A smart engineer picks up his craft no matter what his education is. The smartest engineers I have come across have been college dropouts.

    Unless you are writing the next coolest OS or a very low level device driver, for most application development tasks, you do not need a CS degree. A background in Data Structures and Algorithms is way more than enough.

    This post pretty much tells me how shallow you are. Sorry. You have to learn more.

  • Marathi Mulgaa says:

    Your across-the-board generalization of what kind of work gets outsourced is crap. A large part of this work isn’t brain surgery and as such, doesn’t require brain surgeons.

    You under-estimate the number of control freaks that exist in the corporate west and the influence they wield. I work in silicon valley and my management would never outsource core work anywhere that is more than a 20-minute drive away.

  • I’m not sure really weather outsourcing sucks or people who outsource their work sucks.

    I charge $10 per hour for freelancing job and believe me I do the clean and neat coding while using frameworks, I don’t like the sloppy codes. And as you’ve mentioned quality comes with price.

    But people who ask me to do their project in very low cost for example 100 hour job they want it to be done in just $400. I just f##k those kinda client and believe me 90% of them are people from south asia who are living in abroad.

    now you decide…who sucks actually?