Book Image

Engineering Manager's Handbook

By : Morgan Evans
Book Image

Engineering Manager's Handbook

By: Morgan Evans

Overview of this book

Delightful and customer-centric digital products have become an expectation in the world of business. Engineering managers are uniquely positioned to impact the success of these products and the software systems that power them. Skillful managers guide their teams and companies to develop functional and maintainable systems. This book helps you find your footing as an engineering manager, develop your leadership style, balance your time between engineering and managing, build successful engineering teams in different settings, and work within constraints without sacrificing technical standards or team empathy. You’ll learn practical techniques for establishing trust, developing beneficial habits, and creating a cohesive and high-performing engineering team. You’ll discover effective strategies to guide and contribute to your team’s efforts, facilitating productivity and collaboration. By the end of this book, you’ll have the tools and knowledge necessary to thrive as an engineering manager. Whether you’re just starting out in your role or seeking to enhance your leadership capabilities, this handbook will empower you to make a lasting impact and drive success in your organization.
Table of Contents (24 chapters)
1
Part 1: The Case for Engineering Management
5
Part 2: Engineering
9
Part 3: Managing
15
Part 4: Transitioning
19
Part 5: Long-Term Strategies

How do engineering managers spend their day?

No two engineering managers are likely to spend their time in the same way because the work is both contextual and personal. It is contextual because expectations can be vastly different in different settings. If you are a manager at a company with 10 engineers, it will be very different from being a manager at a company with 100 engineers, and that will be very different from being a manager at a company with 10,000 engineers. Similarly, your work will vary depending on your company’s industry, leadership, growth stage, maturity, project, and supporting roles. These contextual factors combine in different ways to make every engineering manager’s job unique.

An engineering manager’s job is personal because individual skills and leanings vary. The technical background you bring to bear, your organizational skills, leadership style, personality, interests, influences, and beliefs will all play a role in the leader you become.

This means that successive managers of the same team are likely to have distinct approaches to their work, and your approach may change greatly from one position to the next. In this way, engineering management is as much an art as a science.

So, how do engineering managers know how to spend their day if there is no consistent approach? In this section, we will answer this question and teach you how to make these decisions for yourself like an experienced manager by going through the following steps:

  • Start by asking
  • Determine relative importance
  • Fill in the gaps
  • Be a translator

There may be many approaches to engineering management, but you should always start by asking!

Start by asking

As you start planning your days in a new position as an engineering manager, set yourself up for success by confirming the expectations of your leadership, peers, and team. Just as new engineers can deepen their understanding and progress more quickly by asking plenty of questions, curiosity can be even more critical to your success as an engineering manager.

Maybe you have a job description that clearly spells out the expectations of your position. If you don’t have one, ask for it. Now is a great time to make sure you have read over this in its entirety and understand every point. Sit down with your manager and ask them the following questions:

  • Should I take this job description literally or do you have another view?
  • Can you clarify [points I have questions about]?
  • I understand these items to mean [this]; would you agree with my assessment?
  • In your view, what aspects of this are most important to my success in this position?
  • Is there anything important to you that is not included here?
  • How do you recommend I spend my day?
  • Do you have any specific goals for me in my first week/month/six months?
  • What do you see as the biggest challenges for my team to overcome?

Sometimes it can feel intimidating to drill your manager with questions, but they are there to help you be successful and will generally be happy to oblige. Set the stage by doing this in a one-on-one or by scheduling time specifically for a manager orientation session with them. You can say, “I’d like to make sure I fully understand your expectations of me in this position, so I have a list of questions. I would appreciate it if we can go through these together.

Theme – connection

Careful language is a powerful means of developing a connection with others. The ability to connect with those around you makes you relatable and helps others to view you with empathy and trust since they understand where you are coming from. Without sufficient time spent on connection, you may be distrusted, misunderstood, or viewed as out of touch. Connect with your engineers and those around you through your words, your writing, your reactions, and your sense of humor. Making strong connections involves a flow in both directions where you seek to understand others as much as you seek for them to understand you (see “Habit 5” from The 7 Habits of Highly Effective People: https://www.franklincovey.com/habit-5/). A mastery of connection allows you to influence those over which you have no real authority.

After touching base with your manager, it’s a good idea to cast a wider net in your survey of expectations. Devote some time to inquiring about what your team would like from you day to day. Use the change in leadership as a reset to ask natural questions about what they enjoyed about previous managers and what they wished they had more or less of. Add in any questions about their expectations and history specific to your context. It’s a good idea to make your intentions clear by saying directly, “I’m coming up to speed here and I want to make sure I understand your expectations of me, any agreements you may have discussed with past managers, and any immediate frustrations or blockers you may have. I’m here to support you and I’d like to start by gaining an understanding of where you are today.” Be wary of making promises at this stage since you don’t want to commit to anything you aren’t 100% sure you can deliver.

If you work with product and design teams, set up some time with them individually to connect and start a dialogue by asking whether there is anything not outlined in your product responsibilities documentation that they are expecting from you. Ask similar questions on what they have appreciated about previous engineering managers and what they wished they had more or less of.

Plan for similar conversations with any other teams, partners, and stakeholders you expect to be working with. This could be analytics, quality or site reliability, infrastructure, business development, or many others. You may check in with your manager and ask who they think is worthwhile for you to connect with.

As you go through these expectation-surveying conversations, be particularly wary of commitments and overcommitments. Some may see a change in leadership and your enthusiasm as an opportunity to pile an unrealistic or self-serving wish list on you. Gather information, but resist the urge to appease everyone on day one. Aside from any serious HR-level misconduct, the right number of commitments to make at this stage is zero.

If your company has a strong memo culture, you may be able to save some time by sending out your questions in a written format. Even if you do that, it’s helpful to do a bit of relationship-building and have a quick chat to ask any follow-up questions you may have.

Try to wrap up these conversations within a few weeks. By the time you finish your expectation survey, you will have a good idea of what everyone else expects from your time. Now, you can decide what you think about that. The purpose of gathering expectations is not so that you can blindly serve everything that everyone wants from you, but instead to raise your awareness. Your goal is to determine which expectations are duties you must fulfill and which need to be managed and adjusted.

Determine relative importance

So far in this section, we have learned how to survey others’ expectations, and earlier in the chapter, we learned about the four activities we may divide our time across. Now, you can combine these sources to gain an idea of how you want to spend your day.

Take a look over your notes from the expectations survey you conducted. Looking at your notes through the lens of the four activities, does anything jump out immediately? Your manager may have had a clear emphasis on engineering, managing, transitioning, or some combination of these. Cross-functional peers often focus on engineering activities but sometimes highlight managing. Your engineering team is likely to focus on the management aspects of your role. Take note if the expectations across these groups fall along the same lines or are more spread out.

It’s possible that the expectations are so spread out across the four activities that you are not sure where to start, or it may be that they seem focused on one area while you feel more passionate about another area altogether. How should you determine how to spend your time?

It’s a good rule of thumb that your job is to follow your manager’s lead, but your duty is to your engineering team. Start by following the advice you received from your manager and check in regularly that their expectations are being met. Leave yourself adequate time to serve the needs of your team. Keep in mind that you are a leader throughout this balancing act, and your sense of what is needed and good use of your time matters. Allow external factors to influence you while developing your own sense of time management.

Over time, you will develop more confidence and understanding of what the best uses of your time are. As you go through this process, keep in mind that since there are so many people depending on you, your time is precious! Be careful with it.

Let’s go over a few more ways of determining how to spend your day.

Fill in the gaps

Another lens you can use to think about how to best spend your day is to think about your team’s overall needs and output and where there are gaps. Some things by necessity can only be done by you. Other things can be done by anyone, but there may not be anyone available to do them.

If your team is understaffed for its workload, you should absolutely take it up with your leadership rather than overwork (more on this in Chapter 5). Aside from that, experienced engineering managers are typically expert gap fillers. They take advantage of their flexible time and flexible skillsets to move seamlessly through their day, lending free moments to whatever needs a little extra support to be successful. This might be building an internal tool for your team, designing a smoke test, teaching an analytics person how to pull a complex report, or helping a junior project manager. It could also be noticing the team is stressed and hand-delivering team members’ favorite snacks with some encouraging words for a bit of relief.

Avoid the trap of filling gaps from a place of ego that only I can write this piece of code or only I can do it in a short amount of time. This type of thinking often leads new managers to sacrifice time that should be spent on leadership and management activities that only they can do, while depriving their team of a learning opportunity. You should be able to break down any work sufficiently and explain the right approach such that your engineers can tackle those challenges and grow their skills.

Theme – no ego

Engineering managers are there to guide teams, not dictate to them. This can be a mind shift for new engineering managers who may be used to doing everything their own way as individual contributors. We are all opinionated, but it is an important skill for engineering managers to be open to having their minds changed when new ideas come along. Strong opinions, loosely held is the rule of thumb. Not letting your ego get in the way of a change that makes sense is an essential trait of strong leadership. Over time, you should develop appreciation and respect for everyone’s unique point of view.

As leaders of product development teams, engineering managers are uniquely positioned to help the entire team meet and exceed its goals by noticing gaps and lending a hand. Develop your own sense of where you are most needed and apply yourself there.

Now that we have learned a few immediate and practical ways to plan our days, let’s move into more abstract territory.

Be a translator

For our purposes in this book, translating is the act of contextualizing information so that it can be understood by a particular group of people in the workplace. When you explain to product teams why it will take a long time to build a feature, you are translating. When you explain to an engineer why the company has made a change to project goals, you are translating. Anyone can be a good translator, but this is particularly relevant for engineering managers and is a key skill for impactful leadership.

So, how much of your day should be spent translating? The answer: more than you probably think. Translating is arguably the single most impactful thing an engineering manager can do with their time. The reason for this is the power of why.

Great articles, books, and talks have highlighted the power of why as a guide and motivator. Throughout your day, you may tell people what you want, what you expect, and what you recommend, but if the why isn’t understandable to them or does not resonate with them, you have lost an opportunity to convince them. When you can translate the why completely, you put yourself in the best possible position for your desired outcome.

Theme – give work meaning

Great engineering managers find ways to give work meaning and make that meaning broadly understood. They align the realities of the engineering work they are tasked with to the aspirations and beliefs of their team members. For more on aligning difficult work with aspirations, see Chapter 6.

For your engineers, translating the why in a way they can understand and accept is a powerful tool for alignment and guiding decisions in the direction you want. You will spend less time answering questions, resolving disputes, and reworking mistakes if everyone is on the same page about the various whys from programming languages and tool choices to product priorities.

Translating outside of your team and upward to leadership (managing up) is oftentimes the most impactful translation of all. It can be a hard lesson to learn that the very best work by engineering teams can easily go overlooked or unappreciated if there is no one translating the value of that work in terms that leadership can understand. Ask yourself how widely your team’s work is understood and who—if anyone—is doing that translating. Is there an opportunity for you to translate why your work matters to a wider audience? This is time well spent to gain awareness, adoption, and opportunity for your team’s work.

So, where can you start filling the role of translator? In addition to your everyday conversations, you can be a translator in writing and in team rituals. Newsletters, documentation, memos, update meetings, or all-hands meetings are all excellent venues for a bit of translating. Use your judgment to determine the best audience, but don’t shy away from translating your team’s work broadly when there is an opportunity. You can approach your leadership and say, “I believe the work we are doing on _____ is relevant to the entire company/department and I’d like to send out a monthly email update so that everyone can understand how this work can help them and the progress we are making. Here’s an example I put together.

Spending part of your day as a translator pays dividends in all directions, helping others understand you, empathize with you, and become your supporters and friends.

A checklist for building your schedule

You can use this concise checklist as a guide when starting with a new engineering team:

  1. Gather expectations from your manager, cross-functional partners, stakeholders, and engineers. Listen without making commitments.
  2. Decide what is feasible and the best use of your time by blending expectations with your own judgment and intuition.
  3. Estimate how much of your initial focus is needed on engineering, managing, transitioning, and big-picture thinking. Start to reserve time in your schedule/calendar.
  4. Observe gaps that exist in your team’s work and workflows and consider how you might fill those gaps for your team.
  5. Make sure you are devoting some time to translating important contextual information between leadership, cross-functional partners, and engineers. Aim to consistently translate why.
  6. Continuously adjust as new information becomes available.

Now that you have a sense of how you can plan your day, let’s go over some specific reasons why taking on the responsibilities of an engineering manager can be a shock to the system and what we can do about it.