In recent times the issue of leadership has been a factor in the quality and felt experience of projects I have been across in my contracting career. These have ranged from feeling like everyone's a leader, having their own say and ideas on where the project should be going, to completely zero ideas on what the team is doing and everyone suddenly wants to know what the floor looks like when they're asked who's supposed to be doing what.
The Early Days
I'm not one who's always respected authority, or leadership outright. Maybe because I've always understood the importance of leadership in any collective objective, and that leadership not done right can mean a lot of wrongs for the team, the project, and also at the individual level.
I've experienced leadership "by default", i.e. parents, older siblings, people who you just accepted to be the leaders of your group, family etc. And in my experience, this showed me that just because you were in the "position" of leadership, does not mean you are a leader - or more pointedly, should you be.
Bad Leaders
Over the years and through many companies, I've been exposed to "leaders" of all stripes and colours. A bad leader is not something I recognized straight away, or even knew what a bad leader looked like. But over time, and after being able to recognize engineering, or operational or design mistakes that lead to a bad outcome, slowly but surely a more ephemeral cause of bad outcomes started to identity itself. That's probably a little overly dramatic because it wasn't always super subtle when it came to identifying that "bad leadership" was happening.
For example, a manager not managing a toxic employee so that person negatively affects the rest of the team resulting in people avoiding coming to work, or being too afraid to make mistakes in case of being bullied that they freeze up and other people have to come in to help out. That, is clearly some bad leadership.
Under the Bus
Team leaders are little bit different to managers, but all the same, they are in a leadership position. They're in the actual team doing stuff, and usually have the technical experience to back up their ideas, thoughts etc. I've known team leaders to, in a panic when they've been put on the spot during a project meeting, immediately throw me under the bus in an effort to save their own ass (i.e. just not "look bad"). You only need to do this once (with me at least) and I'm not trusting you or your brand of leadership again anytime soon.
Being the leader means owning the decisions made, and the resulting work.
Grow a Pair
A more subtle that erodes this trust in the "leadership" is during periods of an insane amount of work going on, and too few engineers to do the work. You're under pressure, and being pulled in a thousand different directions. There are only so many hours in the week, and you have been battling one project manager after another to explain the simple math of a 50 hour work week to them, but are failing due to having a lot of work on, and not much brain capacity to deal with "managing" people and their unreasonable expectations.
So you turn to your manager to help. Help you by fighting this fight for you, by talking to the higher ups and alleviating some pressure because surely your manager can sell the fact there is only one person here doing this work, doing 50+ hours a week and he's quickly burning out.
If your manager comes back with "okay, we've decided we're going to try and figure out how you can provide all the work we need from you, to the deadlines, and with no overtime pay because its not in the budget"...
If you get this result - your manager couldn't fight their way out of a wet paper bag, and you should probably find another team asap.
Bad leaders allow bad things to happen because that's what leadership does. It's tasked with understanding the people, projects and business outcomes for the team and seek to serve these purposes.
So when the leaders fail to do these things, either through ignorance or sheer incompetence, bad things are allowed to happen.
Good leaders
Sometimes when writing about everything that's gone badly from a leadership perspective in my IT career, I can easily forget the good leaders I have worked with and have shown through their actions what good leadership looks like.
I had a manager who fought HR for me because he believed I deserved a second chance and that my past mistakes, irrelevant to my current position, shouldn't be held against me. He used his influence and position to negotiate and save my job. I'm not saying a good leader necessarily just gets you "out of jail free", but they are one that can assess a situation, make a values-based call on the matter and then back that decision up through action, to a successful result.
I've worked with a particular Project Manager who really motivated and sought to understand not only what the business wanted out of the project team, but also how the project team thought and felt about the project. How the team was dealing with business requirement changes, and other pressures that were going on. He would trust his team to work on the problems and check in only when it was absolutely necessary to disturb the work with offers to chase up other resources if he needed me to have him commandeer that.
I know a DevOps Manager who stands up for her team in a big room full of executive level suits. She asks the hard questions point blank drawing the disdain of these "important" people in order to communicate the negative effects these people were having to the work "on the ground". She would go immediately at the "problem managers" everyone knew were the roadblock and would be fearless in the face of company politics for the greater good of what her team was trying to achieve - for the company.
This is (imo) good leadership.
Lead, through service
leadership is not standing over everyone barking orders at them and then telling the rest of the company how well you did. well, good leadership at least (imo). There is an iconic Samoan proverb that goes
"O le ala ole pule, o le tautua".
Which translates to "The way to leadership (authority), is through service."
And that's my take on leadership as well- that a leader is someone who is there to "serve" the team, to "serve" the needs of the project. So that whatever is required, by the team or the project can be managed, co-ordinated, understood, resolved i.e. served, by the leader (in conjunction with the team of course).
The old model was that the manager aka leader was "in charge" and the team worked for this direct leader. And this fits in with the "old world" view that gave us silos, and sort of "protectionist" teams who draw lines between their work and yours.
Not only is that mode outdated, I think it collides with the way the new world of DevOps, of Cross-functional teams, needs to work. I think I've made the "microservices" analogy in another post, but we should all be working together like microservices for the same overall "application" (not sure the analogy holds here, but its 10pm and I need to finish this post)
There can, and must be, only one
Lack of leadership is it's own issue. Especially in tech, where there are "a lot of smart people", people managers may be forgiven for thinking they can leave a group of "smart people" together and they should be able to suss out a consensus on a direction, tasks and work involved for the project.
"We don't need a leader right? We'll just have a few meetings, make a few decisions and everyone can get to work."
People think they can "share" a leadership. And I'm sure there's going to be a use case for exactly that out there in the wild, but in my experience, there needs to be a leader - one. Now if you've been following along with this post you would push the completely understandable knee-jerk reaction idea of a dictatorial leader who everyone has to listen to, out of your minds, and see that there has to be someone to take the responsibility of "serving" the project by doing this job.
The job of understanding the project, the business reasons, the team, the team dynamics, the technical effort etc all in an effort to do the mental and emotional work of figuring out the best course of action, based on the consulting with all stakeholders (the product owner, the business, and especially the project team), making the decisions, and then seeing these things through.
Conclusion
I was going to write a conclusion, but I think there's only really a few ideas here and I've covered them pretty thoroughly so I think my conclusion will be brief.
Bad leadership, other than being blatantly experienced through bad decisions that directly affect your work and workload, can also be felt in an "overall" sense of morale, 'safety' and level of trust felt by the team towards those people recognized as the 'leadership'.
Good leadership exists and can be seen in selflessness, servitude and genuine empathy of the team, the project, and the personal experiences of the humans involved in the busineses. Good leadership leads through service. Its unselfish.
While we might not all believe in having ONE leader, it's fair to say that a minimum of ONE is required. This person is not "the boss". We understand the leader to be of service to the team. To take on the intangible, non-functional aspects of the workloads the team must take on, and do this "for the team".
Overall, leadership makes its mark on your everyday work life whether you're aware of it or not. And these are just some of my thoughts on the subject.