> 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.
I hate this issue, and see it occur in so many companies. Why are we so opposed to simply paying more/increasing benefits of people at the same level? Why can't an "regular" Engineer just get a large raise for being an amazing Engineer, because that's what you need! Instead, they need to be come a "Senior" Engineer who also has some kind of other management-type job that they suck at.
Yea this is maddening. “We can’t pay you anymore because The Book [1] says we can only pay people at your level from $X to $Y and you’re at Y. We can’t promote you because you are at the highest individual contributor level. And we cant make you a manager because you’re on a 2 person team and there is nobody to manage.”
“OK So I guess I need to leave.”
“Why oh why can’t we retain our talent????”
So ridiculous. You need an IC career track that is rewarding and achievable.
1: yes, they actually pointed to a physical book that described some industry standard of what software engineers must be paid.
I hate this issue, and see it occur in so many companies. Why are we so opposed to simply paying more/increasing benefits of people at the same level? Why can't an "regular" Engineer just get a large raise for being an amazing Engineer, because that's what you need! Instead, they need to be come a "Senior" Engineer who also has some kind of other management-type job that they suck at.