Speaking from a software engineer’s perspective, the current move to outsourcing more and more work to India, and other countries is a disturbing trend. I at first feared that my coding days may be nearing an end. Why have a well paid American engineer to code up those requirements when they could be done overseas for a fraction of the price(ignore that myth for the time being)?

I initially thought of it as the inevitable march of business process, driven by the drumbeat of the stockholders yowling out PROFIT at regular intervals. The industrial revolution, similar in result to the current outsourcing ‘revolution’, initially produced many unemployed by replacing their jobs with machines, which worked faster, cheaper, longer, and more accurately.  Of course, the labor unions worked to keep the machines at bay, but their gradual introduction was inevitable.  Now, fast forward to today.  American engineers are being ‘replaced’ by their Indian counterparts.  However, the difference between the Indian engineer and the industrial machines is that, whereas a single machine could replace multiple workers, the opposite is true.  It takes multiple Indian engineers to replace a single American engineer.  It’s sort of the industrial revolution, in reverse.  Now, there’s nothing innately ‘bad’ about an Indian engineer, which makes them inferior.  It’s the fact that the barriers to the Indian engineer are manyfold, and include cultural, language, time, and education differences.  Since the requirements for software are generated in the U.S., by American engineers, all the translation is done by the outsourced engineer.  In the industrial revolution, the requirements were translated by the American engineer into various types of ‘machine language’.

I’m still not sure as to the impact this observation has on my understanding and opinion on outsourcing(not sure I have an opinion yet), but I find it interesting nonetheless.