As a manager, say I do hire a junior developer, invest time into them and they level up. I go to the HR department and tell them that they deserve a 30% raise to bring them inline with the other mid level developers.
The HR department is going to say that’s out of policy and then the developer jumps ship.
The tragedy of the commons in a nutshell. Maybe everyone should invest in junior developers so that everyone has mid-level developers to poach later?
There's no doubt about it, there's selfish reasons to teach, mentor, and have a junior under you. We're social creatures. It should be no surprise that what's good for the group is usually good for yourself too. It's kinda as if we were evolutionarily designed to be this way or something ¯\_(ツ)_/¯
Everyone says they don't have time, but you get a lot of time by doing things right instead of doing things twice. And honestly, we're doing it a lot more than twice.
I just don't understand why we're so ready and willing to toss away a skill that allowed us to become the most successful creature on the planet: forethought. It's not just in coding but we're doing it everywhere. Maybe we're just overloaded but you need forethought to fix that, not progressively going fast for the sake of going fast
Even there people get better offers coming in externally than they do an internal promotion.
On a related note, it was also easier coming in as an L6 (senior) than it was to get promoted from an L5 to an L6.
If you work for a company like this, you should jump ship.
On an unrelated note: it’s also easier to get “promoted” to the next level by changing jobs and then coming back than it is to go through the internal promo process at the same BigTech company.