In May 2016, I was offered the chance to manage the Twitter Dashboard team. This was my first opportunity to manage engineers and I was very conflicted about switching over from a SWE to an EM. As a software engineer, you are generally only responsible for the trajectory of your own career. As an engineering manager, you have a large potential impact on the careers and even lives of all the people you manage. Ultimately I decided to take the opportunity but that I was obligated to do the work to improve my skills to be the best manager I could be.

Managing engineers is itself a skill, and one that is incredibly difficult to cultivate unless you are already managing a team. There’s no shortage of writing about ways to improve programming skills, but I found it difficult to gather good advice on learning to manage teams. So I’m listing the resources which I found useful and hope to update this list as I find more. This isn’t to say that I applied all of the advice given, but the perspectives were important as I developed my own approach.

  • Pmarca Guide to Career Planning. Marc Andreessen took down his blog a while ago so some of these posts feel a little dated. That being said, I found the career planning series very valuable. I certainly hadn’t planned my career with much fidelity and from what I can tell, few engineers really do. But coming up with a long-term plan and helping your reports implement it (even if your team / company is only a small slice of that plan) is extraordinarily rewarding.
  • Liz Wiseman: Diminisher vs. Multiplier. This video was part of Twitter’s new manager training class. There’s a larger framework (and probably books, videos, and seminars to buy) but much of the gist is available via YouTube. I really like the contrast between the diminishing mindset of “People won’t figure it out without me” vs. the multiplying mindset of “People are smart and will figure it out”.