Most people know what it's like to work with a bad manager. That's because managing is a job that seems simple but is actually very difficult to get right. Engineering managers—also called engineering leads—are no exception.
Great engineers don't always make great managers. So how do you know if engineering management is the right path for your career? How do you become an engineering manager? What do managers do, exactly? And if you do become an engineering manager—or if you already are one—what are the best practices that most experts agree on?
TechBeacon has assembled this list of books and articles by experienced engineering managers that can help you answer these questions. The resources below also include personal experiences, checklists and worksheets, expert panel discussions, and thoughtful comment threads. Both experienced and aspiring engineering managers, as well as managers who hire or promote them, will find plenty of practical information and advice.
Do you really want to be a software engineering manager?
Why do you want to be an engineering manager?
Some developers are pushed into the role, but others are working toward becoming an engineering manager, or are at least considering it. Are you truly a fit for an engineering management position? Ibrahim Bashir, senior director of product at Box, shares the 21 competencies you'll need to succeed as an engineering manager.
"Rarely do I cross paths with someone who has already thought things through and has a good answer as to why they want to lead and why they are qualified to lead."
—Ibrahim Bashir
Should I become an engineering manager?
Matthew Vanderzee, vice president of engineering at Versive, ticks off the reasons—good and bad—for becoming an engineering manager. His article also provides information on some common aspects of the role to help you make a decision.
Tips for non-technical engineering managers
Can a non-developer/non-technical person manage developers?
This post considers a major point of contention among IT professionals, and this question on the Bright Journey site received 11 responses. Most of the answers say that it's possible, but with caveats. The wider community has varying opinions on this issue. Some say non-engineers make poor engineering managers, but people have certainly done it.
Sometimes it's an issue related to titles—product owners are usually not expected to be technical, but tech leads have to be. Engineering managers are caught in the middle when it comes to opinions around the industry. An article by an engineering manager at Quora and this roundup post by Dice have the most balanced opinions about technical vs. non-technical engineering managers.
Introductory BS detection for non-technical managers
For non-technical managers (any manager who hasn't worked as a software developer), knowing how long it realistically should take for a developer to build a component of software is hard. This can lead to tensions—either you feel as if developers might be dragging their feet or you end up foisting unrealistic deadlines on them.
This blog post on Medium by Mike Acton, principal programmer at Unity Technologies, will help you and your developers speak the same language, and includes helpful checklists of questions to help you make informed decisions. There was a great discussion about this article on Hacker News too.
"As a non-technical manager, once you understand the problem, you have to articulate the answer to the question of value," Acton says. Start by articulating what your value targets are (i.e., iteration time), and then work through the actual value (how much is a saved unit of time worth?).
This is what impactful engineering leadership looks like
While this article is essentially a profile of Jessica McKellar, who was an engineering manager at Dropbox at the time (and is now chief technology officer at Pilot), it is filled with good advice on how to strengthen your business, leadership, and communication skills as an engineering manager—whether you're technical or non-technical.
"There's an inflection point when someone moves from engineer to manager, and it can feel very uncomfortable—like you're only in meetings and not getting anything done."
—Jessica McKellar
Advice from the trenches: Memoirs of software engineers turned managers
Developer turned manager
David Haney, an engineering manager at Stack Overflow, recounts the things he learned in his first six months after being promoted to development team lead. His blog is geared to developers who might also be on their way to a managerial position and gives them an idea of what to expect.
"You feel a little bit like you just rebooted your career and are starting over at the bottom of the skills ladder. It's intimidating."
—David Haney
Things I've learned transitioning from engineer to engineering manager
Developer Gergely Orosz, who recently took on a new role as engineering manager at Uber, now knows more about his role than you could fit on his sweatshirt (in the photo, below). His action plan for getting up to speed included finding a mentor, getting a handle on his new priorities in the role, and several other key steps. "This role change comes with a steep learning curve: many things that mattered when I was an individual contributor—like writing good code and teaching others engineering best practices—suddenly became less important," he said.
Orosz created his own sweatshirt.
What does the typical engineering manager's job description look like?
What does a director of engineering do?
An engineering director is usually one level farther up the org chart than an engineering manager, depending on the size of your company. Dan DeMeyere, the vice president of engineering at thredUP, describes a few key pillars of an engineering director's responsibilities. They include providing direction and leadership, managing the hiring process, and enabling your engineers to have the highest impact possible.
Surprise! You’re an engineering manager. What now?
This article is aimed at software engineers who weren't expecting to be promoted to engineering manager. There's no widely available documentation for this position, so this post tries to provide some simple responsibilities you can expect, including:
- Setting the broad goals of the team
- Proposing a plan to achieve the goals
- Tracking progress against those goals
- Removing obstacles in the way of those goals
- Creating alignment through organizational transparency
The post goes into plenty more detail about how to do each of these things.
What should I do today?
In an article listed above, Vanderzee talked about the factors to consider when accepting an engineering management position. In this second article, he explains what your daily responsibilities will be and how to perform them if you decide to take the job. It describes techniques for supporting your team and ensuring that your team supports the business. He also gives you a list of tools to help you manage your new responsibilities.
"As a manager, you will be bombarded with inputs, requests, questions, distractions, fires to fight, etc. And part of your job is to field all this, so it doesn't hit your team and distract them."
—Matthew Vanderzee
Engineering management: Fact vs. fiction
A four-engineer panel discussion was turned into this article by Quang Hoang, the CEO of Plato. It answers some less common questions about engineering management, such as "What you will NOT do as an engineering manager," and "How can you be a good engineering manager when you don’t have formal authority?" (If you don't have formal authority, you're not really an engineering manager; you're a tech lead.)
How much code should a technical engineering manager write?
Should engineering managers write code? Wrong question.
Some articles on engineering management propose the percentage of time you should code if you're a technical engineering manager. Leith Abdulla, an engineering director at Coursera, thinks that's a bad, arbitrary way to look at the position. Instead, engineering managers should work where it makes sense, for however long makes sense. Good places to start include code reviews, small bugs, and team tools.
From engineer to manager: Keeping your technical skills
"Being an engineering manager is like having two jobs," says Joan Gamell, a LinkedIn engineer who has also managed software engineers at Expedia. Gamell shares his tips for keeping your coding chops if you get promoted to engineering manager. He also shares his opinion on why engineering managers should be technically competent and how they can be better mentors.
Now you're an engineering manager. What could possibly go wrong?
How to fail as a new engineering manager
This article summarizes a lot of the themes brought up in other articles on this list, but from the perspective of what you shouldn't do. Brad Armstrong, an engineering manager at Code42 Software, shares eight ways to fail that include coding too much, focusing only on your output, and not having difficult conversations.
Good engineering manager vs. bad engineering manager
Shani Raba, the CTO and co-founder of Loola TV, shares a short article on how good and bad managers handle product management, new technology, influence, team growth, managing themselves, and conflicts.
"Good engineering managers write down their decision and the decision-making process. Bad engineering managers don't manage their thinking process at all."
—Shani Raba
Ask HN: What mistakes in your experience does management keep making?
While it's not practical to look through the more than 370 comments, just glancing at the first five or six threads gives you some excellent insights into the areas where software engineering managers often go wrong. This post does not include lessons from Fred Brooks' landmark book, The Mythical Man-Month, but commenters recommend you check that resource out too.
For further reading: Great books on engineering management
Peopleware
Like The Mythical Man-Month, Peopleware is a classic book, by Tom DeMarco and Tim Lister, about managing the human side of software development. The book's topics include project management, office environment psychology, how to get the right people, and how to grow productive teams. It's a favorite of Mythical Man-Month's author, Fred Brooks, and of Joel Spolsky, the co-founder of Stack Overflow.
Managing Humans
Michael Lopp has blogged for over 10 years at Rands in Repose, which you should definitely browse and read if you haven't already—especially if you're a new manager. His book Managing Humans comes with the subtitle "Biting and Humorous Tales of a Software Engineering Manager." His lessons and stories come from his experiences managing developers at Apple, Pinterest, Palantir, Netscape, Symantec, Slack, and Borland.
Managing the Unmanageable
Software projects are notorious for going past deadlines and over budget. This is why the authors Mickey W. Mantle and Ron Lichty call software development "unmanageable" in the title. But the authors have some suggestions for making software teams more manageable, including smart onboarding techniques, motivation strategies, culture requirements, and delivery tools. This book was another highly rated engineering management title on Amazon that you may want to check out.
You've got a lot to learn; use the ladder
If you know someone who's been promoted to engineering manager, you know that it's more of a career change than a simple expansion of responsibilities. If you're a hiring manager, don't promote engineers or non-technical people to engineering managers/leads unless they can prove they've met the conditions of a well-defined internal career track or job ladder.
And if you're interested in moving into engineering management, Rent the Runway and Foursquare offer up good job ladder examples. They include separate tracks for engineers who want to go down the management path and for engineers who don't. This prevents a common pitfall, where software engineers who don't have the skills for management get promoted, and the organization gets hit with a double whammy: It's down one developer, and it has just added a bad manager.
Do you know of any other good resources that current or aspiring engineering managers should read? Share them in the comments below.
Keep learning
Take a deep dive into the state of quality with TechBeacon's Guide. Plus: Download the free World Quality Report 2022-23.
Put performance engineering into practice with these top 10 performance engineering techniques that work.
Find to tools you need with TechBeacon's Buyer's Guide for Selecting Software Test Automation Tools.
Discover best practices for reducing software defects with TechBeacon's Guide.
- Take your testing career to the next level. TechBeacon's Careers Topic Center provides expert advice to prepare you for your next move.