I found that losing touch with the code is disastrous - one cannot make sensible decisions without a familiarity. I need to know how difficult it's getting to write tests and get features done if I'm to make decisions about how to simplify everything for other developers. I have to understand what's possible.
I also cannot really review code well in a PR - it's meaningless until I've worked on that code and thought "oh #$%#$%, we can't do this like this.....!!"
So the decision part of management is just not possible without some time programming. I like to do refactoring - esp of tests and bits of code where I know that people have been in a rush and done a bit too much copy/pasting. I try to make log messages more useful, simplify things that I realise can be simplified. I write scripts to make annoying bits of work trivial so other developers have an easier time. I try to punch through problems with debugging or development.
Some management tasks soak up energy:
* hiring is one. I'm new to it and I am only beginning to have ideas about how to do it more efficiently. I wanted to get my team to help choose people but this ends up taking far too long to arrange. I realise I need to man up and do more of the initial choosing and present them with a limited choice at the end - I want people who will work well with everyone else. No arseholes, however good they might be.
* helping people get their tickets done - which is good work and always worthwhile but to do it well you do need to understand the codebase a bit.
* meetings about future features...which are incredibly inefficient because they're about getting everyone to understand what is wanted and trying to imagine an acceptably rapid way of doing it that will also fit in with other plans. This is very inefficient because people talk a great length then forget and have to understand it all again weeks later. On the other hand, doing work where everyone has a different understanding of what's needed is a deadly problem, so the horrendous hashing-things-out sessions generally pay off in the end. I just wish there was a better way.