"People Who Make Software Happen (you may know them as “programmers”) should have the option to progress their careers without leaving the code face."
I was promoted to CTO of a quickly growing company some years back. At some point I had so many offsites, strategy workshops and generally low value meetings (that the other C levels loved), that I got somewhat out of touch with what's actually going on in the code base and with the people. I was both frustrated and ineffective. Ever since I've made sure I spend roughly half my time in a CTO role reviewing/writing code or pairing.
It's not about all good programmers being managers, though they should be given the opportunity if they want it. It's about all (technical) managers being decent programmers.