* Job jumping is what forces employers to actually recognize performance. That's both for the person leaving and for everyone else left behind.
* Not so much for the company a person leaves or joins, but for the economy as a whole, job jumping IS performance. Your job isn't just being good at whatever you do right now, it's finding and moving to roles that are more useful economically (aka pay more).
Not counting the most dull sweat shops, programmers experienced in the company's code and processes just are like X months/years of salary more valuable on average than everyone else in their hiring pool on average.
I worked on my prior workplace for three years and at the end I worked half as hard for twice the result as in year 1-2. In the first 6 months I got sort of nothing done. I think this applied to other hires too. Is anyone agreeing with this, numbers approximately of course?
The first point is Why do you care? 6m of not producing anything but still getting paid is a problem for the company not you. If there were a way of getting 6m production from you for no salary, they'd do it. They're undervaluing usefulness, but you're over valuing it!
The second point is that too few people move. Why does that matter? Because it explains the companies actions. Imagine If you have 10 employees who could get jobs elsewhere, and you have to pay them all 5k to prevent that happening. But you know 9 of them are not even going to look. So if you do nothing, you'll save 50k but lose 1 employee. Rehiring will mean 6m of lost usefulness of 1 person. So unless the average salary is 100k, you're better off losing 6m worth of work and saving 50k...
If more people moved more often, companies would do more to encourage people to stay. The fact that such a big chunk of the workforce are basically lifers is why companies don't have to value long service...
Instead: being good at doing interviews including "looking the part", being strong negotiators, changing jobs often.
Likewise a OK programmer at their present job is worth maybe half a year to 2 year in salary in company or narrow product specific knowledge, for the company.
The way changing company gives raises doesn't make sense for the company losing an employee. The employee is worth more for the prior employer than the new. And the new employer's present employees are worth more than the new.
Value is what someone will pay, the highest salaries go to those who can get them.