Home

Awesome

<!--lint disable awesome-heading--> <p align="center"> <a href="https://github.com/kdeldycke/awesome-engineering-team-management/"> <img src="https://github.com/kdeldycke/awesome-engineering-team-management/raw/main/assets/awesome-management-header.png" alt="Awesome Engineering Team Management"> </a> </p> <p align="center"> <a href="https://github.com/sponsors/kdeldycke"> <strong>Yᴏᴜʀ Pʀᴏᴅᴜᴄᴛ ʜᴇʀᴇ!</strong> <br/> <sup>Add a link to your company or project here: purchase a GitHub sponsorship.</sup> </a> </p>
<p align="center"> <i>The manager's function is not to make people work, but to make it possible for people to work.</i><br> — Tom DeMarco<sup id="intro-quote-ref"><a href="#intro-quote-def">[1]</a></sup> </p>

A curated Awesome list for software developers to transition to an engineering management role. Compiles advice, anecdotes, knowledge tidbits, discussions, industry small-talks and rants. A bibliography of sort, gathered the last few years while transitioning my career from a software engineer to an engineer's manager. And later from a manager to a manager's managers (you all love recursion right? ʘ‿ʘ).

You'll find answers in this guide! It stands out from generic leadership and management literature, by providing uncompromising insights and practical advice. It will bootstrap your journey into the management career track, from a technical background.

This list helps in the transition to management, with a progression from general to specifics. It starts with an overview of the role, then describes its requirements, and its position relative to others. Then we details the day-to-day tools of the trade, both organizational and behavioral. At last we discuss some of the dark sides of the job.

Contents

<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=2 --> <!-- mdformat-toc end -->

Engineering to Management Transition

The first step. The hardest. How to requalify oneself from an Individual Contributor (IC) to a front-line manager.

Building Teams

You got the title and the pay grade. Congratulation! This doesn't make you a manager yet. Whether you inherit an already existing team or have to start from scratch, you'll need to practice the art of building (and consolidating) them.

Roles

On the profiles, attitude, behaviors, and expectations between developers, managers and executives.

Executives

Executives are the senior/highest management layers of a company. They reports to a board of directors in bigger companies, or directly to the shareholders in smaller ones. Leadership is expected at this level. As a manager these are the people you report to.

CTO & VP of Engineering

In tech companies these roles are critical, and the frontier between the two is often blurry.

Engineering Managers

Managers came in all form and shape, and the title and daily activities varies a lot depending on companies. When developers directly reports to you, you'll find yourself at the first management level: you are a front-line engineering manager.

Engineers

Consultants

Recruitment

You're in a competitive sector in which talents are in high demand. Be prepared as a manager to spend a lot of time recruiting people, either to expand your team or fill-in open positions. The dynamics gets interesting too, as you are now on both sides of the hiring process: as a candidate to get a job, and as a recruiter to staff up your team.

Job Boards

By targeting the right place to post your job offer to, you're increasing your chances of targeting the right candidates.

Hiring Process

High-growth company will all need to industrialize the hiring process at one point.

Interview

List of questions that can be used when vetting potential candidates, and topics to draw inspiration from to be used as conversation starters.

Coding Challenge

The absence of coding exercise will left the door open to fraud. OTOH, if elitist challenges decrease the number of false-positive, you will pass on perfectly capable and great developers. Now it is your job as manager to find balance between these two extremes, and set the tone on how to have the candidate demonstrate coding skills.

Negotiation

A critical step to close up the hiring process.

Onboarding

How to get newcomers up to speed with the rest of the team you manage. And how to introduce yourself to teams you just joined or inherited.

Motivation

Happiness

Procrastination

Culture

Cognitive Tools

Thinking frameworks and mental models to improve decision making, understand systems and solve problems.

Collections

Expansive lists of well-known models and concepts.

Explaining

Problem Solving

Systems

Brainstorming

Behavioral

Team Dynamics

On the day-to-day dynamics of the team, and its interaction with other teams.

Engineering

You're no longer an engineer. Still, your team is responsible for the systems, technology and all the processes surrounding them. You'd better know a bit about engineering tenets.

The Technical Engineering Manager

You shouldn't spend your time coding. Leave that to the engineers: your value lies elsewhere now. But does that means you must forget all things technical? The answer is an astounding NO. Here are some arguments:

Systems Complexity

Whatever the technical stack, we are building systems first, and have to manage its complexity.

Technology

Engineering Practices

Technical Debt

Remote Work

Meetings

Two humans + a (virtual) room = a meeting.

1 on 1

The most important meetings you'll have are frequent 1:1s with your direct reports.

Standups

A staple of agile decorum, too often misused.

Facilities

The environment we work in shapes us. Perks too.

Product Management

The Product Manager is supposed to be the voice of the market. Here are more links on the role and its reach.

Hiring PMs

On interviewing for a PM position. And how to conduct an interview to assess a PM's abilities.

Product-Market Fit

The first step to validate your product: is the market finding interest in your venture?

Product Strategy

Where your product lies in the value chain and how to position it in the market.

User-Centered Design

On how to focus on user's problem to have your product delivers value.

Product Marketing

How to find users, grow your customer base and make people talks about you product.

Project Management

If product management is about what is to be developed of the product, then project management activities answers on how to deliver that development. It is all about the execution, with a particular attention to delivery critical path and planning.

But don't worry too much, every company has its own definition of the two roles, and sometimes hybrid positions.

Specifications

Estimations

Time management and planning starts with estimates, but often degenerates into deadlines.

Tickets

Agile

Key Performance Indicator (KPI)

KPIs are a set of quantitative measurements at the team or organizational level, to measure the success of the business.

Objectives and Key Results (OKR)

OKRs are a framework. Extending KPIs, they applies individually to each members of an organization, down to the IC level. In theory, everyone is supposed to have its own set of OKRs.

Training

On mentoring, education and learning.

Communication

It is not only about reading, writing and talking. It encompass all the social practice and context sharing of the team's activities.

Especially a software team, which generates a huge amount of knowledge. All this knowledge is fragile and about to be lost for good. Unless you materialization it in the form of writing.

Knowledge

On knowledge surrounding a team.

Reading

Before you know how to write, you need to know how to read.

Documentation

The various forms of technical writing, their structure and target audience.

Writing

General advice on how to convey meaning and clarity by mastering the style. If badly written, your documentation is likely to have poor usage and utility.

Style

Once you have the right structure and content thanks to advice above, you can now copy-edit and fine tune your style with the tools below.

Presentations

Career

Now that you've proven your worth as a front-line manager, what's the next step? These articles explore the follow-up roles, from managing managers, to director, and everything in between.

Promotion

Stepping stones advancing a career in a company takes the form of promotions. They unlock raises, bonuses and more responsibility.

Performance Reviews

Reviews and performance evaluations are the tool of the trade to unlock promotions. As a manager, your going to write and instrument them for your team members to get the raise they deserve. And getting through them as any other employee to advance your career.

Compensation

It's not only about the salary, but the whole package: equity, bonuses, perks, and the dealings around all of these.

Salary

Equity

Politics

Here we are, at the intersection of power and influence lies the political game. If its nature and intensity is sourced from the company's core culture and history, you're unfortunately unlikely to avoid it past a certain hierarchical level. Be prepared.

Re-organizations

As a manager, you have direct responsibility of the structure of the team. Past a certain size (around 8 to 12 depending on sources), you no longer have time to work with direct ICs, so you need to re-organize the team.

At a company level, re-orgs are mostly strategic and your influence on them depends on your political acumen.

Team-level

Company-level

Acquisition

A special case of re-org, that might take the form of inclusion, absorption or dissolution of the acquired company.

Health

Holidays

Stress

Burnout

Setbacks and Failures

<!--lint disable double-link--> <!--lint enable double-link-->

Exits

Sometimes, you just have to call it quits.

<!--lint disable double-link--> <!--lint enable double-link-->

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

Footnotes

The header image is based on a modified photo taken in November 2017 by Werner Du plessis.

<!--lint disable no-undefined-references-->

<a name="intro-quote-def">[1]</a>: Peopleware: Productive Projects and Teams, 1987, page 34 (Addison-Wesley Professional, 3rd edition, 2013). [↑]