Code And Kindness

A Blog About Software Engineering and Management Careers

New Manager Guide

Making the transition from individual contributor to manager can be difficult.  This guide is for first time people managers, but also might be helpful for those who are changing to a new team.

Prepare

It’s always good to go in with a plan. Sometimes you are aiming for a manager role for months or years, and sometimes you get promoted to one when your manager retires because you are the most senior person on the team. In either case, it helps if you have a strategy to make sure you are prepared . I find it helpful to study by reading so I have created a list of books I recommend for managers here: 11 Excellent Books for Software Engineering Managers . You can also find some pretty good resources on YouTube and through podcasts. Find material that resonates with the style of leadership you want to have.

Additionally, you should find a mentor.  When I first became a manager, my boss’s peer matched me with a mentor and to this day, he remains an invaluable source of guidance and a great person to bounce ideas off.  Sometimes you won’t have a great manager to guide you through the transition, and it’s helpful to have someone to help you with situations you haven’t encountered before like managing an underperformer or an employee who has inappropriate behavior.

Observe

It can be tempting to run in and start changing things right away, but this can often cause people to become upset if they feel their opinion hasn’t been considered, or if they liked the way things were. Moving too fast can increase the odds of you making a change without fully understanding the situation. Take a step back and make sure you under why things are the way they are and tackle root causes instead of surface level issues.

Understand Expectations

When starting any new job, it’s important to align with your manager on expectations of the role.  Some managers may expect you to stop coding and focus entirely on people management.  This is usually the case when you are managing large teams where it’s unrealistic for you to do much more than meetings.  On the other end of the spectrum, if you are managing a small team, it may be expected that you will be a technical leader on the team.

Learn About Your Team

Each member of your team will have strengths and weaknesses, as well as preferences for how they work.  Make sure you align with your direct reports on what their strengths are, and areas they want to grow in, and ensure their skills match their daily work.  Additionally, you need to know how your team members prefer to work.  It can be helpful to keep a list of questions and ask them to answer. Some example questions might be:

  • Do you like to be praised in public or private? Verbal or written
  • What steals your energy at work?
  • what makes you excited about coming to work?
  • What would make you leave the team?
  • Do you see yourself becoming a manager or staying an engineer?
  • What is most important to you (promotion, money, what you work on, etc)

Remember that every person is different.  Some will enjoy deep diving on technical problems, while others may enjoy working with others and helping the team.  The exact questions you ask will depend on the team, but asking these types of questions can get you started in understanding your team.

Understand the Career Guide

One of your primary roles as a manager is to guide your team member’s careers.  Don’t make the mistake of thinking people know how to manage this themselves (especially junior engineers).  Make sure you familiarize yourself with the expectations of every level, especially if you are managing with more experience than you. 

Every company has a review process, and it can be shocking if you get to review time and you think someone has been performing fine only to find out there was a huge gap in expectations you didn’t know about it.  You also need to know what the long-term options are for people who are planning their careers.  Some people just show up to work and will follow wherever their career takes them, but others may want to have a 5–10-year plan.  Also figure out what career paths are. Is the only way to advance in your organization through management?  Or is there an architect route for engineers who don’t want to be managers?

1:1s

As a manager you need to spend time with the people on your team to understand how they work (or don’t work). Make sure you set up regular 1:1s with your team as soon as possible. I try as hard as possible to have one hour 1:1s with everyone on my team every week. I’ve found that if you only do 30 minutes (or less), it turns into a status update and doesn’t give you any time to build social capital. It takes time to build trust and part of that is getting to know your team members beyond what they are doing in the moment. When I first take responsibility for a team there are some basic things I like to do:

  • Get to know what they are working on. Nothing makes an engineer gush than being able to talk about the cool thing they implemented.  It helps build the relationship and you’ll learn something new.
  • Make sure they understand the career stages of Software Engineering (details here)
  • Make sure they know how the review and promotion process works. 
  • Start to talk about career plans, nothing derails a career more than not having a plan.  How much people care about promotions and career progress vary wildly per individual.
  • Get to know what interests them, especially outside of work).  People underestimate this a lot. Knowing about someone’s interests outside of work gives you something to talk about to get to know each other.  You can likely learn something new and it’s a great chance to better understand your team members. 

Find the Hot Spots

On any team there are things going well, places that need improvement, and things that need immediate attention.  Find the hotspots – things that may turn into something problematic.  The common areas that I’ve seen are:

  • A critical employee looking to leave the team
  • A chronic underperformer dragging the team down
  • Wildly out of control bug count
  • Tension between employees about to boil over
  • A product rushing towards a low-quality release

Find these areas as quickly as possible by using a combination of your new manager and your team members.  Unlike team process where you have time to observe and make changes slowly, with these you want to move as quickly as possible to get ahead of things.

Make it Safe

One of the most important things you can do as a manager is to build a team that is psychologically safe.  There is a great TEDx talk by Amy Edmondson (here) and one by Simon Sinek (here) about what this means and why it’s important.  Employees will perform their best when they feel safe and aren’t worried about defending themselves from you or the company’s leadership.  They need to feel protected.  Employees that feel safe will also be more likely to disclose errors to you and are more likely to challenge you (which is critical to coming up with the best ideas).

Common Traps

Making the transition to manager is tough, I’ve included some of the common places I’ve seen people get stuck making the transition.

Holding on to your old job

One of the most common traps, especially if you are promoted to manager internally, is still trying to hold on to your old role.  This can take the form of either literally trying to still do the job (trying to work on features and checking in code instead of managing the bigger picture) or through micromanaging others (being overly involved in features, telling others what to do). There is a great book (link) that talks about the traps of trying to hold on to the job you just left. This not only causes the team members to get frustrated when they lose autonomy, but also causes you to get stuck because trying to do the job you just left is less time you have to start leaning into the job / promotion you want next).

The Allure of Positional Power

Once you are the “boss” it can be very tempting to rely on what is call positional power to get what you want done.  This “I’m the boss now you have to do what I said” approach doesn’t scale well.  While there is a time for you to be decisive, if you overexercise this power people stop feeling like their opinion matters or feel like they don’t have autonomy.  Both are critical to high-functioning teams, so it’s important that you use your positional authority sparingly.  Try and make your team a meritocracy, where the best ideas win out regardless of where they come from.  I’ve had junior engineers who come up with brilliant ideas, especially when more senior devs get too comfortable with the old ways of doing things.  As a manager, you will start to get further away from the code, so you need to trust those who are closer to it to make the right call.

Peer Relationships

Often if you have many peers who also wanted the manager’s job you may have to deal with peer envy. Sometimes they are upset because they were passed up for the chance for you. It can also be the case that you were once close working partners with someone and now you are the boss. It can cause a lot of tension when you must give them feedback and cause strain in the relationship . Give them time to adjust but also set clear boundaries so that it’s clear that the relationship has changed.

Trying to Look Like you Know Everything

You’re the boss now, so you should have all the answers, right?  Wrong.  It can be tempting to try and justify your role by appearing all knowing, but it’s much better to set a good example and let people know when you don’t know something. Leaders admitting, they don’t know everything is key to establishing a growth mindset on a team. 

Trying to be Just Another Member of the Team

As uncomfortable as it can be, especially if you are promoted internally, you must understand that you are no longer just another member of the team.  What you say carries a lot of weight and people will be intimidated by the fact that you are responsible for their reviews, their livelihood, and if they get promoted or fired.  It’s important to empathize with this and not pretend that you are just any other team member.

Fear of Feedback

One of the most important parts of being a manager is to give direct, actionable, and frequent feedback.  It’s something that is hard to get used to but is one of the most critical aspects of running a high performing team.  You need to learn to give feedback that is clear but balance it with the difficulty that can come from hearing feedback.

Surprises during review time can be devastating to employees. If you don’t provide feedback, they can’t work on improving what’s wrong. Help them understand that you are providing feedback because you care and are interested in helping them achieve their best.

Additionally, you should be asking for feedback from your employees.  The feedback itself is valuable but it’s also a good gauge of whether your team trusts you enough to give you real feedback.  Remember feedback is a gift, even if you don’t agree with it. The courage it takes to give your boss feedback is no small feat.

At the end of the day being a manager is about your people. The key is to remember that each team member is a human with their own hopes, dreams, and interests outside of work.  If you keep this in mind and treat them with respect, you’ve taken care of the most important part of the job.