If there are any doubts software code has become a commodity just like natural gas, pork bellies and orange juice, they’re being put to rest.
The success of huge offshore code shops such as Tata in India, and the rush to move the production of code to any less-expensive shore that isn’t attached to North America, is proof of that. And the implications for the North American utility programmer, a.k.a “code jockey,” are ominous.
None of us really likes to think of ourselves as a utility programmer – after all, aren’t we really all artists with a digital palette? But some of us are surely garden-variety developers. We’re the hired guns who roll out thousands of lines of code a year, based on analysis, design and specs produced by others.
If we fall under this category, if we’re not adding specific and measurable value to the systems development food chain, then the work we do is going overseas, and quickly. Programmers “over there” (currently India, with China and several other Asian and East European countries in the running) are just as smart as we are, and they’re willing to work for a damn sight less money than we will, and under conditions we would surely balk at.
Take this trend to its logical conclusion – the production of everything, including code, will go to where it’s cheapest to produce. Why? Because in the end, we as consumers will always push for the lowest price. And in this age of unrelenting consumerism and cost reduction, the cheaper option wins every time.
That Wal-Mart smiley face that grins like an idiot as it slashes prices is a harbinger of doom for some – it’s the Pied Piper leading the thoughtless to a world where lowest prices are always the best solution. Those who can’t make the connection between falling prices and the economic dislocation it causes are going to be really happy with their bulging plastic bag of bargains when they lose their job in a manufacturing plant. But I digress.
We in the high-tech business are just as guilty. How many of us hunt out the lowest-priced cell phones, which have to be manufactured overseas to meet our price expectations? How many of us balk at bank service fees, forcing them to look overseas for application development support for banking systems because we, the customers, aren’t willing to pay very much for the service, and certainly not enough to keep a North American software maintenance crew gainfully employed?
And don’t talk to me about productivity gains; the pressure to cut costs are beating productivity gains hands down, even without considering that many of those gains come on the back of longer hours, working some of us into an early grave. But I digress again.
There are precedents for us to study – we need look no further than the hollowing out of manufacturing capability in North America. Plants are shuttered here, only to be reopened elsewhere, where everything, including human capital, is much cheaper.
Under what circumstances does North American manufacturing continue to thrive? Where the cost of transporting a heavy, awkward finished product outweighs the cost advantage of producing it in a lower cost area, for one.
Unfortunately, that’s no comfort to us. What we build is by definition ethereal. It doesn’t weigh a thing and doesn’t take up any space. Code can be shipped to and from New Delhi or Shanghai just as cheaply as it can from the office down the hall.
What about technical innovation? How about differentiating ourselves as (I hate this term) true knowledge workers? Pardon my skepticism here, but can we really expect to be savvier and more innovative than the folks in India or China or the Philippines? Perhaps, but I wouldn’t count on it forever. They are getting a quality of technical education that is rapidly catching up with ours.
Let’s get real: the advantage for programmers/developers here is going to be an ability to talk to, and listen to, our clients. First-rate, face-to-face communications and a demonstrably superior ability to understand what is required and to deliver a solution that explicitly reflects that understanding, will be key. This is something that we can all do if we get good at it, and something that a programmer in Bombay probably can’t, if only because he or she is so far away.
And that is where we’re going to survive and thrive – by being better at understanding the needs of the people we’re working for, by sharpening our analysis and design skills, and most of all, by becoming the people that our clients chose to talk to.
Let ’em build code in Bombay. We’ll work face-to-face with our clients right here in North America.
Hanley is an IS professional in Calgary. He can be reached at[email protected]