"Leadership"

"Leadership"

Updated: March 15, 2023
leadership teams software-engineering

I’ve opened my eyes.

Leadership is crucial. It seems obvious, but in my naiveté I thought a team of sufficiently-capable engineers could operate fairly independently of managerial/c-level leadership. You have Product give us some specs and we can make it happen…

Until it doesn’t.

Team dynamics and personal motivations can run smoothly until you have a crisis of some sort and the team either begins infighting to assuage guilt, or becomes shell shocked to the point of impotence. This is when leaders should begin to show their value (from an Engineer’s perspective, mind you. The business' definition of ‘value’ can be different).

Poor leadership exaggerates these negative environments or, worse, becomes complicit in the attrition of an otherwise capable organization. This has the effect of “Oh s**t!” hires (we need to hire someone asap, so we’ll drop our standards) which leads to plummeting software quality and distrust through the larger organization with respect to the engineering department as a whole. Or, and this seems less common in my experience, you get a particularly toxic individual with too much power, essentially bullying the team with little-to-no ramifications. It’s quite possible to have a well-entrenched individual “ghost running” the team by sheer force with an apathetic or oblivious leader enabling the behavior.

So what then are a leader’s valuable skills?

  1. Trust
  2. Support
  3. Neutrality
  4. Vision

From what I’ve seen a business tends to hyper-focus on #4 with the implicit belief that with vision comes the other three. I believe that to be a falsehood. Without dipping my toes too much into the culture war, we can see ‘vision’ without the other three in ‘reports’ of the engineering morale at Twitter under Musk. We’re told there’s vision (from leadership) with no neutrality, little trust, and diminishing support (from others' anecdotes).

Trust:

The team needs to trust their leader. But what is trust in this context? Trust from the team is gained by the understanding that you, as the leader, will not sacrifice your previously-stated ideals for political/selfish gain. This is a hard-won attribute and cannot be self-prescribed. It needs to be earned.

Support:

Software Engineering is hard. It requires constant self-education and intellectual vulnerability. If a person wants to grow as an engineer they need to feel that their leadership sees that potential. It allows for uninhindered experimentation and a recognition that your mistakes will not be held against you (within reason), but instead will be interpreted as a process of growth. Without that support morale on the team can take a dive. People become ashamed of their ignorances and afraid to make mistakes for fear of reprisal. Worse, motivation to “go the extra mile” languishes.

Neutrality:

What good is a leader who enables cliquish behavior within a team or maintains biases in favor of certain employees, effectively nullifying another employees issues? It is not the leader’s job to be a “friend to all”. It is the leaders job to ensure the team has the most productive and supportive environment possible. This is not to say a leader cannot be friends with a direct report, but instead, they should maintain a set of two hats: leader and friend, while never conflating the two. In this context, friendships potentially blind leadership to interpersonal issues amongst teammates.

Vision:

Vision is a two-facet thing. You have vision as the business sees it and vision as the team understands it. ‘Vision’ from the business' (and the team’s to a partial extent) perspective can be as simple as “I see us here ‘x’ years from now.” ‘Vision’ from the team’s perspective is a super-set of this alongside the understanding of how each person on the team is an important step towards that goal and that their assitance towards it will be supported in ‘y’ ways.

Red flags to look for with respect to “leadership”:

  • High amount of team churn
  • Minimal top-down communication (lack of team meetings, a general sense of being kept in the dark)
  • Dearth of personal feedback (you’re either amazing or they don’t think the feedback matters)