Economists explained that software is a highly "tradeable good" and Asia -- especially India -- was filled with millions of highly educated cheap programmers.
Given that the number of people employed in software in America has remained constant since 2000, and that wages are about where they were then too, I think the evidence is that there has been a substantial "pressure release valve" effect going on. So while the most dire predictions of the 2000s haven't come true, it's also true that the confident optimism of the 1990s ill advised.
I would say that software development has been good to me so far as a career, but I still think I would hesitate to encourage a young person in America to pursue it.
This is absolutely terrible advice. Please do not ruin some young American's life with this advice. Technology seems to be one are where the demand seems to always outstrip supply, and a person trained in Computer Science would be capable of learning new skills and advancing rapidly in the tech industry.
Furthermore, since it the complexity of software grows exponentially rather than linearly, I believe that as the number of software developers grows linearly, the demand will grow exponentially ;).
Of course it depends on the market, but I disagree that is just SF. Seattle, NYC, SoCal (LA, San Diego etc.), Boston, Austin all have a thriving tech sector, although Bay Area still far outstrips them in demand and compensation.
I'm a bit of an oddity in that I took summer / nighttime college courses in 1995, when I was 10, then had a job programming right during the dot com bust. Everyone said that even if tech recovered it would probably all go to India so when I entered full-time university I went so far as to study structural engineering, something I didn't think would be easy to outsource.
When I transitioned back to software I was actually shocked at how big of a skill difference the median Indian and American / Canadian actually had. The top 1% between the two cultures is similar, but the median Indian, circa 2009 when I last interacted with them, was far behind.
As someone who grew up in America during that time, this is the exact opposite that I was told by the media and teachers. We were taught that Indians were just as effective (if not more) than people working in the US and that we shouldn't select jobs that will be outsourced in the future (like programming). In fact computer science enrollment in many colleges were at an all-time low during that time because of outsourcing fear.
So I completely disagree with your generalization that many Americans thought Indians were worse at programming.