A Checklist For First-Time Engineering Managers

Becoming an engineering manager for the first time can feel lonely. It's how I felt - and other engineering managers I've talked with confessed the same feeling on transitioning from engineer to manager.

The most visible change in moving to management is you get a lot less feedback. When you're an engineer, you get feedback on your code, on your design documents, or how your projects are going. As a manager, you have none of this. There are also often no clear and specific expectations of what you should be doing in this role.

I wanted to make the path to becoming a new manager "easier", and so I created a "checklist" that I wish I had when starting out as a new EM. At Uber, we had an Apprentice Engineering Management program in place, a structured way to help senior and above engineers transition into the engineering manager role. When the first engineer on my team entered this problem, I thought back at what I could have used as help when I became a manager.

Part of my new manager checklist. View the whole checklist here.

I noticed the many parallels between an engineer managing a project the first time and a new manager starting to manage a team. In either case, they've not done this work before: and an opinionated list can prove much more helpful than general advice.

The expectations checklist I created was opinionated and specific to the role at Uber and on my team. I aimed to craft the checklist items to specify the output but leave the "how" to the engineering manager. You can view the complete checklist here.

We would first discuss if the points made sense, tweak it, then check-in regularly on their progress. My goal was to narrow the seemingly endless task of "be a good engineering manager" down to something manageable.

The expectations are split into these areas:

  • Team building and teaching. Build trust on the team, execute on hiring (if they have headcount), and develop people on their team.
  • Deliver results. Ensure the team has a structure to execute on, get things done, and keep a high quality bar.
  • Collaborate and connect. Keep an open communications channel with the team, connect people and teams, and run good meetings.
  • Vision. Ensure the team has a purpose and collect team values. Involve the team in planning for what the team will do.
  • Professional growth. Keep growing as a person: set their own goals, work with a mentor, network with peers and give back.

The feedback for this approach has been overwhelmingly positive. The first-time manager on my team said this checklist made a huge difference in their focus and confidence. They said the list gave them a much-needed structure. This manager has also gone to become an excellent one, as confirmed by their team, their stakeholders, and by their manager - me!

Other managers in the organization started to use the checklist, tailoring it for their needs. Other managers gave similar feedback in how it provided something "concrete" in this fuzzy world of management.

My advice in using this checklist is this: don't blindly copy it: but customize it. Start by defining what a competent engineering manager looks like in your organization. Then, working backward, come up with outcomes that can prove that someone is demonstrating this competence.

Try not to define exactly how the engineering manager should go about doing something. That's micromanaging: unless you have a good reason to do so, I'd advise avoiding it. Instead, define what result you'd like to see. You'll see how much of the expectations in this document leave interpretation open to the new manager.

Don't forget that first-time managers need just as much support as first-time project leads and first-time engineers do. As a manager to a first-time engineering manager, investing your time to help these managers succeed is one of the highest leverage activities you can do.

Gergely Orosz

Taking a break to write books on software engineering - before starting a startup. Previously at Uber, Microsoft, Skype, Skyscanner & JPMorgan.

Amsterdam, Netherlands