Engineering Leadership

Last Updated:

Over the years, I’ve had the chance to lead a number of different teams. This post is a collection of things I’ve learned so far, as well as my own thoughts on what makes an effective leader.

Leadership Types

Taken from a University of Michigan paper on leadership archetypes. The following four competing forces all have their time and place, and it is up to leaders to recognize and balance all four. Learning should also reflect this, i.e. true learning occurs when you have to navigate the tension across these groups, and not within any 1 particular group.

Robust Results

These actions drive performance under pressure. Results are delivered through a healthy sense of competition and good judgement.

Collaborative Communities

This is all about building relationships, empowering people, and cultivating trust and cohesion. However, too much comfort and a community can stop challenging each other to perform better.

Strategic Structures

Structures and processes establish accountability, ensure reliable processes, and optimize efficiency. These actions create the stability to execute.

Creative Change

In contrast to stability is creativity. Creative change represents the actions to enable innovation and create new opportunities.

How to Lead


Establish Expectation

Expectation is built on a two way street. You need to communicate your expectations, but also scale those expectations based on your team’s ability (althought remember that this isn’t necessarily a static value).

The amount that needs to be communicated can also depend on the individual. Someone with a lot of experience will need fewer check-ins, and too many might even be detrimental. On the other hand, someone who is new might need explicit guidelines.

Finally, as much as it might be bothersome to do, constantly reminding your team of what’s expected is effective. For example, asking everyone at the daily standup to update the status of their cards in JIRA.

Teach by Asking

Have you ever explained something to someone, only to repeat yourself a few weeks later? Moments like this make you realize that your original explanation never really sunk in.

A more effective solution that I’ve found is to teach not from my own understanding, but rather through the other person’s understanding. This means frequently asking non-trivial questions like:

This way, you allow the other person to show you their perspective. Then that becomes the anchor for what you talk through next. This can be effective in one-on-one meetings, but also in group meetings, such as a backlog refinement. Instead of having the product owner ask “does this make sense?” have the dev team present their understanding of each user story.

All that said, this advice is depends on that individual having the desire to understand “why” in the first place. For those who aren’t interested in learning, this probably wouldn’t work.

Patience & Teamwork

There can be a lot of frustration when working on a team, but at the end of the day, I think the following quote holds true:

“Go alone to go fast. Go together to go far”

In other words, it’s worth taking the time to teach or communicate. Although the sentiment of this quote is nice, the real world is more complex. Factor in finances, and there’s a limit to how much time and money you can actually spend on education. Importantly, how much education you can afford is a problem to figure out before hiring and setting project deadlines.

Traditions & Process

My senior year at UCLA, I took over as AIAA president and I made some sweeping overhauls in our club processes. Some traditions really were due for an upgrade, but all this change had the side effect of slowing us down in other unforseen ways. The whole experience made me appreciate the usefulness of tradition. Like habits, they carry some amount of momentum, and (for better or for worse) help push things along.

A good leader needs to create stability for execution, but too much stability stifles innovation.

In industry, traditions look like processes, and based on what I understand, processes are a way to delegate work. This usually happens when someone with more expertise must rely on someone with less expertise. Creating a process helps ensure that those who do the work don’t miss anything important. This is also a form of leadership, and one of the leadership archetypes.

Personally, I’ve found a checklist of questions to be more useful than instructions. Things like “Did you remember to factor in the required 25% margin?”. The goal is to encourage those who follow the process to learn the why and not just to memorize the steps. The best result is if everyone comes to know the problem well enough to no longer need the process.

The worst result is that the proces becomes a crutch, because the team no longer understand the problem enough to get things done without instructions. Maybe someone retires or leaves the team, and now everyone is blindly following a proces without understanding why it was established in the first place. In the long run, it may be beneficial to remove the old process and build up a new one from scratch that people actually understand. This is why it’s so important to document rationale and to encourage new engineers to always be asking “why”.

Influencing Behavior

Long term sustainability is built on good habits, but how can you change a team’s behavior to adopt healthier habits? The book Influencer by Grenny, Patterson, Maxfield, McMillan, and Switzler offers an explanation. In the book, the authors highlight six different considerations when it comes to influencing how people behave, organized in a matrix like this:

  Motivation Ability
Personal Personal Motivation Personal ability
Social Social Motivation Team ability
Structural Economic Motivation Access to resources/space

I won’t get into details on each, but I think it’s important to remember that there are multiple dimensions to motivation. If you’ve pursued one dimension without seeing results, consider if there are other aspects which are resisting. A few takeaways I want to highlight:

  1. You can motivate individuals, but it won’t be very effective if they are recieving pushback from their social circle. Both people and teams need to be aligned.
  2. Many tasks require teamwork, and that may require a certain amount of social capital. This is an example of social or team ability.

Talent

There’s two perspectives on the distribution of talent in the world. The first is that talent follows a normal distribution, where the majority of people fall towards the middle. In such a world, the largest benefits are reaped by “moving the middle”. If you can slightly improve/support the average worker, your total output will go up, simply because of the numbers.

The latter view, perhaps a more pessimistic view, is that talent is a power function, with the majority of people towards the bottom, and exponentially fewer individuals who are truly “talented”. In such a view, attention must be put on attracting and holding only the best individuals.

Perhaps the world is large enough that there’s room for both. Whatever it is, we can use these views to help understand different strategies for attracting and retaining talent. At companies like SpaceX, the culture and environment is more geared towards the latter. By having the reputation that they do, talent self-selects before they even step through the door. The people who apply are prepared to compete and work long hours, even if the pay and benefits aren’t as competitive.

Engineering Leadership | Notes