Ever wondered what an SEM (Software Engineering Manager) does? Here is three different insights to role from three of our Engineering Managers at OVO: Emily, Marcello and Tom.
Emily Rigby
Software Engineering Manager for International
I’m the software engineering manager of the International teams, currently looking after France and Spain adding 3 more countries next year. As an SEM my responsibilities can be described as: line management and professional development of my team members, improving the ways of working for each team and ensuring we are maintaining the right level of technical excellence.
What that actually translates to, is mostly meeting with individual team members, product owners or agile meetings to help the team maintain momentum. I also spend time with other teams or product owners for the future roadmap to keep the team as unblocked as possible. In the international team I also spend time researching tools that we need in different countries, such as marketing tools or CMS software. It’s really important to think as far ahead as possible so we can uncover problems before we get there! I am also very involved with the larger OVO tech culture through contributing to the career development workstream, and running the interview workstream. This brings a few of its own meetings and writing documents to help people understand the changes.
I have been a manager for about 3 years, I transitioned to the role in my last company when the manager of my team moved to a new role. I was always interested in running engineering teams and enjoyed working closely with product to plan roadmaps and improving agile processes, especially in my last company this led naturally to a role as a Team Lead. This job combined technical leadership with people management, running a team of 3-6 engineers. Once I had made the transition the biggest difference for me was having to work out for myself what was needed to help the team and not having someone just telling me. This is also the aspect I enjoy most about my job and I find it so satisfying to see a plan come to fruition and have the impact I was hoping for. My goal is always to build a team that works well together and enjoy the work they do, and seeing that happen really motivates me to keep working!
A good example of a piece of work I am proud of would be the building of my team dashboard, I started this work to just allow my teams better visibility of outstanding PRs but I have now written a number of widgets to measure variables that inform my teams in ways they can improve. I think it’s really important to be able to measure the impact of changes and if I can make the right data easy to find and understand then the team can take ownership of its own changes. An example is my Slack questions pie chart, which searches a team’s public slack channel for a ‘?’ and the next team member to comment gets a point. This makes it really clear who is answering questions (and being distracted), a big metric for platform teams! It’s also a good example of how managers have to solve problems with a variety of tools, sometimes it’s meetings, sometimes its code.
Marcello Marabese
Software Engineering Manager for Kaluza
It’s 8.30am; I’ve got through the daily commute, washed my hands to get rid of London tube germs and made myself a coffee to start the day. My day consists of being the Software Engineering Manager (SEM) for the Platform Engineering Team at Kaluza, which comprises of two teams SRE and Core Engineering, both dealing with cross cutting concerns regarding the Kaluza platform.
I’d held previous positions as Senior Developer, Technical Solutions Architect, Principal Engineer and Technical Team Lead and from these roles I discovered, I love staying technical, being hands on and really like mentoring and helping colleagues. This is why I was interested in the SEM position, because I would be able to incorporate all aspects that I find enjoyable into the role.
My days in the office can vary each week; there is always something to be learning, implementing, reviewing or analysing but one thing I always try to keep consistent is my involvement in the technical side of the role.
At around 8.45am I begin catching up on any administrative tasks. This can be anything from reading and responding to emails, Slack, Workday admin, updating Jira tickets and Trello boards and looking over my calendar for the day; all the while keeping my GIF game strong on Slack of course.
Once these are complete, I get started on my technical tasks. An SEM is first and foremost a manager and I always make my team a priority. But this doesn’t mean I can’t keep my hand in the technology surrounding my teams’ tasks and make sure my own knowledge and experience is relevant. That being said, I have to juggle my time wisely and make sure everyone is up to date with the objectives for upcoming weeks.
Every day we participate in a stand-up at 10:15am; this is another part of my role where I feel I can make a difference, by participating in the discussions and being as involved as any team member. I can help out with any blockers or issues in our way that are potentially stopping us from hitting our targets. From then on for the rest of the day everyone gets fully involved in their day to day tasks. During this time, I try, where possible, to go back to my technical tasks. This can range from writing code, creating technical documentation, architectural design and code reviews.
SEM’s work differently and there is no ‘set’ way, but for me, I like to try and keep myself available to my team as much as possible throughout the day. This includes helping them overcome any obstacles, keeping them focused and sheltering them from any unnecessary issues that arise outside of their work. Every two weeks I hold 1-2-1’s with my team; doing this allows me to ensure they feel happy, supported and appropriately challenged. I have found this approach has really helped build a great sense of rapport across the group.
As well as my own team, part of my role allows me to work with other teams in a technical capacity to help find solutions to issues that arise across the entire platform, this could be discussing architecture, whiteboard design sessions or platform issues. Not only does this broaden my role and help keep my days interesting and busy, but there are occasions where this benefits my own team and improves my knowledge.
I find the SEM position a really enjoyable role and I think there are so many ways to do this job successfully. However, I have found for me, one of the best ways to achieve results is using a hands-on approach and making sure our knowledge and technologies are up to date and relevant with the fast-paced world we live in. It’s a full-on job with lots of responsibility and no day is the same; but, if you are like me, then that’s exactly why I enjoy it so much.
Tom Cammann
Engineering Services Manager
My role as Engineering Manager is supporting 3 teams at OVO, collectively known as Engineering Services, each with a different style and method of delivery. Each is focused on infrastructure engineering excellence and enabling quality software product development.
Those 3 teams are, Engineering Operations, Orion SRE and Production Engineering. Engineering Ops is focused on delivering best of breed software tools to the entire organisation, whether that's new tools we conceive or enhancing access or improving existing tools. Orion SRE's role is to support the Orion platform, making sure all our customers have a great experience on the platform. Finally the Production Engineering is organised like a infrastructure/DevOps consultancy to the whole organisation, either providing short term help to difficult problems or helping product teams through long term engagements, building their technical excellence.
A significant part of my role is attending a handful of recurring meetings, the majority being one to one meetings with my team. These one to ones allow the team to give me feedback on how the team is working and what may need my attention. It’s also an opportunity for coaching and career development conversations.
I take a regular role in starting ad hoc conversations between my team and other teams and raising engineering or security concerns with other teams or leaders. A new team could require help with Terraform or we could have noticed a security hole that needs attention. This is a really enjoyable part of the role, throwing up unique situations and challenges each week.
Part of my role is reading, building, reviewing and testing new tools. Being acutely aware of where the tech industry is with current tools and best practices allows me to quickly get answers for my team and to steer conversations to productive avenues. I try to keep Wednesday’s free to achieve this.
Recruiting can also be a large part of the role, depending on the current number of roles to fill. Phone interviews, face to face interviews and reviewing CVs adds up during the week.
I’ve always considered my impact on software projects to be more than just delivering the software. The problems I enjoy solving most are at the intersection between software engineers and software. I got an opportunity to be a team lead for a handful of developers as part of a larger project after demonstrating that desire. A couple years after that, after oscillating between an IC and team lead, I took on a full management role. I joined OVO as a Production Engineering Manager but with no employees. I was lucky enough to be able to hand pick a team of great engineers and build out our really successful function.