Use Your Experience as a Gut Check

This is a highly technical job that can’t be done by a person who does not understand and appreciate the challenges and tradeoffs of software engineering and technology. If your team invests their time poorly, it will reflect on you as their leader for not helping them come to better decisions. Rely on your instincts to guide where you spend your time and attention, and don’t neglect your technical instincts just because you are busy with people and organizational challenges.

Given your level of technical responsibility, how should you invest your time in order to stay technically relevant?

  • Read the code. Occasionally taking the time to read some of the code in your systems can help remind you what it looks like. Sometimes, it also shows you places where things have gotten ugly and need attention. Looking over code reviews and pull requests can give you insight into changes that are happening.
  • Pick an unknown area, and ask an engineer to explain it to you. Spend a couple of hours with one of the engineers who is working on something you don’t understand, and ask him to teach you about that area. Go to a whiteboard or share a screen and have him pair with you on a small change.
  • Attend postmortems. When outages happen, make it a priority to attend the post-outage debriefs. These meetings are often full of details about the process of writing and deploying software that you miss when you aren’t coding every day. Standards that you thought were obvious have been neglected or ignored. Communication between teams is lacking, and tooling is hurting more than it is helping. In times of failure you can most clearly see where problems have built up, and you learn where your attention is needed.
  • Keep up with industry trends in software development processes. One major weak spot for managers is losing touch with the tools and processes for actually developing, testing, deploying, and monitoring code. These are the places where new ideas can make your teams significantly more effective. Not every trend is worth pursuing, but make time to learn about how other teams deliver software so you can keep your teams evolving.
  • Foster a network of technical people outside of your company. The best stories are the ones that come from people you trust. Keeping up a network of peers in engineering and engineering management gives you people to ask for opinions on new trends. Use this network to get the real experiences behind the blog posts, talks, and sales pitches for new technology.
  • Never stop learning. Find articles and blog posts about technology and read them. Watch talks. Pick something you’re really curious about and dig in a little bit deeper, even if it isn’t relevant to your team or company. Don’t be afraid to ask questions of your team and look for opportunities to learn from them. Learning is a skill that you can practice to keep your mind sharp.