Brief Notes on Being a Tech Lead

What I have learnt from managing software engineering teams

For quite some time, I have been leading software engineering teams. This is not a piece of advice for current or prospective tech leads. In fact, I believe that most of you are better at managing a group than I am. Nonethelss, I wanted to convey what I have learned from this incredible journey in the hopes of inspiring some of the readers.

There are no rules that you can follow to reach the global optimum of software engineering managment, just as there are not rules for many other kinds of art in the world. Your strategy will most certainly be determined by the situation, the team, the individuals, the objectives, and sometimes even your own style as the leader.

However, there are certain areas of focus that I attempt to improve, and I have found that they have helped me construct a more successful and cohesive team. In general, I prefer to establish a team that can accomplish ambitious long-term goals rather than a team that can accomplish simple tasks quickly.

  1. Engineers are most productive when they are inspired rather than forced. Do not simply ask them to do just what you want them to do.
  2. Create an environment where the team is allowed to take risks, express their thoughts and try techinically demanding solutions freely. Mistakes help people grow, but punishment does not.
  3. The majority of so called metrics are not well-defined. Such not-well-defined metrics are far worse than having none at all.
  4. In terms of improving development performance, DevOps and Tooling are more significant than you may realize.

Or to summarize them in another way, try not to be a lazy manager.

Break Yang
Break Yang
Automate Things

I am a software engineer by trade, working on automating things (e.g. cars). I spent my school years studying Math, Control, Economics and Computer Vision.