Few topics are as controversial as outsourcing. This is understandable. To state the obvious, jobs are a fundamental part of our ability to lead a happy and productive life.
Unfortunately, jobs exist within the context of volatile global markets. The growth of outsourcing is the result of developing nations reaching a point in their economic evolution where they have the skills to compete in higher-skill domains traditionally served by rich country workers. The same cost advantages offered to lower-level manufacturing are now being brought up the value chain to software development.
In the United States, a number of congressmen have proposed bills which would protect American IT workers from foreign labour competition. Furthermore, though few are as overtly anti-trade as Dick Gephardt or Dennis Kucinich, it is increasingly clear that Democratic party contenders for the US presidency view foreign competition as a potential winning issue in the 2004 race.
I don't deny that Western IT workers will have to make adjustments to accommodate the new global reality. However, as I explain in this article, outsourcing is not the jobs catastrophe its opponents make it out to be. Furthermore, there are a number of practical reasons to maintain an open market position which have ramifications for the future health of Western economies. In short, like it or not, Western nations need outsourcing.
Don't overestimate the threat
My first job as a programmer was with Price Waterhouse. My memory of that time includes a frightening amount of airplane food, as I made weekly round-trip flights to client destinations from my home "base" (at the time, Dallas, Texas).
The reason for this was that Price Waterhouse assisted clients in creating custom software -- and this required close interaction with the client. Whole teams of developers would be flown to the site to gather requirements, generate prototypes and write code. Real-world custom development is often a trial and error process, something that works best when developers on-site can respond instantly.
Maintenance work, however, does not require such close interaction since the broad outlines of the application have already been laid out. This development was often performed off-site, therefore, saving the client airfare and housing costs.
Custom software, even under the best conditions, often must contend with "fuzzy" requirements. Likewise, most software is of the ad-hoc variety, and often is "temporary" in that the actual code written has a short life span. This means that most software will need the kind of close client interactions Price Waterhouse provided to its customers. Such interaction can't occur when the consultants are sitting in an office in Hyderabad.
Furthermore, the people best qualified to work with American or European clients will be other Americans or Europeans, given the shared cultural context co-nationals share with their fellow citizens. In other words, most custom development will call upon local citizens, because their ingrained "skill" at dealing with local clients cannot be replicated.
Maintenance, however, can be performed off-site, including at offshore locations. This was central to the arguments made by Rahul Sood and George Gilbert in their recent article. They noted that one of the best way to use outsourced labour is as a place to offload maintenance tasks, freeing up the domestic labour force for higher-value new software development.
Even so, this doesn't mean that domestic IT staff won't face jobs pressure. In the long term, however, it pays not to underestimate the power of the software industry to create new jobs.
The rise in demand for software developers in the 1990s was the result of the industry's attempt to digest the changes introduced by the spread of the Internet. Technology continues to advance, however, and it is my opinion that we have only seen the tip of the iceberg in terms of the integration of computing power into our daily lives. I spoke of the software opportunities created by the adoption of RFID technology in a previous article, but also consider the advent of smart phone technology, or even the growth of wearable processing power (SPOT watches being a good example) to be areas for future growth and jobs.
Technological advances in these and other areas will drive demand for new categories of software, and that demand will pick up any slack that results from the expansion of the global pool of developers to include citizens of developing nations. The knee-jerk reaction to outsourcing is that it is a bad thing - but this doesn't acknowledge that it can have benefits, and that it is probably here to stay
Lastly, large economies are often their own biggest markets. Exports account for 10 percent of GDP in the United States (which is currently the world's largest economy), compared to 43 percent in South Korea and Switzerland, 36 percent in New Zealand and 28 percent in France. This position is mostly a function of America's size, at 300 million people, and its wealth, with a GDP of US$10tn. As China's 1.3 billion citizens grow in affluence, Chinese companies are bound to find that China is its biggest market.
As Asian economies grow, programmers are going to be too busy serving their own markets to offer much competition for American or European software projects. It is in the interest of Western programmers, therefore, that Asian economies develop as fast as possible.
Company competitiveness matters
Many who oppose outsourcing offer no alternative means to make up for the cost savings missed by a refusal to outsource. This matters, because modern companies compete on a global stage. Unless every company in the world decides to forego use of lower-cost software developers, companies that fail to outsource will make themselves less competitive.
Furthermore, consider the importance of software within modern business. Software is critical to the efficiency of even small companies, irrespective of industry. By forcing companies to pay more for Information Technology solutions, countries make their companies that much weaker.
One of the problems with America's recent steel tariffs (now removed) was that it benefited 0.5 percent of the economy (steel production industries) at the expense of 13.1 percent (steel consuming industries, such as automobile manufacturing). The cost of forcing companies to pay more for software would be even greater, as far more industry uses software than consumes steel. This leads to a weaker economy that produces fewer jobs overall.
In short, preventing companies from outsourcing merely impoverishes the many to benefit the few.
China and India are the markets of the future
The United States and Europe have been the largest and most important markets for the last 100 years. That status provides tremendous advantages to companies based in these regions, as young companies often rely on their local market for business, and residents have special knowledge of their home markets which can't be replicated by a foreigner.
Though the United States and Europe will always be important markets, the status of most important will pass to others as 2.3 billion potential consumers (China and India combined) enter the ranks of developed nations. American and European companies are tripping over themselves to place a stake in the Chinese market, and for good reason. China is already a bigger market for personal computers than the United States, and they have managed this with a population whose average per capita GDP is US$900 (though in purchasing power parity terms, the figure is closer to US$3,900). Imagine how much product can be sold to the Chinese when that average merely doubles, as is likely in less than 10 years?
The people who best understand that market, as discussed in a previous section, are those who actually live there. There is a lot of value, therefore, in employing developers in those markets. Such developers would apply their "special knowledge" of local market conditions to help American and European companies build products that better meet the needs of Asian consumers.
Likewise, note that foreign software is more expensive in developing countries, both as a percentage of the average income (developing world citizens earn less) and due to weaker currencies. By using lower-cost workers, Western companies build products that are more affordable in developing markets, enabling these companies to grow larger and hire more workers at home.
Local creation of software would help prevent future protectionist tendencies in these important markets. This was one of the motivations behind the decision by Japanese automakers to "outsource" manufacturing to locations around the United States. China will be as important to the health of Western economies as American and European markets are currently to the health of the Chinese economy. If Western nations take a "me first" attitude at the height of their economic power, why should we expect China or India to do anything different when their economies surpass, in terms of size, our own?
Rich nations have the chance to shape the future of economic relations by example. If we set a bad example, the economic leaders of the future are likely to follow it.
Building a globally competitive workforce
You don't make a champion runner by limiting with whom he trains in order to avoid stressing him too much. Similarly, you don't make a rich nation IT workforce capable of facing foreign competition head-on by hiding them behind protective barriers.
Programmers in India and China cost less. Closing borders won't make those workers any less competitive, nor change the benefits companies derive from outsourcing to such locations.
There are ways for more expensive programmers to justify their existence, some of which David Berlind mentioned in a recent article on the subject. They can move up the value chain by managing outsourced development tasks. They can spend more time in design work, as design is something that will always be kept domestic simply because requirements gathering is a very people-oriented task. And as mentioned, there will ALWAYS be a demand for local programmers to service custom domestic software needs.
What CANNOT change is the reality that exists in China and India. Rich-nation workers MUST face that reality, however painful the adjustment might prove. Failure to do so now merely harms Western businesses and forces future generations to pay more for our reluctance to face the pain of transition now.
Remember the 'Big Picture'
Bill Joy, a co-founder of Sun Microsystems, generated a lot of controversy when he warned in a Wired magazine article of the dangerous potential posed by nanotechnology, genetic engineering and robotics. We'll be able to change our environment, and ourselves, by altering DNA. We will build resources molecule by molecule at practically no cost (so much for non-proliferation treaties).
Such power, as Bill Joy noted, can lead to catastrophe if used improperly. Given recent events, there seems to be large numbers of people with an interest in engaging in such improper use. In what kind of world do you feel safer, one where you have a majority of poor and desperate people crushed under totalitarian regimes and aching for a decent share of global resources, or one where most of the world had decent incomes and democratic governments?
Both South Korea and Taiwan were military dictatorships until relatively recently. What changed, for the most part, is that people in both countries reached a sufficient level of affluence as to have time to pay attention to how they were ruled. No government can long face down the will of its people, and nothing boosts the will to be free than to grow accustomed to being free in one's economic life.
Obviously, outsourcing by itself won't make or break third world development. However, as part of a general willingness to trade with developing nations (a willingness which would be undermined by special protections for "white collar" IT workers), its part is not inconsiderable. People need to keep an eye on the bigger picture. Think globally if you truly want to create a safer future.
John Carroll is a software engineer now living in Geneva, Switzerland. He specialises in the design and development of distributed systems using Java and .Net. He is also the founder of Turtleneck Software.