From “Tony”: I agree with your correspondent, that software development is moving offshore rapidly. Having worked in Silicon Valley for thirty years, I’d like to add a couple observations. (Please withhold my name if you use this. I still have to earn a living. Most of my work colleagues are foreign engineers in the situation I describe.)
1. “There is a lack of trained engineers in the US.”
Well, sort of… There are many trained US engineers available whose only sin is being over fifty. Companies favor younger foreign engineers. They are cheaper. And because they need a green card to work in the US, the company – as their sponsor – has enormous power over them.
2. “(Indian) government sponsored education.”
During the Cold War, the US government sponsored higher education through loans, military schools, and state colleges. This sponsorship, and Cold War technical research, is the basis for the current technical revolution. The Internet itself is an offshoot of Defense Department research to build a secure communications network.
Now, as we reduce sponsorship of education, foreign governments increase theirs. A middle class US engineer comes out of college heavily in debt. He or she must compete with a foreign engineer educated at government subsidy. The result is fewer US students, a stream of high paying jobs flowing offshore, and fewer good jobs in this country.
I live in a semi-rural, working-class neighborhood. When I talk to my neighbors it seems to me that they work twice as hard to make a living, and are generally closer to bankruptcy than any time in the past thirty years.
From Jeff Houston (in San Francisco): I don’t quite agree with the author’s assertion that software design will shift to other countries. Some of it will, but the truly innovative and new ideas in software engineering will stay in the U.S. I have been a software programmer in the U.S. for over 15 years. I’ve come to the conclusion that the reason the U.S. is ahead of the game in software design is because of our culture. People born and raised in the U.S. are familiar and can deal with constant change, one of the main ingredients in Technology. In fact, change is encouraged here (which is not always a good thing). This is not always true in other cultures. Many cultures discourage change.
It’s my belief that only those cultures that encourage constant change and freeflow/abstract ideas can excel in software design. Software is always improving and to improve on an idea requires the ability to think abstractly. U.S. citizens are encouraged to think differently, and act independently – a key ingredient in innovative software engineering.
Sure, cultures that do not have these traits can still write software. Programmers can be given direct tasks and will write programs specifically following the instructions they’ve been given. But truly innovative ideas in software engineering will only come from those cultures that encourage people to think abstractly.
I must say that I am not familiar with India’s or Israel’s culture. It may be that these cultures already have these attributes and therefore may excel in software design. But I do know that the U.S. has this great advantage. I hope all this doesn’t sound racist. By no means is it meant to be.
From Heshy Shayovitz: I tend to agree with the reader who wrote that in the future technology companies will have most of the operations outside the US. Recently I was speaking to friend who’s developing a program for the health care industry. He told me that usually when he hires programmers, they leave after 6 months. He spent a lot of that time training them, so now they go to another company for a few thousand dollars more. So what has he done about it? He has a programming team in – yes you guessed it – India. He says that he pays them the equivalent of what he would pay a US worker in benefits (health care, etc). I’ve heard various variations of this. So what does this seem to point to? Maybe something similar to what happened in the automobile industry – some foreign country(ies) will take the industry away from the US. Maybe India. You never know – they are now a nuclear power.
On a similar note: I don’t believe that there will continue to be a shortage in qualified technical people in the US. Even though universities aren’t graduating enough “computer people,” lots of programmers I know didn’t major in it. Actually some friends have come over to me to ask me which computer courses to take (I’m a computer consultant), so they can get into the field. In addition, once the Y2K deadline passes, some of those programmers will have to go elsewhere.
And what do we (and the Indians) do once the software largely learns how to program itself?