Why does Silicon Valley exist?
In continuing with the theme of Naveen's earlier post "A billion-dollar question!", another related question is why we see companies cluster in certain cities or regions and not others. In the software industry it is particularly striking. With all the hype about the "death of distance," you might imagine that programming could be done anywhere in the world. So why do so many software companies choose to locate along the southern edge of the San Francisco Bay in California? Having access to Berkeley and Stanford computer science graduates is certainly one factor. However, Silicon Valley is famous for hiring many immigrants or Americans not from California originally. Additionally, what is taught in computer science departments around the world probably does not vary too much. With labor so mobile and with programming such a location-independent task, why then is there a Silicon Valley?
According to Bruce Fallick, Charles A. Fleischman and James B. Rebitzer, a significant part of the answer is job-hopping (Here's a link). They show that programmers and others in the computer industry are likely to change jobs more often than computer professionals outside of California. Part of this may be due to the fact that California law does not allow employees to sign contracts agreeing not to work for a competitor. The result is that employees gain industry-specific knowledge while working that they can use in another firm.
So the fact that Silicon Valley exists shows that firms locate there in order to access the local labor market which is made up of people with highly specialized knowledge that even well-educated people elsewhere are unlikely to have.
This is part of the reason I am skeptical of all the hype behind "outsourcing" and how it spells the end for computer professionals in the U.S. Bangalore has done quite well for itself in supporting a growing software industry, but rather than competing directly with Silicon Valley, it is more likely to develop its own niche that complements, rather than competes directly with, Silicon Valley's unique expertise.
A corollary is that if local software firms in Bangalore want to go head-to-head with Silicon Valley firms, they will have to start enticing NRI programmers in California with significant work experience to go back to India. At that point, many of the cost advantages India has start to get a lot smaller with the inflated salaries they would have to pay Indians used to American salaries.