I get free markets, I love free markets. But, From other replies: “Shopping around for the lowest price, and a company policy that says "Screw people who live in poor communities" are not the same thing.”
Did the employer ask where the person lives? It's like when asked what your past salary is? Never show your poker hand.
It is always about negotiating. Some people's approach is, I'll just share my whole story, and everyone will be fair. It just doesn't work that way.
Even if you didn’t have to put it on like 15 HR forms, some companies like GitLab even make you tell them when you move...
To your point, see #4 “It’s game-able”
Use a pobox. Corps do it with delaware companies. Negotiating salaries is absolutely a game of poker. And a high stakes one at that.
For me I work 5-10 projects per year, so in 20 years I've worked 150-200. So I have a lot of opportunities to experiment. If you work 3-5 jobs in 20 years, you have less chance to test the market. So it's even more important to get it right. It's like locking in interest rates, it's worth your time to get .2 or .3 points because you hold that rate for so long.
I've seen friends get 1-2 offers and then just take the first one they like. To me that's crazy. Imagine selling your house and you take the first offer. You would then wonder, maybe the price was too low! So too with salaries. If you wait for 10 offers, one of them will be 10-20% higher. It's just a numbers game.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.