I don't think that 'Tennessee' is the correct spelling for Shenzhen. The low cost of living states in the US are still expensive compared to low cost of living countries. There is engineering talent around the world, and I don't see how the rural parts of the US are going to compete with more urban populations in other well educated parts of the world.
Anectodal, but I spent a year on a recent project collaborating with a group of firmware engineers in Shenzhen, and it was an absolute nightmare. Apart from the timezones, the code quality was horrendous and basically never worked correctly. They also ignored all common standards, and made assumptions about things like ordering of fields in JSON. None of their engineers spoke english, so code communication had to go though the project manager who wasn't technical.
I can see how english fluent Mexican, South American and Canadian employees will be in competition - this is already happening, but I think that China might be one of the last places I would higher a developer due to the huge time difference and their poor english speaking ability.
I’ve worked with Chinese developers and their English and programming skills were fine. Just check for English language skills in the interview if it’s important to your company.
Personally I think that non technical project managers are the bigger problem, remote or not.
My company has an office in Hyderabad India. My experience is that a US-equivalent developer in India isn't actually that much cheaper, and when you weigh the timezone disadvantage it may not really be worth the hassle.
We still have a thousand developers there and we pay $2500/mo for each of them. There are plenty of nice people, and a few rockstars, but on average this money doesn't buy top talent in India.
China has the 7th lowest english speaking rate in the world. I doubt that they are going to be a large outsourcing hub to English speaking people any time soon. If you speak Mandarin though, its a great place to hire cheap developers - just look at Zoom.
Actually if you look at cost of living data, the USA is in quite an interesting position. It contains both some of the most expensive and cheapest cost of living in the developed world. Salaries in some areas are some of the highest in the world, and in other places are closer to Eastern Europe or South America once you've accounted for things like taxes and healthcare. There's a seriously huge gap in pay when looking at Rust Belt Ohio vs the Bay Area.
Two kids go to school at Ohio State in the same program. One moves to SF and makes 200k right out of school. The other stays in Ohio and has a starting salary of 55k doing similar work. I don't think you need to worry about the Chinese coming for your tech jobs. In a remote world, the Buckeyes will get there first.
Exactly. Although if the Buckeye was motivated, he could currently get a remote gig and make 100k. It wouldn't be SF rates, but it would still be higher than the local shops. It will be interesting to see how such arbitrage gets affected by more remote companies entering the field.
Offshoring has been a thing for years, we already know how it plays out. There are distinct disadvantages, and a lot of companies have been bringing development back into the US as a result. My company is one of them.
If you really want offshoring to work, you at least have to move 100% of your development staff overseas. Really you need to move 100% of your engineering altogether, and maybe a good chunk of your leadership as well.
Tennessee has a huge advantage over places like China and India simply due to communication. Language fluency, cultural similarity, and a low timezone offset all very much contribute to a successful team.