H-1B Opiate Has Thwarted Advancement in Software Engineering

Article author: 
John Miano
Article publisher: 
Center for Immigration Studies
Article date: 
17 February 2017
Article category: 
Our American Future
Article Body: 

...  I thought that I might try to explain the why of H-1B. That requires a look at the state of the software industry.

There is a great disconnect between the perceived state of software engineering and its actual state. We talk about "high tech", but in reality software engineering is in its infancy. Software engineering, as we know it, is only about 60 years old. Compare that to civil engineering where there are thousands of years of experience.

Software engineering is as mature as the civil engineering of two thousand years ago. In fact, software engineering is probably less advanced than that.

Think about the age of the cathedral builders. They did not have the advantage of calculus and formal structural analysis. Their master masons designed cathedrals by instinct — and in most cases they were successful. But there were disasters.

Beauvais Cathedral collapsed. So did Ely Cathedral and Lincoln Cathedral. But for the most part the medieval cathedral builders were successful.

And the medieval cathedral builders were positively advanced compared to today's software engineers. Software disasters today are much more common than cathedral disasters in the Middle Ages.

Here are some reports on the rate of software engineering failure. I have tried to pick out reports that reflect the full range of such studies.

If we cut through the hype in these reports, we find that roughly a quarter of software projects are successful, a quarter are complete disasters, and about half fall somewhere in between.

To put this into perspective, this would be equivalent to a quarter of buildings erected falling down and another half requiring extensive reconstruction to be made usable. If just 1 percent of buildings collapsed there would be enormous pressure to take corrective action, but a quarter of software projects doing the same is accepted as normal. Any way you look at these figures, the current state of software engineering is primitive...

We can distill all these software engineering failures into a simple business problem: Software costs too much...

But accountants make high-level decisions in corporations.

When you put the software cost problem in the hand of accountants, they understand it as: American computer programmer cost $90 an hour and Indian computer programmers cost $80 an hour.

The obvious flaw in that accountant analysis is that in the best case it simply makes disasters cost less.

I shared with Stefan an experience I had before law school. I joined a project written in C++ that had serious performance problems. The original developers were not familiar with table joins in database queries. They wrote the system so that it used millions of nested queries where one query would suffice. I was in the process of replacing these millions of queries with single queries that obviously boosted performance tremendously.

While working on this issue, a senior accountant-type in the company (without consulting anyone familiar with the structure of the system) hired an Indian body shop to rewrite the entire system in Java to solve this problem. Their legion of H-1B programmers slavishly copied the C++ code into Java, including the parts that used millions of queries where one would suffice. The result was even slower than the original — another software disaster.

It is this fundamental problem of software cost that is driving the demand for H-1B workers. Unfortunately, cheap labor on H-1B became a distraction from fixing the underlying problems in software engineering. The H-1B opiate has thwarted the advancement of software engineering and undermines American leadership in this area.




When I had to train my H-1B replacement, they were paid half of what American high tech workers were paid. They lived six to an apartment in order to save money and return to India fairly wealthy. - Fred Elbel