* assisting management and product with scoping and prioritizing work
* the ability to put your head down and crank out a solution to something in code simply because it needs done and you can do it better and/or faster than others
* laying the framework of a greenfield project, maybe sketching out the codebase or POC for juniors to take and run with
* ...and so on and so forth.
A single person may be able to contribute all these things to a team over a time frame of multiple years, but in a 3 or 6 month time frame, most mortal engineers could only contribute two or three.
"Write great code to build stuff" is still a core part of the job.
But it doesn't really enable anyone else on the team, other than providing a model of well-structured code to follow - and most people's code is really not as great as they think it is.
I'd rather have a team of average coders who do things to enable and better each other and the team over a team reliant on a great coder or two who can't or refuses to enable anyone else.
This can mean a ton of things, which cannot all be served by a single senior+ engineer:
* mentorship
* seeking out, establishing, and evangelizing best practices, and not just coding best practices: architecture, documentation, testing, ci/cd etc
* high-level architecture knowledge and experience
* evaluating technology choices: tooling, databases, orchestration platforms, etc etc
* assisting management and product with scoping and prioritizing work
* the ability to put your head down and crank out a solution to something in code simply because it needs done and you can do it better and/or faster than others
* laying the framework of a greenfield project, maybe sketching out the codebase or POC for juniors to take and run with
* ...and so on and so forth.
A single person may be able to contribute all these things to a team over a time frame of multiple years, but in a 3 or 6 month time frame, most mortal engineers could only contribute two or three.