At the Write/Speak/Code 2018 conference an attendee asked me how I first became a Software Development Manager. I explained that as an SDE, I gravitated towards managerial activities like being the Scrum master, prioritizing tasks, being the point of contact for external teams, resolving team conflict, and staying connected to the big picture. When I started looking for management opportunities within my company (Amazon), my organization's Vice President offered that I manage my current team. At first, this was a scary alternative. How would my peers feel about me becoming the boss? Did they trust me to lead them and grow them? Seven years later I am still a manager, and here are the top 5 pros/cons I experienced.
- People management is an entirely different role from an SDE role; you will have a steep learning curve. If you start by managing your own team, you already know the code, so you can focus on learning people management.
- If you have trusting relationships with your teammates, it is likely that they will gift you critical AND constructive feedback when they become your reports.
- You are deeply familiar with your team's pain points, so you can focus on solving the right problems.
- You can more easily ramp up new hires
- You already have relationships with key contacts in external teams
- It is easy to revert back to being an SDE; for example, when there is an at-risk deadline, you may be tempted to jump back into coding full-time, thus neglecting your management responsibilities. Sometimes your teammates or leaders will ask you to pitch in, even when you have promo docs to write. Remaining a manager will require discipline, and commitment from your leaders.
- Deeply knowing your team's code base can make learning high-level communication with senior or executive leaders harder (they get lost in the details you provide.) This is very difficult to do well. It took me 2 years to get better at it, and I only mastered it after I switched teams.
- Some of your teammates may start treating you differently, and you may feel isolated. At some point, they may stop asking you to join them for lunch.
- Providing critical feedback to your ex-peers can be tricky; providing performance reviews can be almost emotionally impossible. You will need courage, candor, and lots of practice in front of the mirror.
- I tend to become attached to my teams and stay with them long after I outgrow the problems they are solving. This was pronounced when I became my own team's manager, I just had so much history with them and refused to leave to face different challenges (I eventually did, but that's a different post).
This path worked for me, but I would not recommend it to everyone. By far the hardest thing is managing your ex-peers performance: could you fire one of them if that is the only option left? If you think you can handle this well without hurting your team...then it is worth a try!