Engineering Management
June 2021
6 minutes
Since January 2021 I've moved from being an Individual Contributor (IC) to an Engineering Manager (EM). As a Technical Lead I'd had a lot of exposure to EM concepts so it's been a fairly gradual transition but I feel like after 6 months in the role, it's time to do a bit of introspection about what the role means to me.
Priorities x3
When starting out, your manager may define your priorities like this (in order):
- People
- Team
- Company
For transparency I've seen this list in different orders in other blog posts and it's probably different at other companies and levels of seniority but, for me, this is what works and helps me prioritise my day. I like how it goes from most to least atomic.
If I'm struggling to prioritise things in a busy period or after some time off, I can ground myself by reminding myself of the order I should approach things.
People
My primary job is the support and growth of people. I took this job because I'm a people enthusiast - I love working with people, especially supporting them and finding them opportunities to grow. The tools and heuristics I need to do this are (and not limited to):
- Regular 1:1s, giving regular feedback
- Performance reviews, setting short/long term goals
- Mentoring/coaching/sponsoring opportunities
- Training courses & materials
- Hiring activities
- Onboarding materials
If I get any free time, you can bet I'm looking through my 1:1 notes and cross-referencing with the above; questioning to see if there's anything I'm not already doing for the people in my team.
Team
Once I'm confident the people are as happy as they can be and their careers are being developed with realistic goals to strive towards, I can turn my attention to the team.
Teams are all very different - different sizes and compositions with different purposes and tenures - so this is where it gets a bit subjective. The main question I ask here is are we on track to achieve our goals as a team? Or at least moving the needle in the right direction and having a positive effect. Personal goals are often much more abstract and different to team goals; a personal goal might be "Contribute 1 module to our Terraform repo" whereas a team goal might be "Quantify all our team's infrastructure as code".
This is where things like creating automated reporting can be a great investment of your free time, so it's easy to see where we have cause to celebrate being on track, or might be off track and can course correct. Having a good grasp of SQL from your IC days can help with querying things in a database/warehouse.
Cultivating the relationship between yourself and the Product Manager/Owner (PM) is a key part of looking after the team. If the last 20 years of Dilbert cartoons is anything to go by, Software Engineers can classically view this person as someone adding unnecessary scope and complexity, not wanting to focus on things like Technical Debt or Security; communicating these as focus areas is your job, just like the PM is looking for any Product opportunities and doing their job - Lara Hogan's Team Leader Venn Diagram is a tool I go back to time and time again to ensure we're not stepping on each other's toes. Constructive disagreements are fine, maybe even healthy, in this relationship but any unwanted friction here is probably a signal there's a breakdown in communication.
Company
As a more junior EM this is where I spend the least amount of time. There's plenty to work on in this area, like creating/updating progression frameworks, working on hiring initiatives etc.
My main focus will be continuing to build up the foundational skills above (People & Team), and with experience I'll get more and more chances to tackle something at this level - hopefully pairing with more experienced EM(s).
Yup, pairing still happens at this level - yay!
People are very different
Kind of goes without saying really but in all my preparation for moving into this role (the carefully crafted 1:1 documents, setting up meetings, reading many books) nothing can really prepare you for the budding emotional investment you will need make in your reports.
Some reports will need very little of your time. Check-ins and 1:1s are usually a nice exchange of pleasantries, a check if there's anything on our shared agenda and if not how they are performing against their short and long term goals, and anything else I can help with.
Other reports will require more of your time, they will (rightly) question any and all decisions which they feel do not hold up to their high standards. They will ask you to co-create detailed plans about how to get to the next level. You may need to help them micromanage their own workloads through tough periods when things go off track. They will have other things happening in their lives which (it's easy to forget sometimes) is not work, and may need a hand navigating it.
As a manager it makes it very unlikely that 2 days will ever be the same, which is diverse and stimulating, but also means you need a few hats to wear and to make sure you've got the right one to hand.
Be organised
One thing I've found as I've taken on more direct reports and got involved in projects at the company level, or during busy periods such as performance review season, is it doesn't take a lot and suddenly you can feel overwhelmed with things to do, and this is surplus to the most important parts of your job - taking care of the people on your team.
It's therefore crucial to be hyper-organised and get into a regular rhythm of when you do things - check your email, check Slack/Teams/whatever, even going for lunch, as things can easily slip the net.
There's a great section about this in Become an Effective Software Engineering Manager by James Stanier that does a great job of explaning the tools and approach needed, but it essentially boils down to:
- A well structured calendar
- An all encompassing to-do list
- A lot of self-discipline
With these basic tools you can abstract away your self management, freeing you up to make the most of any free time.
Having free time is fine
Once I'd finished onboarding into my role and navigated my first performance review process, I found myself with huge gaps of free time in my calendar. As an IC, I would welcome this precious time to contribute to the delivery of a project, or start planning ahead. However as a manager this time made me quite anxious - what was I supposed to do in this time? Once I'd actioned all my actions, checked in with everyone and made sure there were no issues, being completely honest, I had no idea what to do.
Fortunately, my manager had some great news for me. This is completely normal and this free time is your fallow time. It's time to maybe go for a walk or pour a coffee and think about:
- Are your reports truly ok? Is there some reading between the lines to be done?
- What do your reports need next to grow? What's on the horizon?
- What does the future of your team look like? Can you prepare for any of this now in a favourable way?
- What does your own future look like? Are you happy? Where do you need support?
- And many, many other reflections that may pop into your head!
Let these thoughts form and come back to work armed with enhanced purpose.
Free time is precious
This is true for both you and your reports. As an IC I would encourage people to respect the Maker's Schedule, Manager's Schedule; I try to do the same as a manager. As a manager it's rare that I need focus time (it's mainly seasonal, for writing performance reviews or planning workshops etc.) so I try to bend my schedule (such as regular 1:1s) around the best time for my reports.
However once you've completed all your regular tasks, don't forget to carve out some fallow time for yourself, to keep stimulated and ready for the next iteration.