Aug 13 2008

Why Outsourcing Sucks

By Niyaz PK under General

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.

118 Responses to “Why Outsourcing Sucks”

  1. Asha
    on 13 Aug 2008 at 11:19 am

    I was waiting fr ur post for a long time..

    if this post is read by many nd if they ‘ve the sense to understand the truth and if outsourcing is stopped then I may lose my job..:(
    Still i shld say a very true post..

    “..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..”

    “..some support work or very monotonous and boring development work that looks like it will take ages to get completed..”

    very true..i know

  2. Niyaz PK
    on 13 Aug 2008 at 11:36 am

    Asha,
    Thanks for reading.

  3. Ibod Catooga
    on 13 Aug 2008 at 2:44 pm

    It’s so gay how many software projects make me dookie.

  4. Bob Holness
    on 13 Aug 2008 at 4:23 pm

    They will always outsource because these project managers are under immense pressure to cut costs.

    These project managers outsource for a year or two, using the remote developers for some of the periphery work then, later the core development. The project suffers as managing remote teams in incredibly difficult, even if the staff are good.

    Eventually, foreseeing the impending disaster, the project manager moves on to a new company.

    A new project manager comes in, identifies the problems, cuts the outsourcing and brings in some local talent. These people spend a lot of time rewriting stuff (that probably doesn’t need rewriting) and, a year later, they realise they have not delivered anything.

    So they pile on more resource and, after another year, they deliver some minor functional upgrade. After that the project continues on a mediocre pace but the costs are too high, with with all the additional resource that was brought in, so they decide to outsource some of the periphery work…

  5. Stephan
    on 13 Aug 2008 at 4:25 pm

    This is silly propaganda.

  6. Bill - Online Business Logic
    on 13 Aug 2008 at 4:54 pm

    Totally agree, outsourcing of development projects tends to be a bad idea (unless it’s relatively simple, but time intesive stuff).

    Where outsourcing does pay off though, or at least where I’ve had success, is with market research (surveys and interviews), report writing, graphic design (depends on the project) and repetetive script installation and web deisgn stuff.

    Choose what projects to outsource, and which are best done in house, and it can be a very useful tool.

  7. Tana
    on 13 Aug 2008 at 5:10 pm

    Actually you get what you pay for. The problem is not that you outsource to India or to any other country but that you try to pay peanuts and hope you will get quality. Lack of motivation (in developers) and greed (in managers) are two of the major problems but since there are idiots, who like it cheap, they will always outsource, provided that it is cheap.

  8. andres
    on 13 Aug 2008 at 5:17 pm

    +1 to Tana

  9. mihai
    on 13 Aug 2008 at 5:19 pm

    Thing is…they dont want you to deliver quality….they want you to deliver the boring software :)

    No way 1 man can beat 10 in speed of developement when doing boring programming. The 1 good man will definitelly get bored and do a slow, low quality programming and the bad news is you pay him big time also. The 10 low-cost programmers will deliver low quality (same quality with the 1 programmer) but 10 times faster at the same cost

  10. Tenny
    on 13 Aug 2008 at 5:25 pm

    Something I would like to add is about the Global Delivery Model. This is the base for IT operations in India. All it leads is to rework, rework and more rework.. Ineffective communication and time zones lead to huge differences in expectations and delivery….

  11. Kuldeep
    on 13 Aug 2008 at 5:31 pm

    The article sucks, it does not provide a very true picture, but the comments from Tana and Tenny are very true.

  12. Vladekk
    on 13 Aug 2008 at 5:38 pm

    Well, partly this is true. I’m outsource dev myself.
    My advice:
    Tighly control quality, provide good specs and always interact with devs. They usually want to ship good product (most people want to do good job), but with lack of specs and interaction they just can’t.

  13. Niyaz PK
    on 13 Aug 2008 at 5:58 pm

    Kuldeep,
    I will try to suck less next time. :)

  14. brother_john
    on 13 Aug 2008 at 6:03 pm

    Just because *you* have never been part of a team that kicked ass shipping quality software on time, that does not mean it does not happen at all.

    Let me assure you that there are hundereds of teams in Bangalore that constist of A grade software engineers (many of them from CS backgrounds, many of them from some IIT or REC, and many of them who earned their credentials in startup product companies), and they are delivering very well, thank you.

    Of course I dont expect you to know about this, since with your narrow minded view point, I dont expect you to have worked with any of these companies. Indeed your world view seems to be shaped by a low ranking position doing database migration for 10,000 rupees a month in an equivalent of a IT factory.

    Thats not software engineering. I’d try to explain, but your tiny mind probably wouldnt be able to handle it.

  15. Niyaz PK
    on 13 Aug 2008 at 6:10 pm

    brother_john,
    Thanks for the comment.

    Probably you skipped the point number 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.

    I don’t want to brag about the quality of work I do, but I personally know numerous excellent software engineers in India. The problem is that the ratio of quality programmers is very less.

  16. [...] the country driving progress…but not all of it). Add to that how more and more design work is being offshored, due to the low cost and higher supply of design engineers. A slew of questions have popped up in [...]

  17. KD
    on 13 Aug 2008 at 6:30 pm

    If this post is about scoring some brownie points - well done ;-).

    Actually, the outsourcing is done because it costs less to develop software in India. The cost advantage comes because man-power is cheap. Even quality man-power. It is unfortunate that we have companies that palm-off every tom-dick and harry as software engineers.

    Another problem faced by indian software companies is (what I call) 2-4-8 rule. A developer becomes a senior software engineer when he completes 2/3 years, a Project Lead by the time he completes 4 years and a Project Manager at 8 years. Once he becomes a PL he does not want to write code. In effect, most teams have programmers with < 4 years experience and that has a great impact on quality. The ‘you still write code?’ question that pops up invariably whenever I meet a developer makes me feel sad.

    The solution is not ‘not to outsource’. In an organization whose top management decides to outsource, a manager who resists outsourcing himself is in danger of losing his job. Rather take a pragmatic view. Following simple procedures will make it more likely that the outsourced project is a success.

    1. Ensure that the people on the project knows their stuff. Do personal interviews. Preferably face-to-face. Insist that the project staff should be vetted by you before they can work on your project. If you need retain one or two talented developers who can help in this process.

    2. Provide clear acceptance criteria. Preferably in the form of tests, taking a leaf out of agile. Insist that you get the incremental product delivered every 2-3 months.

    3. Travel to the site every 2-3 months and meet the team. Ensure that the promised team is still working on the project.

    These are things that comes top off my head. There might be more.

  18. Indian
    on 13 Aug 2008 at 6:32 pm

    Hi..

    Seems like you are working in US and feeling the pressure of unemployment due to sub prime crisis.
    I pity you and request not to force your narrow thinking on the broader masses.

    Indian

  19. Niyaz PK
    on 13 Aug 2008 at 6:38 pm

    KD,
    Thanks for that valuable points.
    Face-to-face personal interviews are indeed very important in recruiting quality engineers.

    Indian,
    I wish you a very happy Independence day…

  20. Rakesh
    on 13 Aug 2008 at 6:47 pm

    Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …Hypocrisy …

  21. Rakesh
    on 13 Aug 2008 at 6:48 pm

    They used called Honda and Toyota cars as junk couple of years. Probably they were. Now not. Same goes to Outsourcing.

  22. Rahul
    on 13 Aug 2008 at 7:02 pm

    I dont think so, this is not always true. The problem lies whom you outsource to. You have the option of choosing your team when you outsource the project, why dont you do that? Thats the best bet to start with the project. And finally I know the parent company which is full of fools dancing around in the name of project planning and screwing up things under quality control. Quality comes when you are ready for it, not when you pay less or more for it.

  23. arnar
    on 13 Aug 2008 at 7:05 pm

    Rakesh …. uhh … WHAT ?

  24. ravindra
    on 13 Aug 2008 at 7:19 pm

    100% agreed.

  25. Niyaz PK
    on 13 Aug 2008 at 7:24 pm

    Rahul,
    The case of outsourcing companies can be an interesting study on its own.

  26. Sreedhar
    on 13 Aug 2008 at 7:27 pm

    Some of the points the author talks about are indeed true. But looks like the author is ranting primarily because he works for a low-skilled company that pays peanuts. Time for a job change, dude :-)

  27. Reymond
    on 13 Aug 2008 at 7:34 pm

    Not all outsourcing are that bad.

    Is an interesting point but, not all outsourcing has bad quality, but that kind of outsourcing not are cheap.

    I thing is more than this:

    Good - Cheap - Fast

    And you can pick any two

    Good service Cheap won’t be Fast
    Good service Fast won’t be Cheap
    Fast service Cheap won’t be Good

  28. Niyaz PK
    on 13 Aug 2008 at 7:38 pm

    Reymond,
    True. Thanks for that.

  29. Wouter
    on 13 Aug 2008 at 7:40 pm

    Outsourcing doesn’t suck, it can be good too. It’s who you outsource to and what you want to pay.
    But I have to agree I don’t have good experiences with most Indian companies. ;-)

  30. Sudhir
    on 13 Aug 2008 at 7:42 pm

    I agree with Tana. I have seen projects awarded to inferior companies because they offer very low cost. People who outsource fails to understand that there are things beyond cost which they should be looking at.
    @Niyaz
    I do not agree with your comment about the quality of engineers. Most of engineer are not allowed to raise their voice. I think its true for any autocratic organization be it America or India.
    Another concerned you have raised is “they hire mechanical engineers” . I do not see anything wrong with that.Does solving a software problem requires having a degree in CS? A good engineer should have ability to analyze and give practical solution and Believe me if you do your engineering well you are expected to have that.

  31. Niyaz PK
    on 13 Aug 2008 at 7:57 pm

    Just saw this: From the Dilbert blog - Outsource the Government

  32. IAmAnAmerican
    on 13 Aug 2008 at 8:17 pm

    Most American companies hire shitty programmers, too. I’d bet even less than 50% have real CS backgrounds(not just a CS degree… which even a monkey could get).

  33. bill.gates
    on 13 Aug 2008 at 8:20 pm

    dude, get a clue! you are in the trenches and you are trying to see really high up there… in the clouds… and you have no clue on why things are outsourced. please post again when you have clue.

  34. bc
    on 13 Aug 2008 at 8:37 pm

    i’m a mech engg. working in a mec. engg. outsourcing unit ( dont even ask). all i ever seem to do is make ppts. anyways, forget the coders’ state (dammit, my wife’s one of them, and she’s an electrical grad from one of the best schools here) and their motivation, i just want to see what happens to india whn the damn outsourcing biz moves frm here.. which it eventually will…without any damn manufacturing jobs, i’d like to see how the damn coders save the world. i’m waiting my chance to kick some stupid-coding ass, and get paid a little, for God’s sake…hopefully in some 10-15 yrs

    tragedy of life: u start earning lots of money when u don’t have the strength to use them.

    best job on earth: driver for rich guy–u drive the best of cars, u don’t need to fill gas, and u actually get paid for it.

  35. pavan
    on 13 Aug 2008 at 8:42 pm

    hi Niyaz,
    Most software development nowadays is not rocket science dealing with cryogenics. 6 months of good training (basics, data structures, algorithms,etc) and any engineering graduate can start programming. In 2 years he can be a good software programmer producing quality code in say Java.
    When TCS or Infosys started up there were maybe a 1000 or less computer science graduates every year in India (early 90s). No it was graduates from other disciplines who filled in, that did the job then, and doing it now. In the era of open-source and search engines, knowledge is a minute away for the seekers. Knowing about OS internals does not ensure software quality.
    Software quality is achieved not just by the code you write for the project, but also by other factors like Project Management and Orgs quality initiatives/best practices etc. These other factors play the crucial role because they identify poor quality in all stages of the project life cycle, and thus tend to produce better quality in the end.
    Sadly most companies are still only looking at profit margins instead of these factors, and CMM for most is just a certification to be achieved and showcased, not implemented in day to day software development.
    Pavan

  36. Danny
    on 13 Aug 2008 at 9:00 pm

    How is a mechanical engineer *cheap*? Are mechanical engineers cheap in India?

  37. dexmus
    on 13 Aug 2008 at 9:03 pm

    I will prefix my comments with saying that I am not in IT, so you will have to take my comments from that perspective. But I find almost all your points unrelated to ‘Outsourcing Sucks slogan’. I will go one by one.

    ” 1. Major Indian software companies are recruiting low quality programmers”
    Market forces should fix this. If this is true, projects will fail, Indian companies will lose Business, and will have to recruit good people. From what I hear about how big Indian software companies are getting, this seems hard to believe.

    ” 2. A large percentage (I am afraid more that 50%) of the programmers are from non-CS backgrounds”
    I don’t know how this is relevant. I am from France originally and some of my friends with Liberal Arts background have gone on to initiate some great startups and doing great in IT Business. From what I understand in my interaction with IT department in our company, most of the ‘higher’ level jobs there require analytical/creative skills rather than hard core CS skills.

    ” 3. The pay scales for fresher posts here are not the best even according to Indian standards.”
    Again, not sure why this is the reason that ‘Outsourcing sucks’

    ” 4. We don’t care for the quality of the work we do for you…”
    This was very interesting. Again, I find it very hard to believe. And if people are doing this, companies will lose business, so these people will stop getting bonuses, again market forces should fix it.

    ” 5. Part of the reason why many companies recruit low quality programmers is that the works we get here are mainly some support work…”
    Again, not sure why this is the reason that Companies should stop outsourcing. I am sure if that is the case, then the work will be equally boring for local people too.

    ” 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”
    See my point 1

    ” 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 did not understand this.

  38. Vijay
    on 13 Aug 2008 at 9:17 pm

    I have a friend in Bangalore who never used to dig the management BS. He quit working for the big outsourcing companies and now mentors project teams that want to go Agile or Open Source. His job satisfaction is great after he became self-employed. He told me that big companies sometimes bill for engineers that may not even be on the team. The US company has no way of knowing that stuff. Of course not all do this. My friend is self-employed, does not have to do the 9am to 9pm Bangalore grind, and has the luxury of doing creative work. On the other hand, the vast majority of Bangalore engineers are stuck in this inhuman machine of meaningless work.

    My other friends who are in Indian outsourcing tell me the project leads/ managers usually spend their time protecting their jobs or trying to look busy - and also in those endless CMM level 4/5 meetings. Probably half the day is spent prostrating in front of (or offering flowers and incense to) TestDirector or Quality Center, plus those endless phone calls with the On-site co-ordinator.

    No one has time for some real code, all slaves to the ‘Process’ god.

  39. rob
    on 13 Aug 2008 at 9:17 pm

    I work as a J2EE dev for a company who had a project outsourced to two or three different foreign outfits for 7 years. After I got brought in, I saw the code. It is horrendous. Code isn’t horribly indented, variables aren’t spelled correctly, and the developers used some extremely error-prone/bad coding practices.

    They put me on another project for a couple months and replaced me with someone from our favorite outsourcing company. When that dev couldn’t get things done, and the project received higher priority, they brought me back. And what I saw was ridiculously bad. I mean, REALLY bad. I wiped out whatever changes he made and wrote an email to my manager that got that dev off the project.

    While my experience with outsourcing companies is almost all bad, I’ve had one good experience on one project. I’m impressed by one dev they brought here to interface with the offshore team.

  40. BingoMan
    on 13 Aug 2008 at 9:51 pm

    So true!!!!

  41. pragya
    on 13 Aug 2008 at 9:52 pm

    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.

  42. PENIX
    on 13 Aug 2008 at 9:59 pm

    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.

  43. Dev Dish
    on 13 Aug 2008 at 10:08 pm

    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.

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

  45. Obama
    on 13 Aug 2008 at 10:10 pm

    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..

  46. Sreekant Advant
    on 13 Aug 2008 at 10:18 pm

    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.

  47. pragya
    on 13 Aug 2008 at 10:18 pm

    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?

  48. LC
    on 13 Aug 2008 at 10:21 pm

    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.”

  49. Jay Stenson
    on 13 Aug 2008 at 10:22 pm

    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.

  50. KK
    on 13 Aug 2008 at 10:28 pm

    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….

  51. Grzik
    on 13 Aug 2008 at 10:36 pm

    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.

  52. pragya
    on 13 Aug 2008 at 10:37 pm

    Hats off to you KK, right to the point.

  53. Software Engineer
    on 13 Aug 2008 at 10:40 pm

    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.

  54. William Ducker
    on 13 Aug 2008 at 10:44 pm

    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.

  55. programmer_sr
    on 13 Aug 2008 at 10:44 pm

    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.

  56. SF
    on 13 Aug 2008 at 10:45 pm

    Q Why are there fewer Indian programmers nowadays?

    A The chinese found out they taste like chicken.

    :)

  57. Joey Coder
    on 13 Aug 2008 at 10:50 pm

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

  58. Just another s/w engineer
    on 13 Aug 2008 at 10:51 pm

    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.

  59. Marathi Mulgaa
    on 13 Aug 2008 at 10:56 pm

    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.

  60. Roshan Bhattarai
    on 13 Aug 2008 at 11:13 pm

    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?

  61. h3
    on 13 Aug 2008 at 11:18 pm

    You confirmed what every grown up developer already suspect or knows, thanks for your honesty.

    Sadly the major reason why outsourcing has a certain popularity these days is because Here too we have the 7th bullet that you skipped in our problems list.

    Lots of managers have little or no understanding of how complex building a good quality software or even website really is.

  62. Rory
    on 13 Aug 2008 at 11:38 pm

    Excellent points.

  63. Rajmohan
    on 13 Aug 2008 at 11:43 pm

    Niyaz,

    An interesting post…I too work for an MNC in Bangalore and agree that outsourcing should be reduced. This is because I find too many dumb architects, designers and programmers in the so-called outsourcing countries and the Indian folks are paying the price for working under such ill-qualified people. I can not speak for the software services companies in India since I have never worked for any of them in my working life of close to a decade.

    “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.”

    This comment from you indicates that you are really an immature person as far as your experience in the software technology industry is concerned. I do agree that there are some not-so bright programmers, but they include CS and non-CS engineers mixed. As I said earlier, you are immature and doesn’t seem to have any exposure to the software programmers in countries like US and Canada. In the US, most of the top-notch programmers don’t have a college degree lest alone concerned to formal CS background. And some come from varied backgrounds have done masters in fields like arts and history. Another reason why I believe Indian companies hire non-CS folks is because many of them are below-average folks.

    Further, it doesn’t matter which institution one comes from. Once a person puts in 5+ years in the industry, the only way to categorize them is depending on their performance and not the institutions from which they passed out. I have seen some of the best engineers from IIT’s and also some not so bright.

    You seem to be working for some software service company in India who wants a high salary and some abroad trips. I would suggest that you leave your current job and try to get into one of the smaller companies which work on innovative products and services. Of course, dont expect big monthly cheque, abroad trips and the comfort. But you will enjoy your work, appreciate it and also it’ll open up your mind.

  64. Mohammed
    on 13 Aug 2008 at 11:47 pm

    I think generally pakistani programmers are far superior in all respects to indian programmers.

  65. Sesh
    on 13 Aug 2008 at 11:50 pm

    Sir,

    Your article sucks for the following reasons:

    1. you seem to think civil engineers or mechanical engineers cannot code? actually computer science is only engineering field that has received most contribution from people with no formal education in computer science. Don Knuth does not have one.

    2. Not every job requires a super world class programmer with super algorithmic knowledge. Actually companies need people who get things done - and that’s what happens whether outsourcing or not.

    3. “Instead, they go for cheap mechanical engineers or graduates from some second class institution”
    how can someone be ‘cheap’ because of the field or education they have?

    4. What is with your claims of ‘poor pay’ - do you want the government to declare minimum wages for programmers (and then suddenly quality goes up is it?). As above, not all jobs need to come with the top pay. A good chunk are menial jobs which are best done at a lower cost.

    Somebody else said number of algorithms or products out of India = 0. This is wrong. Consider any of the following:
    - baazee.com (now ebay)
    - http://www.irctc.co.in
    - http://www.yatra.com
    - http://www.makemytrip.com
    - http://www.seventymm.com

    Aren’t they products from India? IRCTC traffic matches that of traffic - is it that it was done without any knowledge of programming or algorithms?

    How about Visual Studio team foundation system being developed out India?

    As I said, this article is a sucker.

  66. Sesh
    on 13 Aug 2008 at 11:52 pm

    above I meant irctc traffic matches that of google.

  67. Tool
    on 14 Aug 2008 at 12:05 am

    WTF is wrong with hiring electrical engineers to write software? Get your head outta yer @ss for a minute.

  68. joel
    on 14 Aug 2008 at 12:21 am

    There’s nothing wrong with hiring EE engineers to write software. but programming is an art.
    Unfortunately companies hire low quality engineers- by low quality, I don’t mean people coming from EE or EC, but people who aren’t inherently programmers.
    This is very tragic.
    Though I’m happy I don’t work for such a company. :-)

    god bless bangalore!

  69. John Doe
    on 14 Aug 2008 at 12:31 am

    “I charge $10 per hour for freelancing job”

    - LOLz!

    ” and believe me I do the clean and neat coding while using frameworks, I don’t like the sloppy codes.”

    Right, that’s it! I’m convinced! Where do I sign?!!?!

    8-)

    BTW, I have a BSc (hons) in CS, and wouldn’t consider myself a better programmer than anyone without any formal education. Qualifications are for the benefit of HR people. Just because you went some crappy indian uni for 5 minutes doesn’t mean anything my friend. Though I do tend to agree with the comments about electrical engineers.. they’re a bunch of brainless zombies to a man!

  70. John Doe
    on 14 Aug 2008 at 12:33 am

    .. AND they all have halitosis.

    (They probably have to look up what that means..)

  71. Tim Jahn
    on 14 Aug 2008 at 12:43 am

    Very informative and a great perspective on the topic! I wholly agree with you…quality comes with a price.

  72. Kragg
    on 14 Aug 2008 at 12:50 am

    Another reason outsourcing sucks is that it reduces opportunities for entry level engineers in your own country. If there are no jobs for entry level engineers who will want to become an engineer? This can lead to deficits in technical areas.

  73. Tim Jahn | Web and Interactive Developer
    on 14 Aug 2008 at 12:51 am

    Don’t outsource. Seriously….

    I came across an excellent article on the downsides of outsourcing (written by an Indian blogger) and the article is full of great points on why outsourcing is a bad idea if you are expecting high quality work. I’ve been involved with outsourcing situ…

  74. Vineeth Varghese
    on 14 Aug 2008 at 12:56 am

    Niyaz,

    I believe the correct term I am looking for here is “pissing in the pool you are standing in” :).

    I agree that a few of your statements are correct but they are applicable for companies even in the US. Hiring not so great programmers, producing not so great software etc can be found even in the US. I have seen many instances of this and you can check out http://thedailywtf.com/ to see some really funny instance regarding code quality. You don’t see a lot of noise around this because it is not a hot topic compared to “outsourcing”. Why do you think your article went to the top of reddit?

    I have seen outsourcing work for many projects. Of course there were some failures but till now the failures I have seen are because the customer didn’t know what they wanted in the first place or didn’t care enough to monitor what was happening. If customer let their IT folks do the development they seem to monitor things closely so why can’t they do that when they offshore a project. In these cases I do feel that the customer gets what they deserves. Of course if you care enough to read about the history of software development across the globe you will realize that the percentage of success in this field is very low (irrespective of location).

    I think you don’t know enough of the software development field or about luminaries in this field. Most of them are NOT from a CS background. Some don’t even have a BS degree.

    Another fact about programmers…..I have been in this field for 9 years now and still love/do programming. Writing quality code is a habit and not something you can turn on/off. If you write bad code at work you “will” write bad code in your pet project. If work is boring or simple most good developer find a way to make things interesting like automation or code generation etc. You are limited by your imagination :).

    If you are interested in solving some of the problems I would recommend that you do some reading, get a better perspective and find the root cause of these problems.

    Neat site you have here. I will give you that.

  75. Amit Wadhwa
    on 14 Aug 2008 at 1:21 am

    The blog seems more like a rant than anything else. I have had the experience of working, studying in India and working, studying in US.

    His argument about second-level colleges is baseless.

    I don’t think companies in US only hire people from MIT, stanford for programming jobs? There aren’t enough people there to fill up all the jobs and yes those students do come at a premium. The same thing is in India too.

    Quality of code… Well, afaik, when I code I always try to produce my best code and I have never seen anything less from an Indian programmer.

    Ofcourse, Indian companies do understand what kind of work they are getting and what kind of people they need to do that work. Few people would employ a stanford top notch guy to support/maintain a legacy application.

  76. gung-ho
    on 14 Aug 2008 at 1:21 am

    Wow — thanks for that wonderful article…
    Did you take time off from work to write this piece of crap?

  77. bharath
    on 14 Aug 2008 at 1:22 am

    Well, well.
    I read an article in Hindu some 5 years back, it stated that Indian programmer is a myth, instead, there are mostly Indian coders, who did the coding part like how a data entry is done.
    And, i must really appreciate you for writing such a courageous post.
    For one, i wont dare say such a thing in public fearing public outrage against me, but you did, and you are kind of honest and brave in the way you have responded to most of the comments at the top.
    Anyway, as you said, there are “some” good programmers, but, (i dont want to say that).
    All the best…

  78. Anand
    on 14 Aug 2008 at 2:29 am

    The good and bad points about outsourcing written here are not restricted to outsourcing. It is the general mismanagement of business.
    First of all, in a capitalist organization, everything goes from quarter to quarter. At the most 2 quarters. There is no long term vision. All a manager thinks is I will do it for six months and then change the job anyway. There is no continuation, no responsibility.

    The fact that developing computer systems is an integral part of planning implementation of business operation is still unknown! Many business managers proudly say ‘I am not technical’, and get out of having to discuss the project with IT people.
    So, the business manager goes merrily day dreaming about a grandiose operation requiring all kinds of help from ’systems’.

    Most IT people proudly say ‘ Hey, what do I know about business? I will write whatever I can from what you want.’ So they do not attend business planning meetings.

    Then there is bargaining about how much code and what functions can be written in time available, ‘after’ the business decisions are made. They say ‘make it look good for six months, and I am happy’.
    And after six months, ‘I am on to another job!’

    This is no way to run a company!

  79. Sameer
    on 14 Aug 2008 at 2:38 am

    I wrote something similar actually…
    http://www.sharpdeveloper.net/content/archive/2008/07/10/how-to-lose-millions-with-outsourcing-or-make-millions.aspx

  80. Felipe Contreras
    on 14 Aug 2008 at 4:25 am

    Good post.

    I don’t know why people say it’s not true in the comments.

    I’ve been on both sides; in a subcontracted company, and in a big company subcontracting.

    Big companies subcontract in order to reduce costs, if they wanted good quality code they would hire the developers themselves; so much easier.

    Subcontracted companies have high quality developers, but they soon realize that they can do much more than their assigned task, but they can’t be assigned to a more important task because that would require to pay more money, they kind of money the big company would pay to their employees.

    So these high quality developers don’t stay for long.

    The result is code which is owned by no one, a monster which seems to be hundreds of patches around a core that nobody understands, nor care to.

  81. Adam
    on 14 Aug 2008 at 6:20 am

    I 100% agree with this post and I can do so based upon my experiences with outsourcing software/web development to India.

    About a year ago we decided to try our hand at outsourcing some PHP programming for a website of ours instead of doing it ourselves. So we set out with our first company (Sanvera Solutions), agreed upon specs, requirements, and a price.

    What we got was utter and pure crap. It was barely put together, coded worse than I could have done myself (and I’m a very amateur PHP coder) and took forever.

    On top of that, every week or so, they would send us an email about how “hard” the work was and how they needed more money to continue. Basically each week we got one day of work and then didnt get an update for another two weeks. Each time we asked what was going on and why there wasnt work being done on the project we were always told “oh we’re on holiday, we have lots of holidays in India, we’re off for the next three weeks, oh Ramesh is on vacation”.

    Finally, after 4 months of the same bullshit, we told them to take a hike. About 10% of the project had been completed.

    We moved on to an independent programmer who didnt work for a company. This programmer compared to Sanvera Solutions was miles better. At the time we were very pleased. However the same issues kept arising. “It is very hard work, I need more money”. “Sorry I have been busy/on vacation/away”. Finally this programmer said he wouldnt work unless we doubled the payment.

    Since we negotiate a per project fee and have very thoroughly documented our requirements, we told him to take a hike.

    Finally I come to our third programmer. I’m happy to say we’re quite pleased with him. But he’s not from India, he is Russian. He did everything from scratch in about 1-2 months writing far more advanced code than the previous two programmers and has been very flexible to work with.

    As well as cheaper than the previous two. So I guess we learned a lesson. Dont hire anyone from India.

  82. wenbert
    on 14 Aug 2008 at 8:18 am

    hiring a fulltime freelance programmer is a different story.
    hire a parttime freelance programmer with a dayjob - then you are doomed.

    the fulltime freelance guy will always take care of their clients. his clients will be his only source of income. the parttime one, he is just in for the extra bucks - probably to buy an ipod or some new gadget.

    i have a dayjob so i only take “small-scale” projects. and the dayjob always comes in first.

    and oh, hire people from the Philippines :)

  83. Joel
    on 14 Aug 2008 at 9:50 am

    Meh. Silly advice. Outsource if you really must, but like with anything else be smart and informed before you make a choice.

    Heard of ThoughtWorks? CoreObjects? Lab49? Product outsourcing firms in India that kick butt. And what about the quality at Caritor (now Keane)? Has it dropped THAT much after the acquisition?

  84. Roshan Bhattarai
    on 14 Aug 2008 at 11:11 am

    @ John Doe - ok you’re B.SC. in CS from any university of western country doesn’t means that every indian school crappy .
    How can you say that studying 5 years is nothing?

    There are three developer out from UK and USA who regularly seeks help from me online and pay me for consulting on hourly basic.

    Programming is creativity and it doesn’t matter weather you are in USA, UK, India or Nepal.

    I think before saying crappy to others, first you’ve to look at yourself my friend.

  85. TheAnand
    on 14 Aug 2008 at 11:23 am

    I am totally with you here. I personallu know a friend of mine who was hired by a MNC and trust me, she does not even know how to hold a mouse properly.

  86. [...] is not a post in defense of outsourcing. However every so often I come across a rant like Why Outsourcing Sucks and much as I emotionally connect to such posts which talk about poor software quality, I find the [...]

  87. Pavithran
    on 14 Aug 2008 at 12:38 pm

    Wether you like it or not, all IT work in the future will be done in India so speak out freely all you want but game over.

  88. Angelo Pesce
    on 14 Aug 2008 at 1:56 pm

    It’s obvious that you get what you pay for, up to a given degree, but that’s not an argument against outsourcing. There are the way-cheap outsourcing companies and the less-cheap ones. And companies choose how much to spend depending on how important the work is. Outsourcing is fine, it just requires a good management to be used effectively, but other than that I see no problems. All the things you write are pretty obvious, and also pretty normal, and to a degree they happen in all companies (i.e. 50% of people without a CS background, happens in many companies even if they don’t do outsourcing). So those “facts” are indeed real, but what’s the problem with them? People that use outsourcing usually know that, if they’re not desperate at going supercheap because their company suxx and they’re on the verge of shutting down, they won’t outsource their core technologies….

  89. Ade
    on 14 Aug 2008 at 3:12 pm

    An article taken completely from a personal perspective but wrapped up as a universal law. What a load of cr@p. There was a discussion about your article on Hacker News - frankly I think your article sucks more than outsourcing does

  90. Niyaz PK
    on 14 Aug 2008 at 6:00 pm

    Ade,
    It is without doubt my personal perspective what I write in my blog. I cannot write what you expect me to write. But then, you have the chance to respond here. That is the power of blogging - learning through discussions.

    @All,
    Thanks for all the valuable comments guys.

  91. Prabhu
    on 14 Aug 2008 at 7:20 pm

    ok, probably my comment is going to get buried down. Outsourcing is an interesting argument. India is definitely a good option for outsourcing things that will not have major impacts, eg. website, facebook app, silly j2ee/.net project, manual testing etc.

    With regards to quality of engineers is concerned, I agree that the quality of engineers you get in india suck. But I dont think education like (CS degree) is no way related to this.

    I know millions of CS grads who claim as if they know the end of the world, when all they know is to write some program in some language. Programming is not the only thing in the world right.

    How many indians have contributed to open source projects say a patch for linux kernel, may be contribution to firefox (I dont mean writing a plugin). It all starts from there. Most of the Desi’s dont want to upgrade their knowledge outside their work/education at all. When they do that, they wont see any scope for exercising that in india. Do we have any large scale erlang project being outsourced to india? I doubt if someone would make that mistake.

  92. [...] This post from Niyaz PK blog, guy from India about outsourcing. 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. [...]

  93. [...] Find his point by point explanation of bad outsourcing practices in his blog post. [...]

  94. cychong's me2DAY
    on 15 Aug 2008 at 2:01 am

    멤피스의 생각…

    Why Outsourcing Sucks 아쉽지만 부정하지 않을 수 없다. Core 기술을 outsourcing한다면 쩝 볼장 다 본거 아닌가?…

  95. Sandeep Sood
    on 15 Aug 2008 at 8:36 am

    Niyaz,

    Great post, but I couldn’t disagree more ; >

    Outsourcing software development is at an early stage of evolution - there is no doubt about that. Finding great talent and experienced people is difficult; and growing demand leads to a limited pool of qualified resources.

    However, while glibly saying ‘Outsourcing Sucks’ may earn you lots of applause from those who’ve had bad experiences, it doesn’t paint a true picture at all.

    Software outsourcing is still a nascent industry. The skills and management required to do it well are rare and only beginning to be understood. And yet, there are companies that are doing an exceptional job on a wide range of projects. And, the number of companies continues to grow every month.

    Here is a speech I gave at last year’s South by Southwest on the realities of outsourcing (and how to do it better):
    http://www.monsoonco.com/sxsw

  96. [...] Here is a the most stupid article written by a very stupid guy titled “Why Outsourcing Sucks” [...]

  97. [...] Индиец предостерегает от аутсорсинга в Индию, Diovo » Why Outsourcing Sucks. [...]

  98. Shubhranshu
    on 15 Aug 2008 at 12:10 pm

    I think the results of outsourcing also depend upon the outsourcers own capability to select the best suitable. To get the best from the outsourced agency is also an art. To know more about this art, http://outsorcerer.com/blog/?p=21 may also be a good source.

  99. KK
    on 15 Aug 2008 at 4:48 pm

    Against you ? I was against your opinion, and there by against you.

    “I am not trying to tell that I am of exceptional quality. Just wanted to tell that software companies (many of them) does not need good programmers. They just want coders (or code monkeys).”
    I agree with you, and as you said, that some recruiter told they dont have aexciting work for you, so it could be some kind of routine dummy project, thats the exact reason why they are looking for just coders. But if the nature of the project is that and all they want is just some cheap coding, I would say for a company’s perspective it is an ideal candidate to be outsourced. So why “Why Outsourcing Sucks”

    “Finally about mechanical/electrical engineers writing software, I think that it is a wrong practice. May be there are very good programmers among them, but why did not they take CS degree if they wanted a job in the IT industry?
    Are you telling me that a CS degree is of no use?
    Can you tell me that an automobile or machine part can be done by CS graduates?
    In my humble opinion, people should do the work they are experienced in. CS graduates used 4 year sin their life to learning the basics of computer science. If you are telling that that doses not have any significance, I am afraid I have to disagree.”

    Software Engineering, Development and programming can be viewed in 3 different ways. In engineering you build something, something really innovative, some new standard which can be done by a CS degree holder and cannot be done by most non CS degree holders. But this kind of jobs are very very less.

    What degree does a automobile mechanic have ? And cant you do minor repairs for your car ? Do you need automobile engineering for that ? Ofcourse you cannot design a new car / compressor / engine, for that it needs a automobile degree. Sadly my friend, most IT jobs in India and abroad are like the job of a automobile mechanic. But again does that mean outsourcing sucks ?

    We did use 4 years of our life learning the basics of programming, I am sure we have better knowledge, we know the TCP/IP stack, we know all the sorting algorithms, we know the design of CPU’s, NAND gate etc.. etc.. But be frank how many times did you apply them in your work ? But still that does not mean Outsourcing sucks.

    Cheers.

  100. Brian
    on 15 Aug 2008 at 7:09 pm

    I have worked in IT for 11 years and the only time I have seen offshore development work successfully is if VERY detailed design documents are handed off to the offshore team.

    From my experience, the majority of offshore developers are not very creative or proactive problem solvers and tend to use the same templated approach to deliver a variety of solutions regardless of how different the projects may be.

    From my experience, they generally cannot be counted on to think “outside of the box” and should not be used to design systems from business requirements documents.

    I won’t even begin to go into the communication barriers to working with them…

  101. Moron
    on 15 Aug 2008 at 8:29 pm

    I was thinking about this once while I was taking a shit and another time while I was having gay sex. Truth is, I think I wouldn’t care much about the software project if I were given crap work. I’d much rather be laying on the beach with a bunch of naked men and women.

  102. Kubert
    on 15 Aug 2008 at 8:44 pm

    I’m programmer from Ukraine. Yep, I’m working in outsourcing industry.
    That’s looks like a joke, but I amazed by an incompetence of programmers from US and EU :-(

  103. fsilber
    on 15 Aug 2008 at 9:39 pm

    All of these are issues are tangental to the real issue, which is whether _I_ (an American computer programmer) will get interesting work in my location of choice at a very high rate of pay. Whether or not outsourcing is a good ideal, the attempt has had a negative effect with respect to this issue.

    While it might be heartening to hear that outsourcing software development is of limited effectiveness, my biggest fear is that the problem will be solved by outsourcing not just the software developers but the entire business — including the software users and their managers.

  104. Vishwajeet Singh
    on 15 Aug 2008 at 10:22 pm

    Most of your talk sucks; do you know how many jobs outsourcing has created for us.
    Software development has three aspect to decide on cheaper; faster and better and we in India write cheaper software; chances are high that a cheaper software will never be better but thats not be blamed to companies; they can not pay you out of there pockets.
    you say that there are mechanical and electronics people writing software its not a big deal any one can write software; I have seen a sociology graduate writing better code than many CS graduates; stream does not matter what matters is how you articulate things and your alogorithm building capabilities; knowing syntax of 3-4 odd programming languages does not make you great developer.

    If outsourcing is stopped people will starve; small recession affects our economy so badly you are talking about stopping it all together.
    Get your basics writes before you start writing on such sensitive issues.

  105. Keith Johnson
    on 16 Aug 2008 at 12:00 am

    Thanks Niyaz - I always appreciate people who have the courage to tell things like they are - this is the only way to a better world and improvement among all of us. Thanks for your candor and sincerity with this article. Yup, quality anything will cost a company - cheap programming ultimately is a losing deal especially for a project that requires quality design and programming. The same thing is true with documentation and training - low salaried employees deliver poor quality - only those who are paid a nice salary end up producing something that is really great.
    All The Best & Namaste, Keith

  106. Afkham Azeez
    on 17 Aug 2008 at 7:54 pm

    This is not true always. There are leading software engineering companies in South Asia, which are helping shape the technology landscape of the Globe. WSO2 (http://wso2.com) is one such company. All the leading developers of this company are Sri Lankan’s and are based in Sri Lanka. Some of the best talent is found in this part of the world.

  107. silky
    on 18 Aug 2008 at 3:16 pm

    Nicely said Niyaz; and you make some good points - ones that I didn’t actually consider.

  108. Niyaz PK
    on 18 Aug 2008 at 3:28 pm

    silky,
    Glad to hear from you after a long gap.
    What happened to your blog?

  109. ThisRedKnight
    on 18 Aug 2008 at 5:39 pm

    The trend in London seems to be away from outsourcing and towards importing Indians for contract positions. I don’t know if they are cheaper than native developers but the ones I have worked with are certainly as qualified.

  110. none
    on 18 Aug 2008 at 8:07 pm

    Flamebait really.. low on facts, high on baseless blanket assumptions.

    You are correct in bits and pieces only and mostly incorrect. I suppose you are stuck with one of the Tata companies, is it?

  111. [...] Why Outsourcing Sucks 아쉽지만 부정하지 않을 수 없다. Core 기술을 outsourcing한다면 쩝 볼장 다 본거 아닌가?(outsourcing)2008-08-15 05:31:31 [...]

  112. [...] came across really interesting article by Niyaz. He is an Indian IT guy an he promotes same ideas Rubal Offshore sales person try to communicate to [...]

  113. Ashwin Ramesh
    on 30 Aug 2008 at 10:49 am

    “Flamebait really.. low on facts, high on baseless blanket assumptions.

    You are correct in bits and pieces only and mostly incorrect. I suppose you are stuck with one of the Tata companies, is it?”

    Typically - What you don’t understand is that a large proportion of Indian sweatshops ( NO, they don’t deserve to be called companies ) suck because they have no idea what they’re doing.

    I’m an Indian Entrepreneur and I run an Indian IT Company ( Typically, I’ve been there done that - not many of you can claim that ).

    The fact is that - its not because of the companies that the quality of work sucks - its because of tendency.

    Hire an Indian Data Entry Operator who does the same monotonous job every day - after 6 months, he will want a raise and his claims will be that of “experience”.

    But, the fact is that he’s been “sitting” towards the raise and has not really learn’t anything new - he just assumes that all that he has to do is stay with the company in order to deserve a raise.

    And, what happens when you feel the person doesn’t deserve a raise? He just moves to another sweatshop and produces low output there.

    There needs to be “specialization” - I’d say the core basics before you outsource something should be this:

    1. Is the company your outsourcing to specialize in the process?
    ( Mega sweatshops have no specialization and they can never deliver quality )

    2. Can the company your outsourcing to grow with you?
    ( In the Indian IT landscape, companies usually grow extremely quick, so they may just ditch their old clients for new ones who seems more appealing resulting in loss of productivity and quality)

    3. What kind of a team does the company possess? ( Apparently, not just the manager counts )

  114. Niyaz PK
    on 30 Aug 2008 at 4:05 pm

    Ashwin,
    Thanks for the thoughts.

  115. NoName
    on 31 Aug 2008 at 8:07 pm

    So true.

    I am an engineer in a big company, like IBM, MS, QUALCOMM etc. I work with Indian Engineer everyday. I have never met them. But I felt that they must be the kind of bad engineer described by you. I am very frustrated by the quality of their work.

    3 lines of code, one serious bug. That is my feeling.

    I always thought, there must be some smart Indian engineers. But sorry, I have to say I never met an ordinary engineer. All of them suck, and the mangers suck.

    About the quality and quantity of work, 10 of them can not compare with me. They just don’t know what they are doing.

    By the way, my work really need serious engineering ability.

  116. Ruth
    on 04 Sep 2008 at 2:38 pm

    It doesn’t imply that when a person graduates from a non-it course that he can’t be good in programming. What is important is he underwent training from the outsource providing company.

    It is depressing to know that an Indian would try to speak ill about the companies that are sources of income of your fellow indians.

    You cannot disregard the reality that outsourcing is rapidly spreading because of it’s advantages in businesses.

  117. Wolfenstein365
    on 14 Sep 2008 at 5:45 pm

    The solution is not to outsource. PERIOD. Dear morons, please figure it out. If a compnay decides to outsource their IT work, they will just have to bring it back in house at a certain point. The costs start to become astronomical as far as having to re-hire local talent. Let’s be serious, do you really want to move your knowledge base overseas? It’s much easier to cut executive salaries, if cost is your issue. Here is the problem: American companies focus on cutting costs instead of putting out a competitive product at a profit. Let’s try it again,

    American companies focus on cutting costs instead of putting out a competitive product at a profit.

    Until the concept of scientific management is ditched, the American economy will ever fall into nothingness.

  118. markmg_uy
    on 10 Oct 2008 at 9:02 pm

    do you even know what you are saying?

    probably you worked for a crappy outsourcing company that’s why you are saying this junk.

    either: you want to put up an outsourcing company and doing this to discourage others; you do crappy work and gets away with it; or you are fired from work and bitter about this issue.

    if you must know, outsourcing is made in order to fit the need of the client company. while there are some outsourcing companies which produces rotten software, there are more which does the right stuff. why would you buy pre-made a point of sale system which doesn’t suit your company (with features that you don’t need and/or lacking features that you need)? why would someone buy a commercialize ATM software (wouldn’t it be odd if every ATM’s you see uses the same software, only the logo differs?)?

    it’s like manufacturing cars, they don’t do the entire thing. they outsource the engine, and other parts from companies who specialize on that field. outsourcing is not only making medium sized software. its letting others do what you don’t want to do. it’s being done globally. done by apple in their iphone. done by computer manufacturers. Microsoft also outsources.

    the problem with you is… you have narrowed your mind to “outsourcing on crappy software companies” and did not took into consideration that people from big software industries started as an untrusted company as well.

    do some research, get some proofs, verify every information you get and think before writing. this post of yours indirectly says “hey! i outsource and i am doing crappy work, still i earn cheap money”.

Trackback URI | Comments RSS

Leave a Reply