I’m still relatively new to this whole ‘managing’ thing. It’s been an interesting transition moving from the role of an ‘individual contributor’ to that of someone who helps look after a team of people.

I figured it a little presumptuous to offer advice on how to be a good manager so early into my career as one, as it’s still an objective I’m working towards myself; but I hope by now I have learned how not to be a terrible one! Here are some of the things I’ve learned along the way - if you’re someone reaching a similar point in your career, I hope you’ll find this advice useful :)

(note: special thanks to jessica for the illustrations!)

1. be a zero

One of my favourite books is An Astronaut’s guide to life on earth, by Chris Hadfield (if you’ve not read, I highly recommend it). In it, he talks about the concept of how in any situation you can be either a ‘minus-one’, a ‘zero’ or a ‘plus one’.

As a new manager joining a team, there will be an innate desire to try and prove yourself as immediately productive and valuable to the team. This is also often echoed as ‘conventional wisdom’ as you try your hardest to be a +1 and make your presence felt.

However the reality is that most of the time you don’t have enough context of a new situation to be a positive influence and despite your best intentions you end up being a net negative to the situation.

So, be a zero. Aim to observe and absorb the current environment. Listen and understand before you try to change something. If you need to shout to be heard, then you’ve failed. Be a zero.

2. learn to say yes

When I think back over some of the managers I’ve had in the past, there are some common themes that stick out in my head. I’ve been lucky to have worked with some great people, but at the same time I’ve always worked in environments that have been extremely fast moving. As a result, my managers* (or equivalent) have often carried a air of hurriedness around them. This always made me feel slightly awkward when asking them for something and created an invisible barrier. As time went on, I went to my manager less and less, and the gap between us widened.

As a direct result of this, I’ve made a conscious effort to always respond with a ‘yes’, whenever someone from the team asks for a minute of my time. Try your best to remove any conscious or unconscious barriers you may be creating, as a major prerequisite for being an effective manager is having enough information.

*Caveat: This has a potential for being overwhelming, especially when it leads to uncontrollable context-switching. If this is the case, replace ‘yes’ with ‘yes, how about we make some time at 2pm today?’

3. learn to say no

Balance is the key to most things. Going too far in any direction will almost certainly always lead in disaster. So while this may sound at odds with the last point, it is equally essential to learn to say ‘no’ at the right times. It’s highly likely you spent many years during your time as an individual contributor talking about prioritisation, sustainable pace, effective planning etc.

You’ve probably lost count of the number of times you’ve tried to explain how throwing more people at a project won’t necessarily get it delivered faster, how important it is to limit scope to control releases and how rushing and cutting corners leads to technical debt which will have to be paid off on fear else risk paralysing the team in the future. Don’t forget these lessons! They’re equally important and relevant now to you. There’s a limit to how much any one person can do: trying to put more water into a full bucket isn’t going to net you any more water than you already had.

It’s tough, but you need to learn to say no. Understand what the most effective use of your time is, prioritise your demands and then learn to say no to those that don’t make the cut. The alternative won’t magically achieve these tasks, and ultimately damages your health, your team and your reputation.

4. have 1–1s

Your most powerful tool as a manager is information; without it, you’re screwed. You should grab any opportunity you can to gather as much of it as you can. There are a million posts on the importance of 1–1s out there, so I won’t repeat what they’ve said. Instead, here’s a very brief set of quick tips

Schedule a 1–1 for at least an hour every month

Don’t have anything immediately after the 1–1, leave time for it to expand if needed

Don’t have more than 2 or 3 in any one day, they can be mentally exhausting, and you’re no use if you can’t give your full attention

Try to get a change of scenery, I typically go out for a coffee

Don’t use it as status update, focus on wider questions on how they’re feeling and where they want to work

You shouldn’t be doing most of the talking

Keep it free-form, but have some basic questions / points that you bring up

5. make time to code (but not too much time)

Your technical abilities and experience are a big part of what makes you an effective engineering manager. Keeping close to the code is essential to understand the context and to have relevant conversations. If you’re anything like me, it’s also essential for your own sanity!

However, it’s also easy to fall into the trap of doing what’s comfortable and familiar rather than what is actually needed. When I first started this role about a year and a half ago, I found myself spending increasing amounts of time picking up stories and getting deep into the code. It felt extremely satisfying, this was what I had spent close to a decade doing and there was a comfort in seeing stories steadily moving across the board. However there were a whole team of developers there who could do this job as good as, if not better than, me. There were no other managers though, and no-one else doing that part of my job, which started to suffer due to neglect.

As always however, balance is the key. You’ve made a choice to move your career towards management, which means making a sacrifice in some areas. While it’s essential to stay technical and close to the code, this is not the same as progressing as an individual contributor or becoming a technical lead. Don’t pick up the chunkiest or most complicated stories on the board, you won’t be able to dedicate the time required and you’ll become a bottleneck. You’re also no longer the best person to be making the big technical decisions any more, you’re there to support.

6. let go

This final point was inspired by the amazing new manager death spiral post from rands, if you haven’t read it, then go do that now!

One of the most important lessons to learn as a new manager is that you can’t do it all, but this is a very difficult lesson to learn. If you’re anything like me then the only way to learn this lesson is the hard way. I definitely was guilty of falling into this trap despite the many warnings I had received beforehand. It can be an extremely difficult transition, going from being a high performer and seeing immediate and tangible results of your work as an experienced and senior developer to being an inexperienced manager. You’ll get stressed, you’ll fall back into old patterns and you’ll question yourself.

Through doing this, I’ve come to the realisation that you shouldn’t expect to avoid falling into this pit. Instead:

a) accept that you’ll make this mistake,

b) have the knowledge and awareness to try to recognise it when it happens, and

c) work on recovering and getting through to the other side.

You need to change the ways in which you perceive success. Shift the focus away from your individual contributions and instead measure yourself on the health of your team and the progress of the product / team as a whole.

Also, while this is a new role, those old skills still come in handy. Don’t forget to prioritise your work, there will always be a million and one things you could be working on, but ask yourself what’s going to have the biggest impact and how much can you realistically do without sacrificing your own sanity / health?