Thoughts on Leadership
“A boss has the title, a leader has the people.” — Simon Sinek
“Leadership” is a loaded term. We share a rough understanding of what it implies, but there is no single definition of what a successful leader is or does. That is exactly why each of us must define it for ourselves, within the context of whatever we are leading.
We are all leaders — we must first master and lead ourselves. A leader doesn't require the title of ‘boss’; leadership is measured by the impact one has within their sphere of influence. A leader looks at the bigger picture, holds a vision of the future, and has the ability and emotional intelligence to motivate and inspire others to help fulfill that vision. A leader brings their full attention to the team, so the team can focus on the mission.
A leader isn't concerned only with their own output, but with the output and quality of the whole. We can do more and be better together, and a leader's job is to empower collaboration and raise everyone's game.
A single page can't hold two decades of thoughts on leadership — you'll find plenty more in my writing on the blog.
Leadership philosophies that I subscribe to:
- Leadership is a position of service.
- Failure is an opportunity for growth.
- Discomfort breeds new ideas and positive change... don't get too comfortable!
- Autonomy empowers when coupled with accountability.
- Always be nurturing the next leaders.
- Check ‘in’, don't check ‘on’.
- Proactive, not reactive.
- Answer the ‘why’, not the ‘how’.
- Vision: Clarity is power.
- A joy shared is a joy doubled, a pain shared is a pain halved.
- A leader's success is reflected by the success of others.
- Be Authentic. Be transparent.
- Influence, don't enforce (exceptions exist).
- Mistakes happen. Fail forward, fail fast.
- Before you can improve, you must be able to measure.
- Ask the dumb questions so others don't have to.
- No one is smarter than all of us.
- Leaders speak last.
Engineering Philosophies:
- Write your code as if the next engineer is an axe-wielding psychopath who knows where you live. Comment abundantly.
- Code is an art, treat it as such and make it beautiful.
- Deliver with confidence - write effective tests and automation.
- Release as often as possible.
- Engineers do not work in silos. An engineer working alone can be a dangerous thing.
- Trust the numbers (AB Tests), not your gut.
- Code segregation is king. Separation of concerns per layer.
- Don't get personal, keep a low attachment to your code.
- Commit and push often. Don't get hit by a bus.
- The least amount of code is not always the best code.
- Allow for freedom of expression, within a framework of standards.
- Assume ugly or painful legacy code was written that way for a reason. Don't judge your predecessors.
- Knowledge is power. Knowledge sharing empowers. This also builds trust.
Process Philosophies:
- Too much inventory (work in progress) is bad. Get things to done.
- Small incremental efforts build towards big success (Kaizen).
- Change is constant and expected. Strategy first with room for tactical needs.
- Clarity of team vision is critical.
- Just enough process. The need for process will reveal itself in the form of discomfort and confusion.
- Don't wait for all the answers to start.
- Make work visible.
There is no one-size-fits-all style of leadership, and I believe in intentional leadership where trying out new approaches, combined with regular reflection, will inevitably breed a great leader and build great teams.