> ...as you move up, you inevitably end up managing/mentoring younger devs (unless you have terrible people skills or something), meaning you spend less time actually coding...
You can somewhat mitigate this if you want to still keep your hands in the code by finding the intersections of two or more tech stacks that take two or more others to even approach. The inevitable impedance mismatch between say two stacks means that one person familiar with both is usually far more effective than two people who have to feel their way through the mismatch.
As a senior in this position, you often get to do the "fun" parts of throwing together a proof of concept, validate your mental model of the impedance mismatch, outline the details to iron out (usually known-complexity work like documenting, hooking up to various plumbing for unit testing, tracing, logging, monitoring, internationalization, etc.), and go on to the next fire to help put out.
You can somewhat mitigate this if you want to still keep your hands in the code by finding the intersections of two or more tech stacks that take two or more others to even approach. The inevitable impedance mismatch between say two stacks means that one person familiar with both is usually far more effective than two people who have to feel their way through the mismatch.
As a senior in this position, you often get to do the "fun" parts of throwing together a proof of concept, validate your mental model of the impedance mismatch, outline the details to iron out (usually known-complexity work like documenting, hooking up to various plumbing for unit testing, tracing, logging, monitoring, internationalization, etc.), and go on to the next fire to help put out.