Forgot your password?
typodupeerror
Businesses Programming The Almighty Buck

Does Outsourcing Programming Really Save Money? 653

Posted by timothy
from the by-jingo dept.
itwbennett writes "In a blog post titled 'Why I Will Never Feel Threatened by Cheap Overseas Programming', John Larson tells the story of a startup that shipped its initial programming to India, paying $14 per hour, with predictably disastrous results. Larson concludes: 'I have yet to see a project done overseas at that sort of hourly rate that has actually gone well.' But in this not-uncommon tale of outsourcing woe, is the problem really with the programming or with unrealistic expectations?" The comments on Larson's blog post (originally titled "Why I Will Never Feel Threatened by Programmers in India") seem to me more valuable than the post itself.
This discussion has been archived. No new comments can be posted.

Does Outsourcing Programming Really Save Money?

Comments Filter:
  • by Troke (1612099) on Tuesday December 06, 2011 @10:36AM (#38279378)
    I think the unrealistic expectation is expecting any project to go well when you are paying 14 dollars and hour for a highly skilled position. No programmer worth their salt will willingly accept that pay, and if they do, you probably don't want them.
  • by HappyHead (11389) on Tuesday December 06, 2011 @10:48AM (#38279552)

    I once did some contract work for a place that made the mistake of outsourcing a major programming job. My job was to maintain the outsourced code, and keep it functioning (barely) while the internal programming team worked on building a complete replacement from scratch, at half the cost, with the actual system requirements being fulfilled. I spent four months fixing bugs in deliberately obfuscated perl code, at consultant rates, because none of the internal staff they had hired was either able to figure out perl code in general, or willing to even try to sort out that mess. The outsourced programmers in question had the dodgy business practice of deliberately making their code difficult to read, and only including comments like:

    # 16426-b

    The code in question contained wonderful constructs such as pointless loops where a value would be iteratively divided by the numbers from one through a thousand, then restored to it's original value without being used in the altered form. I started the project with about 6 million lines of perl code, and by the time it was over and the replacement was ready, tested, and brought online, there were only 2 million lines in the outsourced code, including about ten thousand lines of comment code that had been added while I was working on it. I hadn't even looked at about half of the remaining code.

    After the initial work was done (poorly), the outsourced programming company announced that their code maintenance fees were being increased, thinking that their poor coding style had essentially locked the client in, and left them unable to get help elsewhere. The only staff member the company had who was willing to make the attempt unfortunately committed suicide after only a month of trying. (Personally, I believe it was unrelated, but the other programmers there claimed she was perfectly fine until she started working on that code... after two months of it I could see why they would think that.)

    So yeah, in my experience, outsourcing programming does not save money - if the company I did that work for had just had their own people write the original code, they would have saved a massive amount of money.

  • by 1s44c (552956) on Tuesday December 06, 2011 @11:05AM (#38279744)

    You summed the problems up very well.

    I also found Indians say 'Yes' to everything even if they don't understand what you are talking about. That can cost days of lost work when you find out they didn't have a clue later.

  • Re:Faulty Reasoning (Score:5, Informative)

    by PCM2 (4486) on Tuesday December 06, 2011 @11:11AM (#38279810) Homepage

    His point is that, yes, managers are going to be blinded by that $14/hour price tag and go with that route, but those projects usually fail. They are pitched for too many man-hours up front and they usually run over, and even then the result often isn't up to snuff. The result is that they give up and hire American (Western) programmers to finish the job at market rates. Thus most of the "value" of the overseas effort becomes a cost overrun, but the worst part is that time to market suffers because the initial specification valued cost over time to an unrealistic degree. A company can only get burned like this so many times before cooler heads prevail.

  • by Speare (84249) on Tuesday December 06, 2011 @11:14AM (#38279852) Homepage Journal

    I've commented on this before, but there are GOOD and BAD reasons for outsourcing. All of these stories focus on the BAD (and they're truly horrible). It's easy to have schadenfreude about managerial disasters, especially if said managers fired you for this kind of project.

    If you're outsourcing something that is your core competency, you're going to rot away to nothing. They will walk away with your secrets and become the direct solution provider in your space.

    If you're outsourcing something that is creative or inventive in nature, you will fail. They are geared to bill hours, want to minimize their own labor by recycling solutions, and don't care so much about success because rework is still work.

    If you're outsourcing something that depends on today's level of dedication and problem-solving, that's creative and inventive. But also, you will fail because you don't own those rare dedicated and problem-solving employees. They're predictably terminated by their managers, replaced with cronies or the next batch of diploma-mill graduates. If you get something good out of an outsourced worker, they will quit for a better job tomorrow and you'll have to start over again. And there's usually a no-poaching agreement to make it harder for you to groom and select the gems from their labor pool.

    However, if you're outsourcing something that is rote, uninteresting, easily explained, clearly documented, often repeated, and does not rely on motivation or personality, then you have a chance. There's no reason for you to hoard and cultivate a set of employees who are best kept as fungible, as replaceable, as off-the-shelf, carbon-copies of each other as possible. Get them cheap, and get them to turn the repetitive process crank that you don't want to turn.

    Offshoring the project is identical to local outsourcing, but all of the challenges of time zone and language and culture are just magnified greatly.

  • by macson_g (1551397) on Tuesday December 06, 2011 @11:16AM (#38279890)
    I used to work for a Big Outsourcing Company Which I Refuse To Name, not in India but in Eastern Europe. And this kind of posts always make me laugh. We were cheap, but we were good. It is true that there were some pathological situations, ie we were charging client per man hour, and as a result our team was artificially inflated and we kept people who were completely useless and lazy, but were completely happy to receive minimal salary and do nothing apart of pretending to be useful. But the best people in the team were really, really good and well paid (with hourly rate exceeding the one that customer paid per mh!) and management was quite good too, managing not only the project, but working closely with the customer etc. And you know what? The code that we produced was better that the stuff created by customer's own R&D devs, and as result more and more work was transferred to us. And I can clearly remember how frustrated we were working with customer's own people, some of which were mediocre at best, knowing that they are getting 4x more for similar job. Eventually, frustrated by the situation, I moved to Western Europe myself, quadrupling my salary. But, at the other hand, we were not in Idnia, and the rate customer paid was much more that 14$/h (it was, as I recall, 20+EUR/h)
  • by CHK6 (583097) on Tuesday December 06, 2011 @11:23AM (#38279976)
    The "Pick 2 of 3" rule:

    You can only pick two out of the three options. You then will get the opposite of the remaining option. 1) You want good quality workmanship. 2) You want the price to be cheap. 3) You want the work done quickly.

    If you outsource and pick #2 and #3, then you get the opposite of #1; bad quality workmanship. The other option when outsourcing for cheaper pay is #1 and #2, but this means #3, the work will be done slowly, then businesses will have to lose market ground.

    This is business 101 knowledge, yet our accountants and MBA grads have yet to master this simple rule.
  • Re:Faulty Reasoning (Score:4, Informative)

    by gweihir (88907) on Tuesday December 06, 2011 @11:25AM (#38280012)

    That is because management sucks too. And has problems dealing with the fact that there are business critical people that are more important than they themselves are and are not managers at all. I firmly believe that a lot of outsourcing projects really are driven by managers unable to deal with the fact that the engineers are a lot more important as individuals as they are and far less replaceable. And better educated. And actually have a clue on how to do their job, at least the good ones. That engineers generally (and justified) look down on management types may also play a role.

    Side note: There _are_ good managers. But they are even rarer than exceptional engineers, as there is no management education process that filters out the numerous duds.

  • Re:Agree (Score:3, Informative)

    by Chris Mattern (191822) on Tuesday December 06, 2011 @11:25AM (#38280014)

    I've never dealt with Canadian programmers. It certainly won't give the same langage problems as India though.

    Unless you make the mistake of going with Quebec.

  • Re:Faulty Reasoning (Score:4, Informative)

    by rcuhljr (1132713) on Tuesday December 06, 2011 @11:31AM (#38280104)
    While I don't really have too much of a horse in this race, and I don't think it's indicative of all outsourcing teams, I remember one gem from an internship I was working during college. We were given a code base developed by a 'guru' from eastern European country, I want to say Ukrainian. The product was an add-on for Outlook, and at one point I was given the problem of 'The app is slow with more then 10 contacts, almost unusable, speed it up.' After a bit of hunting around I found the problem was where the add-on was searching through the contacts lists trying to find a subset.

    They'd managed to create a search algorithm with a big O of something around n cubed. I set about rewriting it to get it down to N all while wondering why on earth Outlooks API didn't support this relatively basic feature. It was at this point that I discovered that the API actually did support it, however the programmer had written a wrapper around the API hiding the method in question, then re-implemented it in the train wreck of code I was removing. That was the last time I ever worried about competition from cheap outsourced labor.
  • by DrgnDancer (137700) on Tuesday December 06, 2011 @11:56AM (#38280514) Homepage

    The problem is that $14 and hour, once management overhead and other costs come out, isn't even a reasonable living in India. Figure that after all the overhead and costs come out, coders are probably making less than $4 an hour. Last I checked ( I was vaguely curious about living there for a year or two at one point) average salary for a technology professional in an Indian city is around $25-30K a year. A lot less than even pretty depressed areas of the US or Europe, but still a Hell of a lot more than $4 an hour.

    This tells me that most likely when you're paying $14 an hour for coders in India (I'm specifically using India here, because I have at least some idea what "reasonable" pay is there) you're not getting good coders by Indian standards, let alone any arbitrary external standard. If you want an average talent you have to pay average rates. So in India, if you want an average talent programmer, you're probably looking at paying the *programmer* (not the contracting company) $14 an hour. Now add overhead and costs to *that* (also factor that he managers and such are likely correspondingly better, and therefore more expensive) number and I bet contracting India isn't a lot cheaper than doing it in house.

  • Re:Faulty Reasoning (Score:4, Informative)

    by interval1066 (668936) on Tuesday December 06, 2011 @12:58PM (#38281490) Homepage Journal
    But your argument is that all corporations are managed by some greed-driven aliens that have no stake in your or my world, and that simply isn't the case either. Not all investment vehicles are mutual funds. Not all investments are divoraced from their investors. Not all "regular people" do not have access to their investments. Seems to me like you have a raw deal. The manager at my fund absolutely answers to me and the other people I work with. If not I take my money elsewhere. You might be advised to do the same.
  • Re:Faulty Reasoning (Score:4, Informative)

    by avandesande (143899) on Tuesday December 06, 2011 @01:10PM (#38281672) Journal

    You actually dress as a show of respect for others. It's an easy boost for your career with only a minor outlay. Good quality dress items only need to be cleaned and pressed infrequently and are actually more comfortable than cotton which dirties quickly and retains sweat and moisture.

  • Re:Faulty Reasoning (Score:4, Informative)

    by Jibekn (1975348) on Tuesday December 06, 2011 @01:43PM (#38282198)
    Hes saying most people are worthless, therefor most MBA's are worthless, its not the MBA itself that's worthless, its the person, so using MBA's as a hinge point to hire/fire people is retarded. Hire competent, good people, rest falls in line easily enough.
  • Re:Faulty Reasoning (Score:4, Informative)

    by Anonymous Coward on Tuesday December 06, 2011 @04:48PM (#38284564)

    lmgtfy:

    Research:
    1: Babiak P, Neumann CS, Hare RD. Corporate psychopathy: Talking the walk. Behav
    Sci Law. 2010 Mar-Apr;28(2):174-93. PubMed PMID: 20422644. [nih.gov]

    and the summarizing article from Time [time.com].

"Irrationality is the square root of all evil" -- Douglas Hofstadter

Working...