>Don't promote people upwards unless they are willing and already working at this level. Give them a simple raise instead.
I don't disagree, but I don't think there's anything simple about the process at all.
1. this obviously works against the company's interests, if they assume the employee is satisfied. short term business sense says they want to get away with paying as little as possible for labor, whereas employees want to be paid as much as possible. It's an eternal tug of war. And to be honest, one the tech sector has relative advantage over compared to other industries.
2. Even if we get over this short term block, figuring out how to give "merit based" raises can get very tricky, very fast. Especially if you leave the onus to not the developer, but to the manager's perception of the developer to determine.
This not only has bias on how much they/the company values a project (e.g. would working on a "simple" adtech feature be worth more than the labor overhauling a failing product to fail less? The ad product makes the company more money after all). But on their bias as a person. Would Manager give Bob a bigger raise because he goes to Karaoke on Thursday with the company, over John who has to get back to his family after work? Worse yet, would Manager implictly give Janet not a different raise than Bob due to subconcious sexism and not actually doing more work (be it preferential towards or against Janet)?
It's a whole mess, which is why companies try to objectify the whole thing. At least there, there is no room bias outside of who can pitch themselves better (if we assume equal work done).
3. Even if we arrange all of the above, raises aren't typically something a direct manager has easy access oo. It involves several lines of commands to appeal to and approval, beholden to a bunch of budget issues beyond a typical manager's control. Even if they truly want to compensate properly, the company itself may simply decide that they'd rather take chances hiring someone new when/if they need to maintain a potential void, over potentially compensating someone who was
I think the 3rd point is an interesting quandry since it goes against the usual mantra of "People leave managers, not companies".