- Expanding on op here, senior software engineer isn't one who is doing more junior work: It is pretty much a different job profile. You are making higher order decisions.
- Promotions come with a lot of timing as well: Honestly talent evens out after a bit and luck/timing/inter-personal skills tend to take over. I have seen excellent code bases that nobody cared about. I have seen a lot of pretty crap code generate billions of dollars (and trickle down to the devs as money/levels).
- Re: Reorgs: life is mostly unfair. I heard this in an ad and it stuck, 'we lose more than we win'. I am surprised you stuck with that manager/team for that long though. Career is a lot about making the right bets in terms of companies / managers / teams as well. I have had reorgs affect me negatively and positively (they shutdown the project and promoted me anyway - a long time ago in ms), so there might be some survivorship bias here. I guess I do try to project every situation into what the protagonist could've done better instead of sympathizing :/.
In an ideal world, we will have people who can grow (and make more money / level etc) in both dimensions: Vertically in terms of responsibilities and horizontally in terms of quantity of same level work / team dynamics etc. In practice we have a system pretty much everywhere where growth is defined solely vertical. This leads to a ton of actual problems too: You get a person really really good at coding / execution but shit in big picture thinking / broad system design choices / cross team work etc. spend a bunch of time in a level. Now you have to either promote him into a spot where s/he will fail OR lose em to attrition. Either choice tends to break.
A quick note since I have seen some people change / grow / learn in these unsuitable positions against odds: All these actions have a probability function in they way they work out. so take my points here about eventualities of various promos with a pinch of salt. Some do end up working out and these anecdotal statements obviously don't apply there. I do know whenever we choose to push / recommend a promo, we definitely are hoping for it to work out though :)