Upside-down engineering management
Managers, by definition, are caught in the middle—reporting to the senior management or executives above, and responsible for directing the contributors (or other managers) below. Conventional wisdom suggests that the former are more important than the latter. They pay your salary, evaluate your performance, and generally tell you what you should be doing.
It’s actually the other way around.
When tech companies hire managers, it’s almost always with growth in mind. They’re looking for someone who can attract and retain top talent. Strange as it may sound, actual “management” is only a secondary concern.
Therefore, the best way to be successful as a manager, in the long term, is for people to love working for you. You will get amazing results. They might not be exactly what the people above you asked for, but that's where your skill is required—show that it's better and that they can trust you and your team more than they thought.
Your career is an opportunity to build a group of people who will follow you anywhere, thus making you very valuable yourself. Getting people to love working for you, while still making senior decision-makers happy, is a non-trivial skill, and requires a lot of study and practice. (You’ll make mistakes.)
Here are some ways to earn the loyalty and trust of your team:
Let them grow
Talented people love to try new things. Let developers try a new language or platform (Erlang? Node.js?) for their next project. Let them design a new feature themselves, rather than being handed a spec. Put them in direct contact with customers. Different things will appeal to different people, but everyone wants to learn.
Be humble, and ask your team how you could do your job better. This requires an open, trusting relationship, so do everything you can to nurture that as well. If people trust you, they will not see this as an opportunity to take advantage of you. They will respect you for trying to improve.
Fight for them
Show that you advocate their interests throughout the company, whether it’s in terms of compensation, strategy, or culture.
The worst time to try to get someone a raise, promotion, or new responsibilities is when they threaten to leave. Don’t let it get to that point.
Treat your team like the precious resource that they are, and you will be rewarded in the long run.