From Senior to Staff Software Engineer... A managers perspective
I have been an engineer who has been promoted, and also a manager for many years now who has had the very good fortune of promoting many people. From Junior Software Engineers all the way to Principal Engineers.
The more senior the promotion the more that what you need to be demonstrating stays relatively invariable. It’s the sub context which varies.
There are two areas you need to be focusing on to get a promotion to Staff Software Engineer and beyond:
Impact.
Visibility.
Of course you need to be doing many things, and many things well. Those two are the big ones. You will struggle to get promoted to those senior engineering levels without impact and visibility.
It’s not enough to be a competent Senior for years, expecting someone to promote you due to tenure, without displaying the aptitude of a Staff engineer.
Impact
Here are some questions to consider:
q: Are you capable of being a ‘lead of leads’? Can you not just lead a project, but lead a wide array of other leads on other projects of which you might have a lot of little context?
q: Are you consistently foreseeing roadblocks over large parts of technical estate on a wide time horizon?
q: Have you demonstrated the ability to look at the architecture/technical estate at a birds eye view, disregarding team boundaries
Impact is more than measuring how much ROI you have delivered.
Impact can be, in part, tied to an an Engineers vision. As a senior you might be expected to deliver and lead small to large projects competently with a team that are assigned to you, or the team have discovered within their area. As a Staff engineer I need you to be always taking a birds eye view and advocating for and engaging buy in for that vision. The need to set that high level vision needs to be extremely important to a Staff engineer. That vision, when being realised then has a direct correlation to impact, both ROI and the value you bring to the organisation.
If you are looking to be promoted to a Staff Engineer let me put this in your mind:
No one ever became a Staff Software Engineer by waiting for opportunities to come to them.
Visibility
A Staff engineer is a very important role to any organisation.
You have a large influence, oversee technical direction spanning years and you are expensive.
As a result, when I go to put you up for a promotion to a Staff engineer it's likely that I will need to calibrate with other managers on the promotion and seek some type of sign off.
This is partly where visibility comes in and partly why visibility is one thing you need to get promoted into more and more senior roles.
When I go to promote you, I want other managers to question why we hadn't done it already, and not be having to convince them.
A couple of questions to bare in mind:
q: Who are you regularly engaging about your thoughts and proposed technical directions? Just other engineers isn't enough. Engage Sales, Customer Success, Product, Senior Leadership. I promise you they will care.
q: How are you measuring success of initiatives and what mediums are you sharing that with various stakeholders?
To get promoted to Staff Software Engineer and beyond you must be delivering the right impact with high visibility. Length of service usually won't cut it anymore for these increasingly senior levels. Although with time comes domain knowledge, which certainly plays an important role.



Interesting post, Ryan.
I wonder how could I train myself to get this bird's eye view of the architecture in a long time horizon.
It seems the typical thing people would say is "just from experience", but we all know 10 years of experience is very different in one person or another.