Should it be a race to the bottom? Also, I think it's pretty rare in tech to have multiple qualified candidates to choose from. Typically the candidates have multiple offers, not the other way around.
Compensation is not based on the value provided to the company. Compensation is based on "market rate" as in, the lowest amount of money a candidate is willing to accept to do the job. The information asymmetry is such that candidates accept offers for far less than the company is willing to pay.
That's not what market rate means. Market rate is a surveyed bell curve for the job across multiple companies.
Yes, the rate the market pays. That’s different than the value a candidate can bring to the company.
Good for the Idaho candidate, living in SF shouldn't warrant some kind of salary privilege (much of which just gets funneled to landlords and increasing housing prices).
Is it good for the Idaho candidate to get paid less for the same work? If a company is willing to pay $x for a role because it will give them $y benefit where $y > $x why should any candidate accept less than $x? How much of a delta between $y and $x is even acceptable? Why should we celebrate companies playing candidates against each other for the benefit of the few?
This realistically isn't a major concern because the pool of qualified software engineers in a state like Idaho is far too small to make a noticeable dent in market salary levels.
You're assuming the availability of mobile tech work will not enable more people to move to places with low cost of living, such as Idaho. I believe that it will.
A few people will do that, yes, but there are a couple million software developers in the US, and most of them are not going to suddenly move to sparsely populated interior states. They'll spread out from the SF bay area a bit.