* Creating the right environment for teams to do their best (See book Leading Teams below).
* Being skillful at challenging pre-conceptions.
* Coaching people and teams to work in the most effective way.
* Communicate, communicate, communicate.
* Hiring people who are smarter than you.
* And, a difficult one, having honest 1-to-1 with people when they are not delivering to know what is going on in their lives and, in the worst case, to help them go (aka fire/made redundant).
My favourites resources are:
* Turn the Ship Around by David Marquet
* The Five Dysfunctions of a Team by Patrick Lencioni
* Leading Teams by Richard Hackman
* The Goal by Eliyahu Goldratt
I'm not a manager (I don't like managing people), but I've been working for ~13 years coaching engineer managers, tech leads and engineers. You have to let the baby go so the people you hired (which should be smarter than you!) can do their job. Obviously if you see something that is wrong, by all means raise it, but be careful that it's not one of your own pre-conceptions!