It’s true that every employer is competing in a global marketplace. The wealth-maximizing outcome is for the most productive programmers to work at the companies with the biggest money faucets to optimize. It makes sense for those companies to pay gobs of money for programmers from all over the world. And if paying them even more to move to Mountain View makes them 5% more productive, it’s worth it. This is definitely true for programmers that are working on systems that generate billions of dollars and get bigger every year.
On the other hand, there are lots of less-productive companies out there that don’t generate billions of dollars through carefully-tuned funnels, but who still need to employ software engineers. They can’t afford to pay $300k+ to thousands of people like the top companies do. But if they can find some solid talent who happen to have attachments to a lower cost of living area, or maybe are worse at interviewing, etc. they can get away with paying a lot less.
On the other hand, there are lots of less-productive companies out there that don’t generate billions of dollars through carefully-tuned funnels, but who still need to employ software engineers. They can’t afford to pay $300k+ to thousands of people like the top companies do. But if they can find some solid talent who happen to have attachments to a lower cost of living area, or maybe are worse at interviewing, etc. they can get away with paying a lot less.