by Steven J. Owens (unless otherwise attributed)
There have been some good articles recently in the press, about the off-shoring trend, many of them in response to some recent comments by Robert Rubin (Treasury Secretary under Clinton). JDJ (Java Developer's Journal) carried an article about off-shoring this month. I turned to this article expecting another worthwhile attempt at analysis.
What I found was a troll, and a pretty lame one at that. It's pretty obvious that the author is trying to garner attention by taking a deliberately provocative stance (however poorly implemented). The only surprising thing is that the JDJ editorial staff didn't slap him down for it before it saw print.
Why is off-shoring happening? Two simple reasons; profit and stupidity.
Remember, a corporation is not a person, regardless of legal fictions. It's an algorithm, defined by the rules of capitalism. Corporations that make money survive and thrive, corporations that don't, die. Blaming off-shoring on "corporate greed" is beside the point. Heck, saying "corporate greed" is redundant. Corporations are greed, by definition. Those are the rules of the game, and expecting corporations not to play by them is ridiculous.
Unfortunately, the corporate algorithm executes on a massively parallel set of biological components - people - and they act as independent agents. They don't always know the wisest thing and when they do, often don't choose the wisest thing for the corporation. The current trend of off-shoring is driven by short-term stupidity: management desperately trying to slash costs and increase profit in a down economy.
Out-sourcing per se is not stupid. Off-shoring per se is not stupid. The current fad for massive off-shoring - one in a long line of management fads - is stupid. Almost as ridiculous as blaming off-shoring on "prima donna programmers."
Out-sourcing software development domestically, to a company across the street, is fraught with peril. The roadside is littered with unsuccessful software projects, even more so with unsuccessful out-sourced software projects. Out-sourcing to a company half a world of geography and culture away is not going to magically make software development a known quantity.
There will be off-shoring fiascos. The pendulum will swing back the other way. In the process it will destroy a lot of companies and lives, the same way a lot of the dot-com boom did - driven by the same marketing hype and management faddishness and stupidity.
The pendulum will swing back - but not all the way. Some jobs will stay off-shore. Industries (nationally and globally) will learn to do out-sourcing right, or at least better. Out-sourcing companies, foreign and domestic, will learn to do out-sourcing right, or at least better. Out-sourcing may provide further impetus for standardization in business processes or artifacts, to support successful out-sourcing. This may in turn lead to the old holy grail of component reusability. Or it may not.
Protectionism is no answer; it didn't do the US car industry much good, it won't do the high tech industry much good.
Capitalism: Capitalism sucks, but it sucks a lot less than many other things the human race has tried. (I stole that from Robert Heinlein's comment on democracy: "Democracy is a poor system; the only thing that can be said for it is that it's eight times as good as any other method. Its worst fault is that its leaders reflect their constituents -- a low level, but what can you expect?")
The question becomes, how do we adapt? How do we adapt individually, how do we adapt as a society?
Capitalism is a feedback loop to foster the more efficient production of goods. But the software industry has no goods - it deals in abstractions, not in physical things.
Even if we accept the bogus concept of treating ideas like physical things that can be owned bought and sold (aka "intellectual property"), frankly, much of the software industry's heavy hitters get their bread and butter business from after-market consulting, i.e. service. Since they make money on selling service, they're not motivated to improve the product itself - the feedback loop is broken.
As Rubin pointed out, the information age is entering the same phases that the agricultural and manufacturing ages encountered, where automation starts radically changing the landscape. We're hitting a watershed, a place where the rules fundamentally change. Society is going to have to change to reflect that, the question is not "If?" but "How?"
And here's another scary thought; what happens at the next watershed? Who's to say that the Next Big Thing won't be eventually susceptible to automation as well? For the past ten or twenty years, the only two major job growth areas were information and service (ignoring, for a moment, the recent administration's attempt to redefine fast food jobs as "manufacturing" jobs). What happens when service jobs become automated away in some fashion we can't even conceive of yet?
What if we decide, as a society, to change in a more fundamental way before that, to stop being a society that gets radically dislocated every time some advancement in technology makes a lot of the grunt work superfluous? What kind of society would we choose to be?