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
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 |
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 - AmazonMain 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
๐ The Manager's Path [Published in 2017]๐ The Phoenix Project [Published in 2013]๐ The Unicorn Project [Published in 2019]๐ Managing Humans [Published in 2016]
Find more Engineering Management books at The Leadership Library for Engineers.
Presentations
๐ฅ๏ธ A Guide To Managing Technical Teams [Continuous Delivery YouTube Channel, June 2021]๐ฅ๏ธ What Engineering Managers Should Do (and Why We Donโt) - [GOTO Conference, January 2020]๐ฅ๏ธ How to Become a Kickass Team Lead 101 - [PyConX Conference, June 2019]๐ฅ๏ธ Building and Motivating Engineering Teams - Camille Fournier, - [The Linux Foundation, February 2017]๐ฅ๏ธ Challenges of a New Engineering Manager - [code.tasks Conference, October 2017]
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]
๐ Pragmatic Engineer Newsletter [Free & Paid Versions] by Gergely Orosz
๐ฅ๏ธ 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]
One-on-Ones
Topics to Talk About
โญ 1 on 1 Meeting Questions - list of 1-on-1 questions compiled from a variety to sources [GitHub, 9091 stars]
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
๐ Skill Mapping: A Digital Template for Remote Teams [Blog, October 2020]
Situation-Behavior-Impact Framework
๐ The Situation-Behavior-Impactโข Feedback Tool [Blog, December 2020]๐ Use Situation-Behavior-Impact (SBI)โข to Understand Intent [Blog, November 2020]
Tracking Performance and Impact
Career Conversations
โญ engineeringladders - career ladder resources for EMs [GitHub, 6622 stars]
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
Objectives, Key Results (OKRs)
General
โญ Awesome OKR [GitHub, 1386 stars]
Reading Resources
๐ Google's OKR playbook๐ OKRs from a development teamโs perspective [Blog, May 2019]๐ The OKR Cycle: 3 Steps for OKR Success๐ Continuously improve on using the OKR method๐ Why Weekly Goal Reviews & Check-ins Are the Heartbeat of Great Teams
OKR tools
Narrative, Commitments, Tasks (NCTs)
General
Becoming a Manager
- Googleโs new manager training
๐ 17 Reasons Not to be a Manager [Blog, September 2019]
Technical Writing
- Technical Writing Courses - Technical Writing Courses and Resources from Google
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:
- 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.
- 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
- GitLab's Guide to All-Remote - all-remote tips and tricks for remote teams
๐ A guide to distributed teams [Blog, November 2019]๐ Managing Remote Teams - A Crash Course [Blog, December 2018]๐ 5 Behavioral Biases That Trip Up Remote Managers by Harvard Business Review [Blog, June 2021]๐ How to lead with clarity and empathy in the remote world by StackOverflow [Blog, November 2020]
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
- Level-up Engineering Podcast 45: How to Engage Remote Employees: Tips to Lead Distributed Teams [August 2021]
Buzzwords Explained
๐ SRE fundamentals: SLIs, SLAs and SLOs by Google [Blog, July 2018]๐ BDD - Behavior Driven Development explained by Agile Glossary๐ TDD - Test Driven Development by Agile Glossary
Find more at the Agile Glossary here.
Software Architecture
โญ Software Architecture Books - comprehensive list of books on Software Architecture [GitHub, 7072 stars]
Presenting
General
- speaking.io - set of resources on preparing you for a great presentation
- We Are All Awesome - resources to motivate and improve your technical presentation
๐ How to Cheat at Creating Great Presentations for Tech & Marketing Audiences [Blog, June 2015]๐ Do Your Slides At The Last Minute: 8 Steps To Writing Your Talk [Blog, February 2016]
Presentation Tools
Presentation Resources (Mostly Free)
Icons
Stock Photos
General Tooling
Team Autonomy
๐ Ingenious Ways to Inspire Team Autonomy [Blog, July 2020]๐ Autonomous Team - Scrumbook.org
Other Resource Compilations
โญ awesome-engineering-team-management - list for developers to transition to an engineering management role [GitHub, 1186 stars]โญ engineer-manager - list of engineering manager resource links [GitHub, 7920 stars]
CC0
LicenseAttributions
Resources
- All linked resources belong to original authors
Icons
- skill book by HideMaru from the Noun Project
- Harp by Marina Pugacheva from the Noun Project
- Ancient Greek Theater by Leonidas Oikonomou from the Noun Project
- deity by Eucalyp from the Noun Project
- papyrus by IconMark from the Noun Project
- Laurel Wreath by Christopher T. Howlett from the Noun Project
- scales by Dmitry Mirolyubov from the Noun Project
- Scroll by Nhor from the Noun Project