At my ripe old age one might expect me to give up programming and focus more on management. Which I do, if informally. But I have never seen the need to put aside programming in order to manage.
Good programmers inevitably end up promoted into a management role. It’s a hard role: the demands on one’s time, and the sources of one’s satisfaction, change dramatically.
Too often, this means that one no longer writes production code. Such a view is easy to rationalize: I’ve got a staff of good programmers and it is an ineffective use of my time, as a manager, to do the same. I don’t scale.
While this sounds good in theory, I think it’s a disaster in practice. In a technology firm, code is the currency and lingua franca. To abstain from programming is to diminish one’s ability to communicate.
Imagine one were to rationalize becoming a worse writer, because one becomes management. Fluency in language — computer or human — can only work to your favor.
It’s also a means of self-preservation, if you’re anything like me. Seeing code run successfully — watching my little logical machines responding to users — is a great source of satisfaction. Maybe it can be replaced with another source. But don’t underestimate the effect of losing those little everyday rewards.