As an engineering manager, you have a great responsibility: it is your job to make sure that the team produces great software and that they continue doing so over time. But how? Here I have gathered a few posts that may be of help to you as a manager to think more systematically on how to be a manager.
Making great software is easy, you just bring together the right people, give them the right tools, facilitate the right ways to work, and then just carefully adjust if they get out of course, but mainly get out of their way…! There are many ways a team can build great software, and there are even more ways to make sure velocity is low, everybody is miserable, and the customers are unhappy.
1. At the core of my beliefs on good software engineering is the need for a properly cared for and managed backlog. It doesn’t matter if you use post-it notes, a wiki page, or Jira or another system, the backlog is the shared list of things that the team should work on. Most teams refer to a long list of bugs, feature requests, suggestions, and other tickets as their backlog. However, when I talk about the backlog, it is the items that have been picked as things that the team actually will work on. It’s great to have a way to manage all the things that come in from various sources, so they can be processed and guide the priorities. However, the backlog must be separate! In my 2015 post on the backlog, I explore more in detail why the backlog is so important. I also discuss what I there call product owner, but more generically is called the backlog owner. A senior, well-functioning team can own the backlog together, but in 95% of the teams out there, they will be more productive if one person owns the backlog.
2. Engineering management is a special discipline within management. However, where do you go to learn how to become a good engineering manager? An engineering MBA? An engineering leadership program? In my Wanted: a New Set of Engineering Leadership Skills, I explored the need for re-inventing engineering leadership in the context of new devops processes. This particular posted gained traction on Medium and was published to the Startup publication.
3. With the premise that the backlog is key to team performance, I then further explored a practical approach to engineering leadership that involves four key roles: the developer, backlog owner, the architect, and the manager. As another Startup publication article on Medium, this article was read more than 1,700 times as of July 2020.
4. As engineering managers grow and become more senior, my expectation is that they are able to move effortlessly between different roles, as well as coach more junior engineers. In The Hunt for the Perfect Engineering Manager, I explored in more detail how developing various skills are essential to building well-rounded engineering managers. In essence, a perfect engineering manager will over time become the perfect CTO.