Skip to content

A comprehensive reference for all topics related to becoming a great Engineering Manager

License

Notifications You must be signed in to change notification settings

ivan-bilan/The-Engineering-Manager-Pandect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

62 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

The-Engineering-Manager-Pandect

This pandect (πανδέκτης is Ancient Greek for encyclopedia) was created to help you find almost any resources related to Engineering Management and everything related to it.

Note Quick legend on available resource types:

⭐ - GitHub repository with the number of stars

πŸ“™ - resource you can read, usually a blog post or a paper

πŸ—‚οΈ - a collection of additional resources

πŸ”± - non-open source tool, framework or paid service

πŸŽ₯️ - a resource you can watch

πŸŽ™οΈ - a resource you can listen to

Table of Contents

πŸ“‡ Main Section πŸ—ƒοΈ Sub-sections Sample
Essential Reading Blogs, Books, Presentations
Podcasts Engineering Management, Leadership Podcasts
Newsletters -
YouTube Channels -
Giving Feedback One-on-Ones, Retrospectives
Measuring Success OKRs, NCTs
Other Topics Remote Work, Presenting

Essential-Reading

Blogs

  • πŸ“™ What is an Engineering Manager? by Michelle Kung from Amazon [Blog, October 2018]

    Main Highlights

    • An EM’s primary concern and responsibility are to the individual. They are dealing with each member of the team on a personal level.
    • The EM is the interface between strategy and delivery. They will be working with the leadership team and translating directives to their team as actionable tasks and deliverables.
    • They are able to course correct if necessary at an early enough stage that a minimal amount of change is required.
    • There needs to be a culture of emotional safety where the team is empowered to act bravely, make decisions, and try new things without being controlled by a fear of failure.

  • πŸ“™ What is Engineering Manager doing in a product IT company - Grammarly case Grammarly, Original Ukrainian Post [Blog, January 2021]

    Main Highlights

    • The main goal of the Engineering Manager is to make his team successful and achieve the set goals as effectively as possible.
    • As a manager, I have to communicate the overall product vision and common goals of the company to my team.
    • The engineering manager also maintains a technical roadmap - a plan of technical means and methods needed to build a product.
    • To maintain the overall health of the team and balance the workload, it is important to properly plan the team structure and scale according to the company's goals.
    • The engineering manager must be a reliable partner not only for his team, but also for other teams and managers. It is very important to establish processes for collaboration with other colleagues, to choose tools and channels that will be convenient and effective for all participants when working on joint projects.

  • πŸ“™ 16 Leadership Principles - Amazon

    Main Highlights

    16 Principals:

    • Customer Obsession
    • Ownership
    • Invent and Simplify
    • Strong judgment and good instincts
    • Learn and Be Curious
    • Hire and Develop the Best
    • Insist on the Highest Standards
    • Think Big
    • Bias for Action
    • Frugality
    • Earn Trust
    • Dive Deep
    • Have Backbone; Disagree and Commit
    • Deliver Results
    • Strive to be Earth's Best Employer
    • Success and Scale Bring Broad Responsibility

  • πŸ“™ Mistakes I’ve Made as an Engineering Manager [Blog, February 2021]

    Main Highlights

    • Mistake 1: Thinking people give feedback the way they want to receive it.
    • Mistake 2: Trying to do everything yourself as a manager is the best way to help.
    • Mistake 3: Communicating something one time is enough. Repetition becomes an important tool to make things stick.
    • Mistake 4: You have to have everything together all the time. You’re the manager, so if someone is going to show vulnerability first, it’s easiest on team dynamics if it’s you.

  • πŸ“™ Do engineering managers need to be technical? [Blog, November 2019]

  • πŸ“™ You Can Be a Great Leader and Also Have a Life [Blog, December 2018]

  • πŸ“™ PM & EM: Rules of Engagement [Blog, May 2021]

Find a catalogue of engineering blogs at Engineering Blogs Awesome List

Books

Find more Engineering Management books at The Leadership Library for Engineers.

Presentations

Podcasts

πŸ”™ Back to the Table of Contents

Engineering Management

  • πŸŽ™οΈ Effective Engineering Manager - proven solutions and best practices to software engineering managers [Years: 2021 - now, Status: active]
  • πŸŽ™οΈ Level-up Engineering Podcast - key insights from fellow engineering managers and tech leaders [Years: 2020 - now, Status: active]
  • πŸŽ™οΈ Authority Issues - podcast about leadership and engineering management [Years: 2019 - now, Status: active]
  • πŸŽ™οΈ Programming Leadership - A podcast to help great coders become skilled leaders [Years: 2019 - now, Status: active]
  • πŸŽ™οΈ Managers Club, Interviews and Resources for Engineering Managers - In-depth conversations about engineering management with lessons and tips to make you a better leader and improve your career. [Years: 2019 - now, Status: active]

Engineering Podcasts

  • πŸŽ™οΈ Add Dot - get deep insights on modern software architecture and development approaches while facing sociotechnical challenges [Years: 2021 - now, Status: active]
  • πŸŽ™οΈ StaffEng - conversations with software engineers who have progressed beyond the career level, into Staff levels and beyond [Years: 2021 - now, Status: active]

Leadership Podcasts

  • πŸŽ™οΈ Radical Candor - show about how to kick ass at work without losing your humanity [Years: 2017 - now, Status: active]
  • πŸŽ™οΈ Masters of Scale - podcast hosted by Reid Hoffman, co-founder of LinkedIn [Years: 2017 - now, Status: active]
  • πŸŽ™οΈ WorkLife - podcast about work by Adam Grant [Years: 2018 - now, Status: active]

Productivity Podcasts

  • πŸŽ™οΈ Deep Questions - podcast by the author of "Deep Work" [Years: 2021 - now, Status: active]
  • πŸŽ™οΈ Beyond the To-Do List - productivity experts share how they implement practical productivity strategies in their personal and professional lives [Years: 2012 - now, Status: active]

Non-English Podcasts

German

  • πŸŽ™οΈ Der Agile Wasserfall - Softwareentwicklung und alles zum Thema Agile [Years: 2020 - now, Status: active]
  • πŸŽ™οΈ The Dark Leadership Podcast - eine Sammlung von Handlungsempfehlungen zur Abwehr von Dark Leadership [Years: 2021 - now, Status: active]

Newsletters

Youtube-Channels

  • πŸŽ₯️ LeadDev - online community that develops thought-leading content [Youtube, 35k Subscribers]
  • πŸŽ₯️ Continuous Delivery - Continuous Delivery Pipelines and Processes [Youtube, 57k Subscribers]
  • πŸŽ₯️ ManagersClub - In-depth conversations about engineering management with lessons and tips to make you a better leader and improve your career. [Youtube, 176 Subscribers]

Giving and Receiving Feedback

πŸ”™ Back to the Table of Contents

One-on-Ones

Topics to Talk About

Other Activities

  • 16 Personalities Personality Test - the results include sections on "Career Path" and "Working Habits". Use it as a way to start a discussion instead of believing the actual results.

Skill Matrix

Situation-Behavior-Impact Framework

Tracking Performance and Impact

Career Conversations

Retrospectives

Reading Material

Retro Ideas

  • FunRetrospectives - activities and ideas for making agile retrospectives more engaging
  • Miroverse - Miro templates for retrospective and a lot more

Retro Tools

Measuring Success

πŸ”™ Back to the Table of Contents

Objectives, Key Results (OKRs)

General

Reading Resources

OKR tools

Narrative, Commitments, Tasks (NCTs)

General

Other

πŸ”™ Back to the Table of Contents

Becoming a Manager

Technical Writing

Incident Management

  • ⭐ Wheel of Misfortune - a game that aims to build confidence in on-call engineers via simulated outage scenarios [GitHub, 106 stars]

Remote Work

Remote work, especially after the pandemic, is not easy to get right and can make or break a good team.

There are three levels of remote work:

  • Remote-friendly

  • Remote-first

  • All-Remote

    Remote work levels explained

    On the lowest level, you are remote-friendly. It means, that your company allows remote workers embedded into regular office teams. At this level, the meetings are online, but often tooling that is used in them is mainly concentrated in the physical meeting room. For example, engineering team meeting in which the ideas are still drawn on a physical whiteboard to which the remote participants get access afterwards in a form of a photo.

    Remote-first is an approach to leveling the playing field of both office and remote workers. All tools used are digital, when something is drawn, i.e.
    architectural design of a project, everyone does it in an online board. Regular watercooler chatter also takes place online, i.e. through a watercooler slack channel, or regular daily scheduler watercooler chat session. In this way, remote workers feel included in every single facet of work. One of the best ways to validate that you are indeed following the remote-first mindset is to regularly ask one of the office employees to join the meeting from a phone booth or a another room and to then get their feedback on what they felt was missing for them as a remote worker. Of course, you can also get this feedback from your remote workers, but those who regularly work from the office, will be able to better spot things they usually take for granted in the meetings they join from the office.

    All-remote is similar to the previous, in this case though, there is simply no more physical office and everyone works remote. This adds challenges to having really good tooling for all aspects of work. Best examples to learn about this are all-remote companies like GitLab.

Tips and Tricks for Better Remote Work

Team building for remote teams

One of the toughest challenges of working remotely is that the team often does not feel cohesive after a long period of working remotely. This is best solved through a combination of applying the right remote-first tools and techniques (see examples above), with a good balance of team building sessions. When it comes to team building, or just general watercooler chatter, it usually depends on the team. A good way to start is to try some of the following approaches:

  1. Have 3-4 sessions per week of around 15-20 minute length for regular watercooler chats. Attendance is optional for everyone. Topics can be freestyled, however, it's often good to setup a slack bot that does some topic suggestions for each session.
  2. Have 1-2 longer weekly sessions, i.e. 1 hour long. Ideally, such sessions are prepared on a rotation basis. You can simply rotate, for example, through playing some online team building games like Codenames, Garticphone, or skribbl.

Additionally, you can prepare more team centric sessions. For example, you can prepare a quiz about the team on something like Kahoot: find out some interesting facts about each team member and let people guess who the specific facts or descriptions belong to. It's a fun way to get to know your colleauges better.

In addition to that, you can also have these sessions in an online room on gather.town. It's a great proximity-based online meeting tool that allow you to control a physical 2D character in a gaming like fashion. It's especially great for bigger groups, as it's easy to have a quick chat within a small group very seamlessly.

Meetings

Your first instinct after going remote might be to compensate the lack of office interaction with a lot of meetings, however, it will only lead to meeting fatigue within the team. A way to compensate for this is to bundle meetings into meeting days, i.e. only allow meetings (apart from standups) to be scheduled for 2 or 3 days out of the week. The other 2-3 days don't allow for any team meetings (standups and short watercooler chats are fine). The meeting free days will allow the team to work uninterrupted for a longer time and there will be no meeting anxiety either distracting them from technical work. The team members are still free to schedule pair programming sessions during any week day.

Of course, many meetings can be just an Email, so consider what truly requires a meeting. If you do need to call a meeting, make sure its well-prepared not to waste everyone's time. A well-prepared meeting usually includes an agenda that is shared beforehand. If a decision needs to be taken in the meeting, it's better to already prediscuss it with individual stakeholders that will join it.

The key to successful remote meetings is also documentation. Make sure you keep a meeting log on Confluence, for example. The most crucial part of it should be the decision record. Make sure to write down all decisions taken during the meeting and list everyone who participated in taking that decision. People will eventually forget that they either agreed to something or committed to do something, and having their commitment written down in the decision record will save you a lot of time in the future.

Transparency

Working remote may hide work and slow down knowledge sharing if it's not done correctly. A great idea is to have regular demo sessions to show what the team has been working on (internally to teammates and to the outside).

Some managers may get an idea to have longer standups, additional end-of-the-day check-ins etc. Usually, this adds more stress to the team, and contributes to the meeting fatigue. An interesting approach to try here is to have the regular standup sessions as usual, but 15-20 minutes before the session, the team can write down their update in a dedicated Slack channel. This usually helps them to gather their thoughts and think about what they want to say in the standup. This way, the standups can be kept shorter, since everyone already has formulated their update in a written form and simply has to reiterate it to the team. Another benefit of this, is that the other team members can ask follow-up questions or propose solutions to problems right there on slack.

This also helps to have a written log of what the team is working on that can be then read by someone who was sick or on vacation, they will catch up very quickly on the team progress. It also helps you as a manager in case you need to write something like progress reports to other levels of management.

General

  • ⭐ Awesome Remote Job - curated list of awesome remote jobs and resources. Inspired by [GitHub, 23466 stars]

Reading Resources

Remote Team Building Activities

  • gather.town - proximity-based online meeting tool that allow you to control a physical 2D character
  • Codenames - online version of the popular tabletop game "Codenames"
  • Garticphone - popular drawing based guessing game with a twist
  • skribbl - drawing guessing game

Podcast Episodes

Buzzwords Explained

Find more at the Agile Glossary here.

Software Architecture

Presenting

General

Presentation Tools

  • ⭐ SliDev - Presentation slides tool for developers (Tutorial) [GitHub, 23275 stars]

Presentation Resources (Mostly Free)

Icons
Stock Photos

General Tooling

Team Autonomy

Other Resource Compilations


License CC0

Attributions

Resources

  • All linked resources belong to original authors

Icons

Fonts


The Pandect Series also includes

Β  Β  Β