Organizational Danger Zones

I’ve noticed two danger zones that organizations run into. Today, I’ll describe these two danger zones, and give some advice for navigating them.

I’ll talk about this for engineering organizations. But I suspect it’s applicable to any group of humans working at these scales.

Can a Team Have 150 People in It? FAST Agile Says Yes

FAST agile is the most interesting organizational practice I’ve learned about in a while. Today I share what FAST agile is, and explore whether it’s worth experimenting with. TL;DR? Quite compelling, but still experimental.

What Is FAST Agile?

FAST Agile is an agile software variant. FAST focuses on self-organization within very large teams. These large teams are called Collectives. They can be a few people, to as many as 150 people1.

The Ultimate Playbook for Hiring Engineering Managers

I’d like to share a complete guide to how to hire and interview engineering managers. I’ll cover every step of the process and even include a sample interview plan you can use. I think you’ll find a lot of surprises and some genuinely useful templates and questions to use.

This approach can be used for other roles as well.

Steel Threads Are a Technique That Will Make You a Better Engineer

Steel Threads are a powerful but obscure software design approach. Learning about Steel Threads will make you a better engineer. You can use them to avoid common problems like integration pain, and you can use them to cut through the complexity of system design.

So Obscure It Was Deleted From Wikipedia in 2013

How unknown are Steel Threads? The concept was deleted from Wikipedia in 2013 because “the idea is not notable within Software Engineering, and hasn’t received significant coverage from notable sources.” Let’s add to the coverage, and also talk through why it is such a useful approach.

Advice for New Engineering Directors

People often ask me for advice when they move to a manager of managers role. This post covers ten things to consider. I’ll describe a number of things that surprised me, some skills to focus on building, and some tips for navigating this phase of your career.

Being a Director Is a Very Different Job

First of all, the move to being a director was a bigger change for me than I expected. I thought managing managers would be similar to managing engineers. That was naive.

Your Process Should Be Open Source

Process: a series of actions or events performed to make something or achieve a particular result — Cambridge English Dictionary

Today, we delve into the great debate about process. Is process the solution to the chaos in organizations? A way of applying good discipline and operations to make stuff happen? Or is the process itself the problem, adding overhead and getting in the way of people doing their best work? 

Uplevel Your Managers With Mini-M Support Groups

Today, I would like to share a management practice we developed at New Relic. It was one of the best things we did as an engineering organization. The practice is called “Mini-Ms." I believe it’s as important a practice for managers as code reviews are for engineers.

This post is the first of a series:

Leaders Make Their Own Problems

At some point, you begin to lead. This is very different than managing. The difference can be summed up with the phrase, “Leaders make their own problems." I’ll explain that in a bit, but first, let me tell you a story.

When I First Realized I Was Missing Something

When I first became a director, I had a conversation with another director named Jim. 

A Week-by-Week Project Plan You Will Want to Frame

Today, I’ll share a few thoughts on what makes a good project plan. And I’ll provide a sample project plan.

Why Have Project Plans

Many agile teams focus on sprints or chunks of work. But they don’t really plan — instead, they do what they can each sprint, plot out their velocity, and determine what they can accomplish over the next sprints. 

How to Not Screw Up Your Product Strategy

As a consultant, I have a view across many companies, so I’ve seen a lot of product strategies. Most have been problematic. Occasionally, I see an example of a product strategy that stands out. Today, I review common problems with product strategies. Then, we’ll cover how to craft a product strategy that avoids these problems.

Problem: Product Strategies Take Too Long To Create

Putting together a product strategy is fucking hard. And while it is important, it’s easy to defer. 

Why Are Process Gates the Hellish Spawn of Evil You Should Avoid at All Costs?

Today, I’d like to talk about common mistakes leaders make. Let’s see if you can spot the pattern:

  • Engineering is shipping too many bugs, so you bring in a QA team that reviews everything before it goes out to production.
  • There has been a history of making poor architectural decisions, so you put in place an architecture review. 
  • The team keeps shipping completely unusable UIs, so you add a designer review step before anything can ship to production.
  • The team keeps having cost overruns in AWS, so you have a central team that controls all infrastructure code. 
  • People are doing a shitty job with code reviews, so you add a group of the most senior people who are the only people able to merge PRs, and they review everything before it goes out.

As a leader, you are a designer. Many times you’ll face organizational challenges that will require you to design solutions. The name for what you’re doing in all of these examples is adding “process gates”. (If this was a TV show, I’d have scary music play every time you read the word “process gates”)

Want To Be a Terrible Engineering Manager? Be a Sh*t Shield

Many new managers think their job is to “protect the team." In fact, they see that as their primary function. 

This is a mistake. I’ve interviewed hundreds of managers in my career. Usually, when people talk about protecting the team, it is a sign of inexperience. It is a common trap for new managers.

Learn the Weekly Rituals You Should Master as a Software Project Manager

Today, I'd like to cover the weekly life of a project manager. When I'm managing a project, these are the things I do every week: 

  1. Identify the next milestone. Do you have a goal that is less than a month away? If not, make one up as soon as you can. Talk about the next milestone in every meeting with the team. 
  2. Update your project plan. Schedule an hour or two every Friday to review and update your project plan. 
  3. Update your risk registry. During your project planning time, update your risk registry. 
  4. Send a weekly project update. After updating the project plan and risk registry, I send out an update that summarizes where things are with all the projects for which I'm responsible.

Putting these things together will often require meetings or conversations, but having a concrete idea of what you're delivering each week can make it more clear what to focus on.

Can This Ownership Exercise Improve How You Work with Others?

When you’re working in a group, you need to know how to coordinate. Coordination requires a shared understanding of how everyone will work together. Most human groups define Roles. Roles help clarify boundaries and expectations for people working together.

For example, in sports, these roles are called Positions. To play well, you need all the positions to understand how to work with each other. And you need everyone to focus on their position. It would be ridiculous in football (aka soccer) to have everyone try and be the goalkeeper. 

Implementing Promotion Bias Checks in Engineering

Perhaps the easiest way to reduce bias in promotions is to use a promotion bias spreadsheet

You can use this spreadsheet in promotion decision meetings to show, in real-time, who is getting promoted. This can help highlight bias, and result in better decision-making.

What Do Great Engineering Managers Need To Know About Compensation and Equity?

Today we’re going to do a whirlwind tour of compensation. Hopefully, you’ll learn a bit along the way, and I’ll share an exercise for managers called a compensation review.

What Do You Need To Know About Salary?

  • The largest expense for engineering organizations is usually salary. 
  • Salary is mostly determined by supply and demand. Engineers are fortunate to be an industry with high demand. Companies have to compete based on salary and benefits in order to hire good engineers. 

Structured Pay and “Pay Equity”

Some companies use structured pay. Structured pay is when there is a “system” for determining pay: