Good leadership is flexible
There are so many articles about what being a good leader is – e.g. being a “servant leader”, a “strongly opinionated leader” etc. The truth is being a good leader just boils down to helping your team strive and maximize its impact.
This also means that your type of leadership has to change based on the team you are leading and the environment you are working in:
- You don’t lead a very senior team the same way you lead a team of new grads, for the same reason as you can’t lead a 500 person org the same way you lead a 10 person team.
- You should adapt your leadership based on the current gaps – e.g. if what’s missing in your team is technical leadership, it’s more important to fill this gap than try to provide additional leadership around people management/processes.
- Even within a team, you should adapt based on the needs of every individual. While you must strive to be fair to every team member, some coworkers may need more hand holding/traditional leadership while others may need more support/being pushed out of their comfort zone.
If you are in a position of leadership, one of the most important habits you can develop is to constantly step back and assess where your leadership is actually needed – this also implies that you should constantly gather feedback from your team to understand pain points, difficult dynamics and rising issues.
This is very similar to how I believe good senior ICs must be able to write code if they have to – e.g. if they move to a smaller company where they won’t have an “army” of junior engineers to execute their design/vision.
This makes being a leader a constant struggle where whatever mental framework you built in the past should be revisited every now and then – this is also what makes the role interesting in my opinion.