AFAIK in US is typical to change SWE job every few years (those 2-3 years indeed). Those who succeed in doing this consistently (I'm not implying one should, or not) ganerally end up with a high salary, a higher position, and more satisfaction (assuming that change give them satisfaction).
Parent's observation may be a reasonable explanation when looked into context - the time to move on arrives after 2-3 years, and if there's no strong incentive, devs will start to feal uneasy, and move on.
You've got it the wrong way around: usually companies have decided for whatever classist reasons that they have some kind of maximum raise per year. This ensures that after a few years people who are actually getting better at their jobs are falling quickly far below market rate for their level of experience. So, those that feel like they can move on, since it is the only possibility for increasing their pay meaningfully.
This is not specific to engineering positions, it is a pretty common fixed policy in many industries.
Anecdotally, all the devs I personally know who hopped around like this did so because promotions/compensation were stalled out at their current job. Almost all of them would have stuck around if offered competitive titles and compensation, but they were often being paid 25-50% less than they would be as a newhire at the same company.
This has been the case for most orgs I've been at, I tend to tie it to poorly managed growth and planning.
it's shocking the number of developers I've seen left standed in their carrer progression (to quit eventully) due to overhiring and ending up siloed away somewhere
but I guess that's just kind of the way it goes working for other people though
> Parent's observation may be a reasonable explanation when looked into context - the time to move on arrives after 2-3 years, and if there's no strong incentive, devs will start to feal uneasy, and move on.
This is like saying, "Making people drive slower will reduce total number of accidents. So lets just reduce all speed limits to 25 miles an hour. It's only the obvious solution right?".
This kind of lazy thinking is called incompetence, because finding really good balanced solutions is actually work. This work involves observing problems, understanding root causes, piloting and experimenting, bringing other mangers, skips and CXOs into alignment, executing retention deftly while keeping reports happy. But this is too much work for managers (but of course too much work for engineers is never too much work).
What a joke! No wonder SWEs complain so much about management.
Just as an aside: one of the best one can do in terms of policy is to lower speed limits to reduce accidents; it's proven to be very effective in countries like Finland. Far from the only, but one that requires zero changes to existing infrastructure other than changing signs.
AFAIK in US is typical to change SWE job every few years (those 2-3 years indeed). Those who succeed in doing this consistently (I'm not implying one should, or not) ganerally end up with a high salary, a higher position, and more satisfaction (assuming that change give them satisfaction).
Parent's observation may be a reasonable explanation when looked into context - the time to move on arrives after 2-3 years, and if there's no strong incentive, devs will start to feal uneasy, and move on.