Sure, good stories have details, but a person's choice of detail reveals how they see the world. The comment's mention of "offshore" clearly serves no purpose beyond encouraging stereotype-based thinking. Knowing this programmer was offshore is as irrelevant as knowing their sex or their eye color. We've generally (and I think rightfully) exorcised this language in reference to other characteristics, why not this one?
In my experience, programmers who emphasize that "offshore" programmers are bad seem insecure about their own skills and job stability. The same is true of sexist men who go out of their way to mention when a mistake was made by a woman but never explicitly highlight when it was a man.
I understand what you're saying, but it's not bigotry if the "stereotype" is true.
"offshore" is synonymous with "cheap(er) labor" in the US programming world, and is an accurate statement since that's what it's generally used for ("let's send it to XXX and it will cost us 1/10 as much")...
How many times do you think outsourcing happens in the US because they are looking for higher-quality code? 1%, 10%, 50%, 90% of the time?
"cheap(er) labor" is also synonymous with a bad product/service, because you often get what you pay for.
Are there exceptions to all this? Yes. Sometimes you can't find good quality coders in the US, but I doubt this is why outsourcing happens most of the time.
He might have generalized by adding that detail ("offshore") but that's not biggotry IMO as much as it is a flavoring.
Offshore is, most of the times, about getting the same quality of work at cheaper cost. How is it cheaper? Not because it is shoddy work, but the economics in the other country work out that way. How can you equate cheaper price = lower quality. If you are looking for people in US alone, then cheaper = lower quality. Since another factor of the equation, the country, is changing, that is not the case.
> Offshore is, most of the times, about getting the same quality of work at cheaper cost.
I have yet to experience that joy.
Rather, offshore means lots of unnecessary documentation, train someone to do my job (promoting me to "lead"), watch them get it wrong, try to coach them onto the correct path, high turnover (so I have to train and coach again in a few months), do a complete rewrite at the 11th hour, then be blamed by the bean counters that I sabotaged the effort somehow.
No doubt the same thing happens in house. But with in house, if we find a good egg, we get to keep them, get some ROI back from the learning curve.
> Offshore is, most of the times, about getting the same quality of work at cheaper cost
The problem is that the person who evaluates quality has no real understanding of what is being evaluated. This leads to price being the deciding factor. Most of the code I've seen coming from price-driven software factories is awful.
Successful outsourcing stories are few and far between; stories of failures are a dime a dozen. The reason is exactly as you say: companies are not judged on the quality they deliver.
In fact, the same problem has plagued the IT industry since forever. Almost no company successfully competes on quality, because the customer chooses the cheapest offer in the majority of cases.
And here is the crux: define the quality of a delivered software project and put a number on how much higher quality would have saved the customer. Nigh impossible.
The only solution seems to be going into a specialty niche where high quality is required, so any incumbent competitor will fail, unless they deserve to win, because they deliver your level of quality.
And is that what happens? You get same quality code at cheaper prices? Like Wal-Mart gets cheaper made goods from China that last as long as their more expensive domestic counter-parts? Or how Dell has retained it's customer satisfaction ratings by using Indian call-centers?
I think it's been established that when you outsource for cost, you get back a product that cost you more in the long run.
Again, there are exceptions to this, but that's not what we are talking about.
No, it means that they went cheaper than they ought to.Of course, you get what you payed for. But the scale is different. Just because it is cheaper, it does not imply poor quality.
I think the difference between the parent post and the grandparent post is experience with "outsourced to overseas" code.
Having worked extensively with outsourced code (4+ years) I can tell you without a doubt the vast majority is poor quality crap, more so than "insourced code" by far. But... Everyone produces bad, buggy code at times.
Please do read my comment. If you compare the pay in dollars, of course it is less. But the cost of living, the local economy, etc probably puts them at higher pay or equivalent to what people in US would get.
Really? Because based on the story edw519 gave, it sounds an awful lot like the offshore programmer had just made a silly little mistake while the "client" was the one who was actively incompetent/manipulative. If anything, his choice of details presents offshore programmers in a good light and American programmers in a bad light.
In my experience, programmers who emphasize that "offshore" programmers are bad seem insecure about their own skills and job stability. The same is true of sexist men who go out of their way to mention when a mistake was made by a woman but never explicitly highlight when it was a man.