Mirror of MacCompanion

macCompanion magazine






About Us








"Foreign" Macs



Link Lists

Mac 3D


Mac Jobs

MUG Shots




Think Different



Download this issue

According to Hoyle

According to Hoyle...

Outsourcing & the Fall of Software Development, Part 1



July 2010

by Jonathan Hoyle


I consider myself mostly conservative politically. In the last three Presidential elections, I voted for the Republican twice and the Democrat once. In each case, I thought that the candidate for whom I voted (irrespective of party) would continue policies I thought would be best for this country. Sadly, I have been disappointed by these, and in fact every President since Ronald Reagan.


I point all this out because I am about to talk about a politically volatile subject, namely the practice of outsourcing American jobs overseas.  Many writers on this topic employ a "trojan horse" approach: essentially pretending to come from some "objective" or "unbiased" position (as if there could be such a thing), and then espouse a particular ideology.  I'm not going to insult your intelligence that way.  (I might insult it in other ways, but at least it won't be in THAT way.)  I'm letting you know up front, I come from a conservative point of view, but not one that is the "orthodox" party line conservative.


The Conclusion, First


These "trojan horse" political authors will stitch together a compelling weave of argumentation, highlighting propositions supporting their "eventual" conclusions, avoiding any mention of arguments which might undermine it.  For such authors, I just skip to the end to see the conclusion first, and then go back to read how they supposedly got there.  That way, the "trojan horse" is gone.


So as to be fair, I'm going to save you a little time and give you my conclusion upfront.  The point of these next two columns is this: the current trend of businesses outsourcing their software development work is harmful to both the industry in particular, and America in general.  I know this is not considered a typically conservative position, but it is mine, and I believe there are good reasons, even conservative ones, to warrant it.  And being a conservative, I will not be appealing to arguments of class warfare, capitalist greed, the disenfranchised, racism, poverty, Big Oil, the Iraq War, 9/11 conspiracies, or that George W. Bush is evil.  If you were hoping to read any of that, you can move on to your next Google search.


Now with nothing up my sleeve, I shall proceed ...


Outsourcing over Time


I'm going to assume most of you reading this know what Outsourcing is.  I'm also going to assume that you understand the incentive that businesses have for engaging in this. In a tough economy, businesses will look at Outsourcing in much the same way (and please forgive me this analogy) a horny man might look at a prostitute.  The promise of the short term gain might overshadow in his mind the long term consequences.  Better judgment often gives way to immediate gratification.  Sadly though, it is only after the fact that one learns that the benefits were much less than one wanted to believe ... and that the repercussions are a lot more long lasting.


Before jumping into how Outsourcing is affecting the software industry, I want to take a quick diversion into Outsourcing in recent history.  Really, what we call Outsourcing has been with us a long time.  It's no secret that the cost of labor can be significantly cheaper overseas.  Even in the 70's when I was a kid, most of the things I purchased did not get made in America.  Electronics and Hi-Tech items were typically marked "Made in Japan", and only the real cheap stuff was "Made in China".  I can't remember seeing anything marked "Made in India".  But we as Americans looked at Japan as our technological competitor.  It was Japan who (it was said) was taking our jobs away.  No one cared about competing at the low end wage level.  We were Americans.  We fought for the top, not the bottom.  Unskilled labor was not what Americans cared to compete with.


In the 80's, we began to compete toe-to-toe with Japan, and Americans started to dominate a new hi-tech arena with the Computer Revolution.  The economy of the 80's boomed.  At that point, it was not only unskilled labor, but low-skilled labor that soon became a casualty.  By the early 1990's, it was no longer Japan but rather Mexico which became a major competitor.  Basic assembly line jobs could be shipped over the border and the Mexicans be paid for much less for the same work.  Although there was some grumbling, members of both parties in Congress passed NAFTA, a free trade agreement between Canada, the United States and Mexico.  But Americans on the whole believe in the free market, and continued to prosper in the new economy.  Like the 80's under the Republican Reagan, the 90's under the Democrat Clinton was a time of prosperity.


It may come as a disappointment to some of you reading this, that I supported NAFTA (and still do now).  The "loss" of unskilled and low-skilled jobs was counter-balanced by higher tech and better paying jobs.  This can be seen by the fact that the average American wage (after taking inflation into account) continued to rise during these two decades.  By the year 2000, the unemployment dipped below 4% (the job transition rate), which essentially meant that the United States was actually over-employed.  There just weren't enough people to do all the jobs!  All this was after NAFTA was passed.


Outsourcing Today


However, we are starting to see a less healthy trend.  We are no longer off-shoring only the low-skilled and unskilled labor jobs that we Americans don't have time for.  More and more, it's the hi-tech jobs that are going overseas.  In the spring of 2001, the unemployment rate was at 4.3% (not as low as the previous two years, but certainly respectable).  But the jobless rate hasn't been that low again since then.  In the past 12 months, it has oscillated between 9.4% and 10.1%.  And how many of these were lost to outsourcing?  This is hard to say accurately, as every American job directly lost to outsourcing, there are certainly many more jobs lost due to the indirect ripples from other businesses which work closely with them.  For example, contractors will have fewer jobs to choose from, but cannot be said to have had a job "lost".


Unlike the manufacture of automobiles, computer parts, etc., computer software has no burdensome shipping charges associated with the outsourced product.  This makes software development appear to be a model candidate for outsourcing.  That, combined with the unbeatably low bid quotes, make outsourcing of software a no-brainer.


The problem with "no-brainer" decisions is that no brains were used to make them.


Most software engineers I know have been in (or at least heard of) an experience of how a software project went overseas, and the product came back in a terrible state.  For those who have not heard of such, I offer a few interesting links:


Suffice it to say, Outsourcing is not the money-saving salvation a lot of businesses had hoped it would be.


Quality Gone Awry


The first problem that usually associated with off-shored development software is its dramatic drop in quality.  Now why should this be the case?  It is certainly not due to some racist notion that Asians are inferior programmers to Americans.  It is something much simpler than that: experience.


According to the National Science Foundation average age of a software engineer in the United States is just over 40.  This means that most domestic software developers have 15-20 years of experience in the industry, learning proper coding conventions, practiced at debugging tough problems, and understanding proper object oriented design.  Many such engineers are quite capable of developing under different programming methodologies, from classical waterfall to more agile ones such as Extreme Programming.  This makes the average domestic engineer a very experienced and mature employee.  On the other hand, most of the off-shored developers have only recently learned these skills … very recently.  54% of India is under the age of 25, and it is the young people who are obtaining these new jobs.  A 30 year old is a relatively young programmer in the United States, but might be managerial material overseas.


This is further compounded by the separation of the inexperienced from the experienced.  In the United States, a typical 25 year old programmer who experiences some difficulty, can walk down the hallway to speak to an experienced 45-50 year old engineer.  Junior programmers evolve into senior ones with the help of a corporate culture of internship and the promise of advancement within the company.  Overseas however, the 25 year old junior programmer usually has no such option.  In fact, it is to his peril to seek help, as this tips off his competitors within the company that he is weak in a particular area.  Moreover, most overseas development houses are hired contractually, as so as contractors need to appear to be extremely competent, so as to win the contract.


Blown Budget & Schedule


Another big problem in Outsourcing is budget overrun.  You know the old saying "It is easier to get forgiveness than permission"?  Well, this is the creed of every contractor (whether domestic or international).  To win a bid in the past, an American contractor often "lowballed" his estimates.  These contractors would typically be competing against the same people in town, and their estimates (even if lowballed) were not terribly far apart.  Today, a contract house in Asia is competing with literally hundreds of others across India, China, the Philippines and elsewhere.  It used to be that the contract manager could accurately determine if a given contract bid was unrealistic.  However, American managers have little to no idea how accurate the bids are from an Asian contractor.  The numbers seem so amazingly low, it is easy to be seduced into believing them.


Another issue is schedule delays.  Much of this has to do with the timezone differences.  When your contractors are in a timezone which is 10-15 hours apart, questions which might be answered in an hour domestically, may have to wait until the next day.  Changes and clarifications which could be simply handed to a domestic engineer, may need contract renegotiations, which delay things further.


Problems become compounded when the software being developed has to interface with a piece of hardware.  The expense and delay of shipping internationally makes it very difficult to keep the contractors up to speed with changes in hardware.  And problems which might arise, can no longer be resolved by a firmware engineer taking the escalator down to work with a software engineer.  Everything must be done remotely.  What used to be solved by two engineers talking over lunch, must now involve email exchanges over night, or late night conference calls.


Finally, an internal employee of the company is one you know and have reasonable expectations of his abilities.  More to the point, you can expect that he will still be there the next day and will not disappear from you without a two-week notice.  Overseas contract houses typically manage their own internal resources.  The contractor, which worked on a particular part of the subprogram last month, may not be the one working on it this month.  It is also not unusual that an experienced engineer from overseas gets the ball rolling on one contract, and then passes the balance of the work to his team of junior programmers, whilst he himself move on to try to help win the next bid.


Coming Up Next Month:  We will continue our discussion of Outsourcing, Part II!


To see a list of all the According to Hoyle columns, visit: