It also avoids a lot of cultural/communication problems. Even when everyone speaks the same language, words have subtly different meanings in different cultures. This is true across NA as well, but SF vs Atlanta is much closer than Chicago vs India or Brazil. Not to mention that these are also big countries with their own regional language variations.
I’m reminded of communications between Sega of America and Sega of Japan noted in console wars, where SoA would make a suggestion, and SoJ world respond “Ok”. The former understood that to be agreement, the latter was stating it as acknowledgment. Even though they were speaking the same language, their understanding was different and getting in the way.
This doesn't make much sense either -- many companies will happily employ people from India or Brazil if they live in SF or Chicago. Why are the "cultural/communication problems" not present then?
People in the US from other countries have often assimilated at least some US culture. Or will be expected to assimilate important cultural issues more rapidly in an office in the US with mostly US cultured people than in an office elsewhere with few US cultured people.
Many of the communication problems are rapidly addressed with constant realtime communication that happens in a shared office but doesn't with teams working separate hours.
There's also a big difference between one or two people from other places on an American team, which will still behave like an American team, and a team of people entirely from country X, which will behave like a country X team.
I meant relatively. We outsource a lot more to India. But my main point was that South American countries aren't making a significant dent in New Yorkers' wages.