What were the top lessons you learned when becoming a (Software) Engineering leader?

It seems a lot of people come to Engineering leadership via a technical track - and have to learn management and leadership on the fly.

For those that have made this transition, what are the top lessons you’d pass on to someone coming up the same route?

  1. Software engineering leadership is still about solving problems. They’re just different kinds of problems—instead of technical ones, they tend to be more about people. Sometimes this means shutting off the logical part of your brain and exercising empathy. A very common mistake I see first time software engineering leaders to is attempt to solve an emotional problem with logic—I’ve been guilty of it too.

  2. Communicate a lot. To your manager, to your reports, to your peers. Build relationships with all of them, and err on the side of over communicating. Set clear expectations, and make sure to revisit and re-set them when required. Make it clear what you expect from others too.

  3. Never skip a one-on-one. This goes for both your direct reports and your manager. Always go for the full time, whether that is 30 or 60 minutes. Even if you have nothing work-related to talk about, you should still have them. The number one purpose of this one-on-one time is to build rapport. With that, you’ll find it gets easier to resolve issues down the track. Without, your work is going to get a lot harder.

  4. Read a lot. I recommend starting with Camille Fournier’s The Manager’s Path. You’ll get a lot of insight and ideas from sources external to your own company.