I've moved up the ranks into middle management, though I insisted that my new title not have the word "manager" in it, so we settled on "Development Team Leader" (though I do require my subordinates to call me, "His Highness", or "Our Beloved Leader", lol).
What's a software developer to do when placed in this precarious position?
I've learned some things in the first month of being a manager, and in typical manager fashion, I'm going to tell you them whether you like it or not.
Learn to skim or speed read.
I thought I used to get lots of email... boy, was I wrong! I probably get about 50 emails a day now that I get CC'd on projects I've haven't even heard about yet. I've learned to quickly skim subjects and the first few paragraphs of an email. If the email doesn't fit these requirements, it gets immediately banished to the pit of Gmail "archives":
Is someone dying? (if so, reply all: "someone dial 911")
Does this require follow-up by me or one of my guys?
Does it contain some bit of knowledge that I might directly require in the immediate future?
Delegate, delegate delegate.
Sure, I could log into the server real quick and make that change, but if I spend the time to gather the credentials and send it to someone else, they'll already have the credentials for the next time a change comes 'round the way.
Make sure you call your team members fun names that tells them that you're still "on their level". Things like, "bud", "champ", "killer", etc. work wonders.
Well, forget all that. Managers are still the same people they were before they got a fancy title and more responsibility. The thing is to try and make your team members like you as much as possible so you can get as much work out of them as possible.
OK, I'm lying about that too. Just reverse everything I said in this point and you'll be good.
Have a system.
I've got a whiteboard where I put all the projects my team is working on and when they're due. That makes it easy to glance up and see what things are assigned to what developer. The tricky part is making sure it stays updated.
The last thing I've learned is that as a software developer moving into the ranks of management, sometimes you need to revert to your "inner coder" and just zone out for an hour or two to get some hardcore programming done. Programming is still my first love; the more I stay connected to logical code the more complete I feel.
If you're a developer that made their way into management (dragged in kicking and screaming...or by other means) please leave some of your own tips in the comments.