How much coding should a manager do?
In my day job we use Slack as a key communication tool - for those who haven't used it, it's basically a corporate version of IRC with good UX. In a private channel for those in leadership positions, there was a question about how to transition from Software Engineer to Engineering Manager; what to consider when moving from a predominantly individual contributor (IC) specialisation to a team management focused role.
My reply got an upvote from about 10% of the channel, so thought it a good start for my first blog post on the subject of management*:
Q: How much coding responsibility is it wise to take on as a manager? How much time do you spend on the doing as opposed to the planning?
A: I like to think of the role of an Engineering Manager as sitting somewhere on the sliding scale between pure management (no coding) and pure IC (no management). Engineering Managers and Principal Engineers both have some people management, and some technical work. We choose to a certain extent the balance between the two. There's therefore no right answer as to how much you should be doing - a lot is down to personal preference.
During my management mentoring,
Engineering Managers' main focus and responsibility is successfully solving business problems as part of a team. The role you take within that team, and how much coding you can do, very much depends on the team itself. From working for
TL;DR - the amount of coding you do is part personal preference, but more important is how much the team needs you to do (and that might be none, or close to none).
*management: small postscript because it's been a while
After becoming an engineering manager, I pretty much stopped blogging. Partly I've been finding more fun things to do with my time but also I believed I had less that was worthy of sharing. I've been doing small programming projects and having random thoughts about software development for years, but management... I've only been doing that for a couple of years.
Even though I generally believe, "There's nothing new under the sun." and most things are repeating patterns, it's still worth writing down your viewpoint because it may well not be new, but others might not have heard it.
To be clear on what "management" is, I saw little of it at the companies I worked for within the financial services industry. There the team lead, or manager, was usually the most senior (longest serving) programmer. They did the biggest architectural software changes, had an eye a little further ahead on the project roadmap, and had a couple of extra meetings to catch up with direct reports every now and then. But they were essentially still software engineers 90% of the time and not managers. They had no significant training in motivating and developing people, delegation, providing feedback, supporting teams and individuals through change, coaching, conflict resolution, understanding team dynamics - just some of the many elements that a good manager should be able to deliver. I'm still learning, and trying to ensure I am a good manager, but I feel comfortable enough to begin blogging about it.