My next job paid me $90,000 CAD a year. (Investment bank)
My next job paid me $160,000 USD a year. (Google)
All numbers are all-in comp. All junior dev roles.
Should the bank, and Google have offered me $33,000 and $40,000, so that the new salary isn't too much higher then the old one? Would that satisfy your notion of fairness? When new grads hired by the latter are getting paid $150,000/year?
You are hired to do your new job, not the old one. What the old one paid has no relevance.
In other words: If you don't know what you're worth, of course they won't give you what you're worth.
People at $400K a year don't apply for a job, they're recruited. Any of the problems mentioned in this thread would likely not apply.
From where does this expectation derive, and what makes it a good barometer of sanity? On the face it just sounds like the same rationale used for basing raises on percentage of an employee's initial salary. "3% over your last job" is not fair.
Based on experience, almost nobody negotiates their offers, and if you see people talking about their job moves, people are often excited about, say, a 10% increase.
That's why employers expect to be able to get away with anchoring it to your current salary.
They're basically using it as a means to sanity check and calibrate their own assessment.