Location: London, UK
Current role: Engineering Manager at Babylon Health
What’s your background and how did you get into management?
Most of my background has been as a frontend software engineer within the Apple ecosystem, since 2010. I worked in several companies in Portugal, Switzerland and now in the UK (London). The management opportunity was something that evolved from a position of Lead iOS engineer, where I was defining parts of the architecture and pushing for a FRP (Functional Reactive Programming) approach. Eventually more talent people than myself joined the company and we almost double our size. Since then my role shifted to make sure everyone is rowing in the same direction.
What are the biggest challenges you face?
I described a lot of these in my article https://ruiper.es/2018/01/15/on-being-an-engineering-manager/. I think the challenges can be grouped into two piles: myself as an engineer and as a manager. If I had to pick the top ones they would be:
- As an engineer, it’s difficult for me to give others the task I want to work on. I have to keep in mind that I should optimise for the performance of my team and leave aside my own personal interests. This creates in itself a conflict because you need to be up to date (technically wise) in order to understand what’s going in the codebase, so In one hand I leave tasks for others, but on the other I need to keep my skills sharp. It’s hard, so a lot of times I have to do this outside work, so it doesn’t interfere with the day to day responsibilities.
- Dealing with people is always tricky and having tough conversations Is probably one of the hardest things to do. A lot of times, having that hard talk is beneficial on the medium/long term to the person, but of course on the short terms feelings are hurt. Being diplomatic is a great skill to have and it’s something I never really appreciated, or considered, until now.
What is your approach to hiring?
There is a nice sentence, that Bryan Dove (Skycanner’s CTO) shared with me regarding hiring: if you have a bucket of white paint, a single black drop will taint it. We are very pedantic when it comes to hiring and I am proud of the people we were able to hire. Most of our hirings come from different relationships I have: people I have known for years and my twitter followers. There is a strong correlation between the people we hire and their OS (open source) work. I think this created a potential cognitive bias when hiring, which I am aware and will be paying more attention. Bottom line: hire smarter people than yourself.
What’s your advice for managers who are just starting out?
Focus on building a great team and allow them to figure out things by themselves. Instead of proposing a solution, instead present a problem. This is hard to do, especially if you have been a developer for a long time because you are inherently a problem solver. The role now, at least in my case, is to try to bring some order to the problem and structure in a way that it can be tackled. How it’s implemented should be, ideally, out of our sphere of control, although I am very opinionated by nature and I still do code reviews.
Whats your work day like and how do you manage your time, emails, etc.?
My days can be very different. There is usually a mix of speccing documents, PR’s reviews, 1 on 1 and meetings. Unfortunately, I am no longer able to sit down for 2 hours and just code. The reason for this is not necessarily because I don’t have those two hours, but mostly because there is always something else to do that will allow me to help others around me. Either by unblocking them, or preparing work they will have to tackle in a couple of weeks later. Unblocking the team is the priority. I usually have a run at lunchtime which helps me to relax and keep my mind clear.
What’s a personal habit that contributes to your success?
I don’t think this so much of a habit, but more a personal trait. I try to be straightforward and honest with my team. If there is a problem I will share with them and try to come with a solution. A lot of time, managers don’t fully disclose what’s happening in a project and this catch people off guard. This is a recurring issue that I have seen many times and, at the end of day, just make people resent their work. I am a firm believer that people leave managers, not companies.
Share an internet resource or tool that you can’t live without.
There is only one thing I couldn’t live without at this point: a todo/reminders app. I got influenced a lot by a previous manager (Ben Chester), when I worked with him at Just Eat. He would just pretty much put everything that was happening in Apple’s Reminders app. As a software engineer back then, I didn’t see it as a useful thing, but my opinion has changed dramatically. There is so much stuff going on, that it’s just humanly impossible to keep everything on top of your head.
If you could recommend one book to managers, what would it be and why?
I think the classic “The Mythical Man-Month” is a must-read. A lot of stuff there is common-sense, but as they say common-sense is not that common. I would also recommend another classic “How to win friend and influence people” and this one is actually in my re-read queue. As you become a manager, soft skills are as important, if not more, than your technical skills. Dealing with people expectations, building relationships and maintaining those and overall create a great place to work is a difficult task.
Where can we go to learn more about you? (Linkedin, Twitter, Github, etc.)
This series asks engineering managers to share their experiences with the intent of helping other engineering managers learn and improve. Have someone you want to see featured or questions you think we should ask? Contact me.