How to be a better Engineering Manager

Spoiler alert: It’s not about you.

Rob Hartsock
7 min readNov 2, 2020

I’ve been asked many times in my career to explain what makes a good, or even a great engineering manager. It’s an answer full of ambiguity because this role, if done right, requires you to make a complete mind shift — especially if you started your career as an individual contributor (IC). In this post I’ll share some thoughts on what I’ve learned over the years through trial and lots of error.

What is an Engineering Manager (EM)?

At it’s core an EM is a people manager of software engineers, however, have you ever seen the job description for one? It’s a healthy (sometimes unhealthy) mix of technical leadership, hands-on coding, product management, project management, architectural design, hiring and the part that really matters: people management. I’ve seen EM roles with a list of responsibilities a mile long, often begging the question how in the hell can I be successful here? Let’s talk about that!

Let go of the code!

Yep, that’s right and yes I know this is a divisive topic. I’ll also admit that it’s easier said than done, but doing it is essential to being the EM your team needs you to be. If you’re doing both the job of an EM and an IC you’re not giving either role the attention they deserve, so you’re ultimately going to fail at both.

Each person on your team needs the space to grow and a large part of growth comes from making mistakes. If you find yourself jumping in the code to fix mistakes, or just to help get a project over the finish line, you’re not allowing your team to learn and grow. Your role, your primary responsibility, is to create a psychologically safe environment for your team where it’s ok to fail. This opens opportunities to stretch your coaching skills, which as an EM you need to be regularly stretching.

I know some of you disagree with this point and I’m not saying you have to throw away all that technical training and education you’ve invested yourself in. Every EM should have been an IC at some point in their career, it’s essential that you understand what your team is doing and the struggles they’re going through. In addition to that, it’s important that you’re there to provide technical leadership on the team, which I’ll cover in just a minute.

Believe me, if you’re embracing all the responsibilities that your role as an EM requires and if you’re doing it well, then you shouldn’t have any time to be in the code.

Leading technically, not technically leading.

Technical leadership doesn’t mean coding and it doesn’t mean telling your team how to write code or how to implement a feature. This is what good technical leadership looks like:

  • Understanding and helping to manage scope.
  • Working with Product and your senior IC’s to ensure requirements are defined and that you’re working to break things down into small, deliverable chunks.
  • Working with your team to decide which role each person is going to play and what they’re going to deliver.
  • Organizing checkins or stand-ups so that you’re fully aware of progress, the needs of the team and blockers — ensuring everything is running smoothly for your team.
  • Managing expectations with Product and other stakeholders.
  • Doing everything you can to remove anything that’s blocking your team.

Being a technical leader is understanding that you’re not the smartest person on the team, but that you are able to recognize who those people are and give them the tools, skills and autonomy to get the job done. You need your IC’s to increase their impact by architecting and owning complex technical problems, problems that have high technical risk or require creative solutions.

Do not put yourself in a position where you’re sitting at the top and requiring your team to run everything by you. Even if you know the answer, don’t give it to them. Your job is to coach them, and knowing the answer gives you a great advantage in doing that. If you don’t know the answer, then trust your team to come up with it. Partner with the senior IC’s on your team to pair, coach and mentor those on your team that are in need.

Build a culture of trust.

If you’ve ever had a boss that you didn’t trust, then you know what it feels like to be led by someone that didn’t have your best interests at heart. Having a culture of distrust on your team not only hinders productivity, but it makes everyone miserable and ultimately causes people to quit. So you know you need trust, but how do you build it with your team? Well, settle in because it’s going to take time and it’s going to take behavioral changes and decisive actions on your part:

Spend time with your team

So, you know those one-on-one’s you’ve got scheduled with each person your team? Guess what? That’s the time you spend learning about your team, understanding what motivates them, their circumstances, backgrounds and the challenges they’re experiencing. Use this time to listen and show each person on your team that you actually care about both their professional and personal growth. Listen. Listen. Listen.

Lead with empathy

Putting yourself in the shoes of another person and genuinely understanding what they’re going through is an essential part of being a great EM. Imagine being able to tailor your coaching strategy to each person on your team, being able to understand the unique needs of each person and resolving conflicts before they even happen. This goes back to spending time with your team, sharing the struggles you’ve experienced with them and witholding judgement. Be fully present with your team, make yourself available to them as much as you possibly can, ensure everyone has the opportunity to share their thoughts, and create a culture and practice of constant feedback.

Be vulnerable

It’s ok to fail and it’s ok to not have all the answers, your team doesn’t expect you to know everything. In fact, your team is expecting you to come clean when you’ve failed, or when you don’t know something. They expect you to allow them the space to do their job and make tough decisions. Being vulnerable is human, perhaps one of the most human things we can be and when you’re vulnerable it enables your team to feel like they can relate to you.

Lead with intent.

Anyone that knows me, knows that I’m a big fan of intent-based leadership. Essentially this means you’re giving control, autonomy and the decision making capability to the people closest to the problems. As an EM you want everyone on your team to understand how they fit into the team and the organization as a whole. You want them to feel inspired, you want them to be motivated and you want them to take responsibility for their career paths. This leadership philosophy, when employed, can dramatically shift and improve how you and your team function together. This is a topic that can take days, weeks and even months to discuss and learn, but here are a couple of key takeaways:

Change your language

Ask your team to tell you what they “intend to do”, rather than asking permission to do it. Your goal as an EM is to create leaders on your team and this simple change in language will start you down that path. Always resist the urge to provide immediate solutions and/or give commands. Other examples include asking:

  • “What would you do if you were me?”
  • “If this were the end of the sprint, what would you have hoped to have done today?”
  • “How might you break that down into smaller, more deliverable pieces?”

Emancipate your team, don’t empower them

Empowerment is a passive process, while emancipation is an active one. As an effective EM you should be able to recognize the strengths of each person on your team and allowing them to use said strengths. Give your team the authority to make not only the day-to-day decisions, but also the really tough ones.

You’ll know you have an emancipated team when they no longer need you and that is your ultimate goal. I know that may sound counterintuitive, like you’re basically leading yourself out of a job and essentially you are. Once you have your team to the point that they no longer need you, then you can begin to look at your own career path and opportunities to advance. Once you’ve built a team of leaders, you no longer need to lead them.

Wrapping up.

It takes time to become a good EM, even longer to become a great one. You should also recognize that sometimes it’s going to feel like you’re pulling off a long con, putting in all this time and effort and not seeing results. IC’s often get immediate results and satisfaction and EM’s have a delayed fuse. It takes care and time to see your hard work pay off, but rest assured it will when you see the folx on your team grow in their skillsets, in their careers and level up because of the leadership you’ve provided.

Finally, you wanna know the difference between a good EM and a great one? Good EM’s give good directions, great EM’s don’t give directions at all because they’ve created a team of leaders that don’t need to be told what to do. Be that EM.

--

--

Rob Hartsock

Senior Engineering Manager @ CircleCI | Intent-based Leadership | People before code.