The struggles of a Staff Engineer

I have been a Staff Engineer and now Senior Staff Engineer at
Contentful since 2020. And I have enjoyed the experience
pretty much. I’m grateful for the opportunities that the title makes available,
but there are also some aspects of it with which I struggle at times.

Freedom

As a Staff Engineer I have a bigger degree of freedom than ICs in the
company. I can use this freedom to decide where I spend my time and which topics
I explore.

But more freedom also means less guardrails. There will be less regular
overshigt on what I’m doing so I have to be more self aware of were I spend my
time to avoid chasing rabbit wholes or activities that are low impact (but maybe
technically fullfilling).

At times I have to do a self check to make sure that I’m still working on the
right direction.

Us vs Them

As a Staff Engineer you are expected to help others make the right decisions and
choices when solving problems. Specially when there are disagreements it can be
easier to fall prey of a “us vs them” attitude, as if only the Staff Engineers
were right. I think that at times this is fostered by the fact that as leaders,
we can only rely on influence to try to steer others, and the frustration is
shown this way.

Again, we have to be self aware of our behaviours and quickly correct this.
Instead we have to approach this situations with a humble mindset (TODO: is
mindset the best word?). Even if I could, pulling of rank and dictating the
direction is not the way to build relations based on trust and collaboration.

Instead of thinking of us different or better than others, we should let others
lead and offer our assistance when needed. Unless others are going to make a
huge mistake that could have a significant cost to the bussiness, we should let
make those mistakes. Making mistakes can be the best way to learn.

No tickets. No fun

There are days that I miss my time as an IC working on a team. Within a team
there is a rythm that repeats week after week that makes certain things easier. The feedback loops are also shorter, because usually within a few days you are done with the ticket you have been working on and can measure its impact/performance/etc.

The work I do as a Staff Engineer typically spans across multiple sprints. It
can also be dormant for a while until I have the capacity to pick it up again later. The results of what I’m doing now will only be visible
in half a year, a year or even longer.

Given this, it’s easy that doubts start creeping up. “Am I going on the right
direction?”, “Will the outcome of the work I am doing be as impactful as I would
expect?”, … This can lead to anxiousness.

Coding. What’s that?

This is an universal truth among my peers. There will be less coding.

Because a large portion of my time is spent talking with other people, doing research, doing mentoring, etc. I end up having
less time for coding.

But at the same time the freedom of the role gives the flexibility to chose my
level of involvement in team projects. For example, in 2022 I spent more than
half of the year only coding, when we were getting a new project off the ground.

Role model

Wether I like it or not I had became a role model for other people in the
company. As a leader without any organizational authority this is one of the few
ways at my disposal to effect some change.

I don’t have to do anything special. My actions will already be the example that
others follow. I can also take a more active stance by doing/participating in
activities where I can directly and more consciously shape others. Mentoring is
a great tool for this purpose, but there are many others such as code reviews,
pairing, talks, etc.

This one of those activities with long cycles where you don’t really know
whether you are doing a good job or not. Getting feedback is hard.

Fight or flight

Be smart and pick your battles. Because of my position, problems find
my way much more frequently than before and it’s not realistic or viable to
try to fix each of them.

There are many articles online about the power of saying No. If you haven’t
read one you can start here or take this quote from Steve Jobs:

People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying no to 1,000 things.

Tool of last resort

This one is similar to the previous one. I often heared “The Staff
Engineers will take care of that” or “Can the Staff Engineers assist on this?” or
“Which Staff Engineer can help with this?” or …

I found myself pulled into many directions. So as with the previous one
I had to learn to say No.

Frustration

This last one is the sum of all the previous one. There are many times where I
am frustrated with how things are done, with not seeing enough progress, with
not knowing if I’m moving the needle in the right direction, etc… I also get
frustrated when I take to much work because I didn’t say No when I should.


In conclusion, becoming a Staff Engineer is more than a title change. The
responsibilities and expectations that come with the change can be challenging
at times. But in my experience are positive challenges that take me from
my comfort zone and help me become a more rounded professional.