My role as a Staff Engineer

James Ford, Staff Engineer

Going from Tech Lead to Staff Engineer at Compare the Market…

When I first started working for Compare the Market I was as a Software Engineer on a short-term contract, getting an update or two out for the pet insurance journey, and then I moved over to a different team to help rebuild the car insurance journey using React. Eventually contracts ended and I moved on to other places. Then the opportunity for Technical Lead with my old team at Compare the Market came up – so I applied and got the job.

As a Technical Lead, I was suddenly responsible for the technical output of a single team and had to figure out how to work with the Architects, Software Engineers and Managers to define our roadmap and deliverables – the shape of our code and the tools and processes we’d use to build and support it in the longer term… and eventually the way in which we would collaborate and communicate with other teams.

Over the course of a few years, we’d built out our product. There was lots of iterating, moving and improving in small increments along the way until we’d practically achieved our ambitions and taken the solution to the point where we needed to expand our scope into new areas, and I started to desire something new.

My next move was to the role of Staff Engineer.

So, what’s a Staff Engineer?

A Staff Engineer is one of the tech leadership roles here at Compare the Market with a speciality that means it’s often less about being the person doing the work and more about future vision and working out where we need to be in the next three to six months. On paper, the role has two key areas of responsibility, which are:

1. Maintaining our engineering standards.
2. Making the engineering teams more effective.

In practice, I would informally summarise the role as ‘figuring out the most important thing for engineering at any point in time and ensuring it gets done!’

As a Staff Engineer, you’re slightly more distant from individual squads. It’s not about you being the person who delivers the work anymore – instead you’re bridging the space between squads and teams and working to ensure that everything slots neatly into place, works in harmony and everyone is happy with the end result. It’s vague, daunting and exciting all at the same time.

Across the business, we have a handful of teams and dozens of squads with Staff Engineers being responsible for a couple of squads each. Every squad has different roadmaps, different skillsets and different technical maturities, which unsurprisingly means that everyone is tackling different challenges!

Fortunately, we’ve got a lot of support through the other complimentary roles within the business – such as Principle Engineers, Engineering Managers and SDETs (Software Development Engineer in Test) – and we have numerous cross-cutting communities and working groups for specialised topics. This leaves you with a reasonable degree of freedom to find a strategy that will help to resolve the many different challenges.

What are my lessons learnt?

Two of my biggest motivators are purpose and autonomy, and the role gives both of these in spades. When I started as a Staff Engineer, I had my own agenda to take my technical lead work further. I thought I had the answers but, as it turns out, I wasn’t quite correct – perspective and hindsight are wonderful things! In the early days, I also saw some challenges affecting some teams as well as further challenges on the horizon for other teams, and as a multi-role leadership team we’ve done our best to keep things running smoothly but it hasn’t been without its challenges.

Looking to the future, I have two versions in my head – one where I know what’s going to happen in the next three months, and the other where I have no idea – and that’s a good thing.  It’s part of the job description to have a plan, but at the same time we’re all about being agile and able to pivot to new strategy as the situation dictates.

Either way, we have exciting times ahead, but sometimes the things that are exciting at a technical level are far from exciting for our end-customers and we always have to be mindful of this.

My advice if you’re looking to develop your career to Staff Engineer

If you have the opportunity, go for it. If you’re unsure about whether you want to jump in at the Staff Engineer role, ask if a secondment or trial period is an option. Your career is what you make it, and no two people ever follow the exact same career path. People often find themselves feeling either underqualified or overqualified for a role and if you feel overqualified and aren’t happy with that, it’s definitely time to find something new before you get frustrated, bored and lose your motivation.

If, however, you feel under qualified, see it as an opportunity to learn and grow!


Suggested articles

Employee Story

Becoming an Engineering Manager

Employee Story

A degree in modern languages, a job in software engineering

Be alert to possibilities

Whatever your specialist area, wherever you are in your journey, we’d love to hear from you.

CTA Image