I was an engineering manager for about a year after having been a software developer for most of my professional career. Here are some of my learnings and takeaways during that time on how to manage effectively.
Engineers build and maintain systems and code; managers build and maintain relationships.
Your true power is in the relationships you build with the people you interact with. In choosing how you spend your time and who you foster relationships with, you’re telling yourself and others where you think it best to invest your energies and time.
One dev will spend more time on tests than others. Another dev will spend more time on learning new skills. Yet another will spend time refactoring to reduce tech debt. These are all choices we make as developers, and we do our best to decide how to most effectively use our time toward a bigger goal (hopefully?).
Everyone has their own style of management just as there are different personalities. Each manager goes on their own path to find their own voice. Much like some engineers will be more fans of TDD than others, some managers will have their own style of how they like to be effective in building their relationships. What will your voice be?
Things that helped me
- Figure out how to take and organize notes
- As you deal with more inputs from different sources, you’ll likely lose track of a lot of it, especially what’s said in meetings
- Take notes at meetings, all of them!
- Learn how your team prefers to communicate
- What medium does your team prefer: Slack? In person? Email?
- Use the team’s language, not management’s, which can be alienating and make you seem unrelatable
- Because your primary focus is on relationships, you should be prioritizing 1 on 1’s with your team members
- You will be spending a whole lot of time setting up meetings on your calendar: optimize your calendar workflow like you’d optimize hotkeys for your favorite editor/IDE
- Ensure predictability for the team
- 1 on 1’s should be recurring calendar events to help your team members to expect them
- Keeping a consistent release cadence for our mobile app helped our team at Hipmunk
- Your title means very little and gives you no power: the power of the relationships you build is much more effective
Nerds, growing up as social outcasts their entire lives, have doubt about existing structures because those structures have made them feel like broken people since childhood. And thus, they’ve developed a voice inside their heads that they may be doing things wrong.
But, nerds have a superpower, which can easily be used as a crutch: nerds are smart. Society values those smarts, and companies will pay money to exercise those smarts for the company’s profit. But this kind of situation can also make nerds feel valued for only being smart: like you’re a monkey, a party trick, and someone just full of trivia that’s interesting.
Your job as a manager of nerds is to help your teammates realize their superpower is valued and that it’s celebrated where they are. “You don’t have to temper your geekiness, you don’t have to self-regulate your need for understanding and research.” You understand where they’re coming from because you’re one too. Genuinely and truly—you have to care about nerds as human beings and not as a resource that’s just used to help someone up the corporate ladder profit.
Your value as a manager to the company is that you’re able to have a real rapport with nerds. Because non-nerds don’t know how to do it themselves. Suits generally suck at this. You understand what it means to be a nerd and the struggles that have gone into your life to be that way.
- Thomas Genin for his guidance in my embryonic stages of management and understanding that each manager has their own voice that they have to learn how to use.
- Effective Manager Notes
- How to build a startup engineering team
- @jenistyping’s Twitter thread: “most people have never had a truly great manager at work and that is a travesty”