Do many software engineers know what an Engineering Manager (EM) actually does? As I moved through several companies through my career I saw this role in so many different colors and forms. Every time I was wondering - what is this job actually? I am not going to come with an exhaustive definition as I doubt it exists… However I’ve recently moved from Software Engineering role to an Engineering Manager, so hopefully my fresh memories and this post will help anyone who’s interested to find out more about what it’s like to be an EM at Deliveroo.
What are EMs doing?
- Retain talent
- Attract world’s best engineers
- Give context, set the scene
- Cross engineering initiatives - things that make our culture better
Why are EMs doing what they do?
Because we have to solve unique and difficult problems in a fast paced highly competitive environment.
Because we want to empower engineers to find solutions to problems at the edge of computer science at great scale.
How are we doing it?
Your first thought might be ‘isn’t that what recruiters do?’. It is, but it is EMs responsibility to be actively involved in sourcing - exploring LinkedIn profiles, searching good candidates by asking people around for recommendations, go to relevant events/meetups when appropriate, and anything that could help finding good people. It’s like a treasure hunt. It is also very, very hard work.
While folks at the biggest tech companies might have an easy job with attracting many candidates, as everyone knows them, here at Deliveroo we’re still working on spreading the word out there. It might also feel frustrating at times, after spending few hours a day finding good profiles, crafting messages for them, to be waiting for a reply back. Some of the very few people that will get back might not be interested. And then we go again.
Once there are people in the pipeline, EMs are occasionally asked to talk to potential candidates over the phone, in order to get them excited about us and also answer questions candidates might have (often really tricky ones).
Interviewing will become part of your weekly routine. It is very important to get good at it - ask good questions, ask follow-up questions so that in the very short hour we could get as much information as it is possible in order to make a good decision - would this person be good at the job? Would they feel comfortable in the engineering team? Could we set them up for success at Deliveroo? Are we certain they will help Deliveroo grow by bringing their energy, experience and ideas?
And finally providing feedback to candidates and make sure people that were involved in the interview are providing good, quality feedback. That means at the end of debrief the recruitment team can hand all the feedback over to the hiring manager and they could make a decision based on what they read. So providing good feedback and giving people feedback on their feedback.
Feedback is a big thing. I’ll talk more about this below.
Line management is at the core of what an EM is doing. It is hugely important to be able to keep the talent. The EM’s role is to make sure everyone in the team has the skills, space and the right setup to do great things. Deliveroo will be one of the many stops an engineer might have along their career. The EM needs to work with each engineer to ensure they get the most of the time they’re with the company, and to progress with their professional life. So here are some of the practices used by EMs when it comes to line management:
1:1s this is engineer’s meeting, not EMs. That sounds obvious, but might need some time to become natural. People come from different companies, backgrounds, they might have had good or bad EMs in the past. Therefore it is very important to set the expectations correctly. The EM’s job is to make sure engineers understand what’s the purpose of the 1:1, and work with engineers to make them useful. These meetings need preparation from both engineer and their EM. Even if it is best to have engineer talking for mostly the whole (if not the whole) session, it is required from the EM to come prepared - know what’s going on with the project overall but also be aware of who’s working on what and have an idea of the pace, progress, blockers, etc, so that the 1:1 is not a status update, unless there’s something urgent which needs escalated with the EM in order to get moving. It is a rare opportunity to have people come and talk openly about problems, concerns or fears they have. Usually the EM will need to pick up on little clues in order to spot issues which are best to be addressed early. Being capable of reading between the lines is a very subtle skill to master in this role. Also being supportive rather than directive is something we require EMs do at Deliveroo. Needless to say it isn’t a good practice to cancel 1:1s if both EM and engineer are in the office/are working. Few other meetings are more important than 1:1s - the team is the first priority.
Feedback - this is a superskill of an EM. Constantly seeking and providing feedback is another daily routine which needs learning and mastering. There are many different ways to do it, but the best feedback is the one you give on the spot. There are exceptions, but generally providing short feedback on what was observed, what was the impact of the action and what was expected/what’s the alternative is a good approach. The more time after the fact the less efficient the information for the person is. Another important aspect - positive feedback is equally important as negative. It is often more difficult to provide positive feedback (try this out next time by giving props to someone!). Feedback should be given not just to engineers in your team - any opportunity to make a process/message/meeting/product/feature/company better should be taken.
Performance reviews happen 2 times a year formally. No one should be surprised by the message they’ve been delivered in this sessions. Constant feedback and efficient 1:1s should give the most context of what one should expect to be discussing during this meetings, although in a more formalized/structured way. This is the time when EMs should be talking to engineers about areas of impact and areas of improvements. It is best to provide examples and quotes from peers to support the feedback given. Otherwise it’s another opportunity to give feedback!
Shape the roadmap, look into the future
EM is a key role in shaping what comes in the next quarter, 6 months, a year. Being able to understand the potential of the current team and leverage it in order to build great products is a key aspect of what we do as EMs at Deliveroo. Set the vision and help the team move and deliver on it without imposing a solution.
We are working with the business, working closely with the PM of the team in order to assure there is enough scope for everyone and it is aligned to quarterly goals which are in turn aligned with yearly company goals.
Being aware of what’s going on in other teams, attending product reviews is indispensable in the role. Bringing the necessary information to the team and also letting others know about what is the team working on and what will it be working on in medium and long term is helping engineers to be focussed and efficient at shipping features at good pace.
Sometimes EMs along with PMs act as air traffic controllers in order to make sure all the information, resources are allocated, the business is up to date with the progress of the work and risks are managed properly.
This is ultimately what we’re looking for in order to be able to find and solve unique problems. This is hard to achieve and it can not be scheduled as a block in a calendar. We need to let engineers innovate and think outside the box and this is only possible in a transparent, friendly and supportive environment.
An EM should offer all the support in order to make engineers feel safe to fail. Everyone fails at some point. But we need to encourage people to do so and we need to make sure it is a good environment for it.
EMs help engineers to iterate on ideas and learn along the way. Build trust and a culture of constructive debate is what we also do at Deliveroo, and EMs are at the heart of this process.
Few things to consider
It will be harder to see the results of your work as an EM compared to what you get being an engineer. With the code - you build it, and then you can see it or test it in staging or whatever, it is relatively quick and very satisfying (in most of the cases). As an EM it will take longer to see that and is harder to measure.
Working with code and/or computers is relatively straightforward. They have a very consistent way of giving results. People are less so. Learning about people will be an ongoing and always fascinating task.
Context switching. A lot of it. If being an engineer requires you to concentrate on one thing and solve/do it then as an EM you will have to switch the context at least 3-4 times a day and then go back and try to follow up and get it done.
If the team has achieved something big, important and impactful it is team’s merit (you’re part of the team). If the team failed, it is mostly your fault. You will have to learn how to be self critical and objective when it comes to failure, learn from it and iterate. Make the team safe to fail, inspire them and take your worries to your own 1:1s.