What do Staff Engineers do?

In recent years the tech industry has been coming up with solutions to a certain problem: what does progression look like for those who don’t want to become people managers? For a long time the choice was to sit at senior engineer, or slowly give up technical work while transitioning into a traditional management role. This came with several issues:

  • People management was treated as a progression of technical expertise, rather than being recognised as a unique skill set. As such the quality of people management suffered in many companies.

  • In order to progress, earn higher salaries and have more influence, people were forced into people management. If their heart wasn’t in it this led to a bad experience for everyone, and a decline in company culture.

  • Technical expertise is incredibly valuable in a fast growing industry. Companies were losing out on technical expertise by not compensating people accordingly for it.

To solve these problems, many companies now offer another career ladder alongside the traditional management route. This gives progression opportunities in the world of technical leadership, without requiring those people to have people management responsibilities.

Here at First AML our technical leadership career ladder looks like this:

  • Staff Engineer

  • Principal Engineer

  • Distinguished Engineer

We’ve only had these roles in place for roughly six months. We’re still fleshing out what it looks like for us, but we’re starting to get a good idea.

What does a Staff Engineer do?

Staff Engineers are the first rung of the technical leadership ladder. They sit outside of the feature teams and are tasked with applying their experience in a way that multiplies the output of all engineers in the business, with an emphasis on technical approaches. The aim being to produce more output than they would solely as an individual contributor.

What Staff Engineers don’t get to do is lock themselves in a dark room and write code without talking to anyone! At least not every day anyway. There are lots of ways they can achieve their goals, but here’s a few key examples:

  • Aligning teams on technical approach and solutions. Some of these will come from the Staff Engineers themselves, but many good ideas will come out of the teams themselves. Staff Engineers are best placed to identify the highest impact ones and share them with a wider audience.

  • Thinking through solutions to classes of problems. We’ll often have multiple feature sets with similar underlying technical concepts. By solving for these concepts rather than individual features, we can introduce patterns and principles that speed up all feature development going forward. This work will often happen ahead of time, by looking at the roadmap for the next year and putting the groundwork in place for those features to be delivered quickly. This can be thought of as designing and implementing robust building blocks with easy to understand abstractions that teams can then build on top of. 

  • Identifying opportunities to simplify or improve existing patterns and practices, and driving improvements through guilds. The aim here is to make the code base simpler to understand and quicker to build on. Removing friction from existing patterns, removing cognitive load (e.g. making internal frameworks secure by default so you don’t have to think about security for everything), making it hard to do the wrong thing etc.

  • Promote learning, particularly technical. Advancing engineers internally is preferable to hiring externally most of the time, as they have domain and organisational knowledge that takes a long time to learn. Promoting learning can take many forms, but ideally Staff Engineers focus on organisational level impact rather than individual impact.

  • Collaborating closely with a team to solve a particularly complex problem.

  • Running technical approach reviews with teams early on in feature development.

  • Spotting problems before they impact the business and helping teams to solve them, e.g. scaling problems, security issues, tech debt etc.

How do you become a Staff Engineer?

Staff Engineers need a level of experience where they’re able to plan strategically, and operate autonomously. They need to be comfortable with spotting future pains, exploring technical solutions, drawing up plans, socialising these and then using influence to drive multiple teams in the same direction. This requires a mix of technical skills as well as interpersonal skills.

Whereas earlier roles in the career ladder focus far more on discrete abilities while being guided by the experience of others, Staff roles require a broad range of experiences to be effective and not fall into common pitfalls. Without a certain level of experience, Staff Engineers will also find it hard to command enough influence within the company.

Here at First AML we have a rough guide of 5 years experience as a Senior Engineer or Tech Lead is what it takes to transition into a Staff Engineer role. For some people this timeframe will be slightly shorter, and for others it will be longer. But as always, we focus on helping our people achieve their career goals and can give people the exposure to the variety of experiences they need to progress quickly.

If you’re interested in a broader view of Staff Engineers across the industry, as well as how to pick up the skills to become one, then I’d definitely recommend checking out staffeng.com and their accompanying book!

Previous
Previous

Improving multi-step forms with state machines

Next
Next

Introducing Alisha & Syon - our Summer of Tech interns