The Lessons Learned on Leading a Team

A bit over six years ago, I was a greenhorn rising star engineer (in my own opinion) who was looking to prove himself with a good challenge to accomplish. A team leader position happen to be vacant and I saw an opportunity, but I didn’t have any prior leadership training. It was my first attempt and I failed horribly, but I grew explosively and learned many hard lessons through my failure. Here are the top 5 lessons I learned.

Lesson 1: Lead them. You’re not an “Individual Contributor”.

“What can I do that will contribute the most to my team?” Hint: It’s usually not coding. The most difficult challenge is getting out of the individual contributor mindset. When I first started, I spent the majority of my time working on coding and very little time actually leading the team. You are not in a role that deals with only the small picture so focusing only on coding and getting your own work done sets the team up for failure. It hit me one day when my boss reminded me: “Your performance is based on how well your team performs and not how well you perform individually.” You’ll need to constantly check on the health of your team and offer support whenever needed by talking to them. The answer to the question is doing something that will unblock a person by teaching them, tossing the idea ball around, or removing the obstacle.

Lesson 2: Offer support. Don’t steal work.

Many people fall into the trap of thinking “I can do this in an hour! Why are you taking several hours to do this? I’ll just do it on my own.” Completing someone’s work gives spikes of short term gains but it will set a precedence for people to stop trying in the future because there would be someone to bail them out. It also badly stunts the person’s growth by not allowing them to learn or make mistakes. Thinking about it in sports, you’re the coach and not a player. A coach does not run onto the field to replace players when things are dicey. Change your tactics and strategies to adapt to the unexpected changes.

Lesson 3: Stay Calm. Don’t panic.

Don’t panic! You’re the leader and everyone else will panic if you do. Remember that you are not alone and you have a team of smart people who are problem solvers. Communicate with your team that the schedule is slipping and figure out game plan together. Something can always be changed or cut from the final delivery to make the schedule. Software is not perfection but iterative progress.

Lesson 4: Build trust. Don’t lose it.

Trust is very important in a team. There are many different ways to build trust within a team such as doing team bonding events. The Golden State Warriors eat dinner together for team bonding. There are other ways also such as publicly showcasing someone’s achievement or giving exciting opportunities to people. Find the way that works for you and your team.

Lesson 5: Failure is okay. Don’t blame anyone.

Even the best sports teams do not win all the time. Maybe the most important lesson to learn is there will be failures once in a while. It can not be avoided, but you will lose trust when you start blame specific people. Take it as a learning opportunity to revisit the plan and see what could have be done differently. A good leader will take the responsibility of the outcome despite if it’s a good or bad one.

Engineering leader. Software Developer. Problem solver. Failing forward.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store