Greg Yung Logo

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.