Leadership

Leadership is at the heart of everything. Everyone in your organization needs to be a leader.

You, specifically, need to expect and foster leadership.

What’s leadership?

Entire books have been written about the topic, but let’s focus on three leadership principles.

Ownership - Leaders own their work, from top to bottom, and more. This includes other products or services, work done by adjacent teams, and everything that has to do with “the business”. No task is beneath leaders, and leaders make themselves accountable for the whole. In other words, leaders never say "it's not my job".

Deliver Results - Leaders are concerned with delivering the right results. These results are never great functions, clever software designs, or an elegant architecture. It’s always an output furthering customer-focused goals, delivered at the right level of quality and in a timely fashion.

Debate Openly, Commit Fully - Leaders respectfully challenge decisions when they disagree, even when doing so is uncomfortable. They understand that the best decisions come from challenging ideas from diverse viewpoints. However, once a decision is reached, no matter what it is, they commit to it fully.

Note how each idea is interconnected:

  • Acting as an owner is a safeguard against delivering wrong results.
  • Identifying the right results requires challenging decisions.
  • Not fully committing to a decision, even in case of disagreement, is not acting in the best interest of the whole.

This barely scratches the surface of leadership, but it covers sufficient ground for now.

Why is leadership so important?

As mentioned when discussing tenets, leadership ensures there's no need to define every single contingency - which would be wasteful. In essence, leadership is the only effective way to create an adaptable organization, and distribute decision-making. This is really the core of any agile development.

As a manager, you will create feedback mechanisms to ensure the right decisions are made - but will make few of these decisions yourself, if at all. See it as an indirection: your role is not making good decisions, but ensuring your team makes good decisions. You're not first violin, you're conducting the orchestra.

Why is expecting leadership important?

Would you work with a lawyer who doesn't own their work, or who can't effectively communicate with the judge without checking with their manager first? Software engineers are also professional, and leadership is an inherent expectation of that role - just like coding.

Obviously, expectations will be different between a senior engineer and an intern. Still, interns should be part of the discussions and positively encouraged when they ask questions, seek to understand, and even challenge decisions. That's the fostering part: the expectation of leadership will, by itself, create a virtuous cycle of engagement and growth.

How teams react to leadership expectations?

Having a sense of purpose is how we all work best, and how we derive the most satisfaction from our work. You may have heard of the three bricklayers:

An architect observed three bricklayers working on a scaffold. He asked each what they were doing. “I’m laying bricks”, said the first. “I’m building a wall”, said the second. “I’m building a cathedral”, said the third.

Team members relegated to implementing tasks without a connection to the whole only see bricks and mortar. By expecting leadership, we aren’t merely asking engineers to lay bricks or even build walls; we're inviting them to build the cathedral. And in that vision lies their motivation and passion.

Why is fostering leadership important?

The fostering part of the equation ensures your organization grows leaders. Growing leaders is the main way your organization scales, takes on greater challenges, and is empowered. This has a direct impact on the quality of the solutions you build, morale, retention, etc.

As a manager, a significant part of your role is providing psychological safety. That is, an environment where engineers feel safe owning the work, proposing alternative solutions, and challenging decisions - no matter who made then, including you. In addition, you must communicate these ideas, praise engineers when they demonstrate leadership, mentor others to do the same - and even hire based on these aptitudes, in preference to any specific skill or knowledge (more on hiring later).

It goes without saying that you must also act as a leader: demonstrate ownership, deliver the right results, challenge ideas when you know better ones, and fully commit even when you disagree.

Ultimately, nothing replaces leadership. Not the best processes, no amount of planning, no methodologies - the success of your organization depends on it.

What if an engineer in my team doesn’t want to be a leader?

What would you say if an engineer doesn't want to code? Leadership is part of the core role expectations, not a nice to have.

That said, people sometimes conflate leadership with extroversion - they are not the same. Some of the best leaders I know are introverts. As we dive deeper, we'll see how people can contribute in various ways, regardless of their preferred mode of communication.