Staff eng's are often reminded if they're coding "too much" that they're probably Doing It Wrong and not maximizing impact and should have broken the task up into smaller chunks and distributed them among the team.
The companies that have such codified structures of "what it means to perform at a level" don't understand engineering. They don't understand that people at levels could be asked to move across the spectrum of tasks and might need to do different things at different stages of projects for the company.
E.g. if the company needs to improve reliability in the next six months, and your staff/senior engineer has a quick fix, let them fix it quickly . Stop asking them to produce docs, Jira tickets, distribute it all across other engineers etc.
Perverse incentives are a management problem. Don't make engineers do "things at their level".
Agree. Staff/principal level engs should be seen as people with broad responsibility who have unilateral authority to do what's necessary to keep things moving.
It's much bigger than simply decomposing tasks and pairing with juniors all day to get them unstuck.
Same for senior level and mid level. There needs to be less "demonstration of work" that fits the career ladder document but more autonomous work that provides value. That's it.
As an example, if a senior engineer spent last 3 months trying to fix dev environment issues at the expense of RFCs, commits, bug fixes (but at the direction of management) - This is fine and should be recognized.
Recognizing only activities enumerated in some BS levels document is a fools errand that fails to recognize that different stages of different teams and different projects may require different behaviors.
Comments
The companies that have such codified structures of "what it means to perform at a level" don't understand engineering. They don't understand that people at levels could be asked to move across the spectrum of tasks and might need to do different things at different stages of projects for the company.
E.g. if the company needs to improve reliability in the next six months, and your staff/senior engineer has a quick fix, let them fix it quickly . Stop asking them to produce docs, Jira tickets, distribute it all across other engineers etc.
Perverse incentives are a management problem. Don't make engineers do "things at their level".
Agree. Staff/principal level engs should be seen as people with broad responsibility who have unilateral authority to do what's necessary to keep things moving.
It's much bigger than simply decomposing tasks and pairing with juniors all day to get them unstuck.
Same for senior level and mid level. There needs to be less "demonstration of work" that fits the career ladder document but more autonomous work that provides value. That's it.
As an example, if a senior engineer spent last 3 months trying to fix dev environment issues at the expense of RFCs, commits, bug fixes (but at the direction of management) - This is fine and should be recognized.
Recognizing only activities enumerated in some BS levels document is a fools errand that fails to recognize that different stages of different teams and different projects may require different behaviors.