3 min read

Becoming a Staff Engineer

I got promoted, yay! So... What does it actually mean, and where do I go from here?
Becoming a Staff Engineer
Photo by Vackground / Unsplash

If you follow me on Twitter, or LinkedIn you'll have seen I've recently been promoted to Staff Software Engineer. Yay!

It's interesting to talk about this kind of promotion, because to anyone who doesn't work for an American start-up the title can seem ambiguous, and I know the people in my family who I have told about my promotion don't really understand what the title means either. They are proud of me, but because the title doesn't translate to anything they're familiar with, the conversation swiftly moves on to something else (like our new campervan purchase).

So, what does "Staff" actually mean?

CircleCI has done a great job of creating an Engineering Competency Matrix which covers the expectations of each role, and the scope to which those expectations apply. I joined the company as a Senior Software Engineer in May last year, and the expectations of me in that role were to have an impact on my direct team. As a Staff Software Engineer, however, the expectation is to also expand that scope beyond my team and influence the team's business stakeholders.

As a platform engineer, this means interacting more with the other service delivery teams and ensuring that the work our team is doing meets the needs of our internal users. I've been doing so for a while now, so I don't feel any immediate change in direction or what I'm doing, but that is the nature of a lot of promotions. You should already be working at or towards that level before being promoted, and over time the expectations of you will likely increase.

There are some great resources on what Staff engineers actually do; which cover this much better than I could ever articulate:

Still, usually, their main focus is working on projects/efforts that have strategic value for the company while driving technical design and up-leveling their team. - Diana Pojar

Every Staff engineer looks different because everyone is different. I've always been referred to as "Being Glue" which is a direct reference to the amazing post by Tanya Reilly. I relate to this one a lot because I've always felt a lot of the work that I do is necessary but sometimes invisible; because it's gradually moving the needle or enabling my team to do their best work, even if it means I'm not as actively involved in some of the implementations.

That staff eng site also contains a link to the book: Staff Engineer: Leadership beyond the management track, which is a great resource, covering much more detail about the expectations, archetypes and anecdotes from many Staff engineers.

What next?

On a similar, but unrelated note: I've often been asked about the direction I want to take in my career, but those conversations are happening a lot more frequently. Do I want to remain an individual contributor, or become an engineering manager?

The best resource I've found about this is the Engineer/Manager Pendulum by Charity (the CEO and co-founder of Honeycomb).

It perfectly captures my thoughts on not wanting to become "less technical" but also being good at the people part. Viewing it as a pendulum where you can go back and forth as you feel you need seems like a nice way to view it, as I never want to back myself into a corner (she says, from her now heavily platform-related experience corner).

I'm coming up on 7 years of industry experience now, and yet I still feel like that's not enough. I always feel like there is more to learn, and something that I've been asked recently when weighing up on what I want to do next is: what sparks joy? What do I enjoy doing?

And to that, I say, right now (work wise, obviously):

  • I enjoy getting stuck into messy problems.
  • I enjoy problem-solving.
  • I enjoy mentoring other members of my team, enabling them to do their best work and celebrate the wins when they make progress.
  • I enjoy learning about new technology.
  • I enjoy finding the breaking points of the technology.
  • I enjoy collaborating on solutions as a team.
  • I enjoy making other developers' lives easier.

With time, I know the things that spark joy for me will change. And that's okay. But for now, I want to focus on being the best Staff engineer that I can be, and maybe someday in a year or two from now, you'll see me stepping in as an engineering manager.