Engineering manager's guide: 30+ resources for leading developers

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.

Testing in the Agile Era: Top Tools and Processes

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 Kopp 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.

Topics: Dev & Test

Popular Posts