I do wonder about the wisdom of this up or out (to some level usually) some times. For example, you can’t be SDE I at Amazon for 10 years. But why not? If I’m doing a good job as a SDE I, I’m happy with the job and pay and just want to keep doing it what’s the problem?
It's really expensive to hire at that level of seniority - even if the salary is the same once they start, it also takes a lot of time and money to get them to that point.
It’s hard to manage mediocre performers. Low performers you get rid of, and probably no one is too upset because even if they were well liked everyone recognizes that you can’t keep around low performers. High performers are obviously not an issue. But for mediocre performers, you risk the boiling frog where they slowly edge towards low performance but it’s hard to point to anything specific. And by sticking around forever they make a lot of allies and become increasingly hard to get rid of.
What about high performers that don't want to move up? I've known a few really good engineers that just don't want a lot of stress and don't care that much about the extra pay. They just want to do their work well at the level they are at and get paid.
I'm considered "senior" but the work in the last half of my career has certainly been more intense than the first half. Sometimes I think it'd be nice to go "back" a few steps to a job that I'm certainly very comfortable doing without too much effort and get paid decently well.
I worked at a place with long tenured people who stick around forever. Worked great and saved money, but when they retired the business was pretty screwed.
You always have to bet on management being long term dumb, so processes need to be setup to maximize short term risk for management. No modern manager gives a shit about a high impact risk 5 years from now; if you’re lucky they may care about next year.
That’s definitely a downside to an up or out system. In other industries there’s a “mommy track” that allows for stepping back without stepping out but I don’t know of anything like that in tech.
For the military... not really. They have a concept called “high year of tenure” which limits how long a soldier can remain in a rank without being promoted. You are meant to advance and if you don’t advance you will be separated out.
For example if you join the Army as a specialist (E4) you have 8 years to get promoted or you’re essentially kicked out.
It would be the same thing if promotions weren’t so ludicrous. If you are an enlisted and want to get a promotion your best bet is to max your PT scores. It really has nothing to do with your ability to do a job at all.
Usually there’s a title standard at a particular band. A principal engineer is not just performing tasks for example, they are providing engineering/technical leadership.
Junior/Normal/senior is a change in rank or function. It makes sense to provide salary steps with respect to tenure, but not changes in duties.