I'm transitioning out of my freelancing workstyle into a full-time role, and to be honest, that path after the Senior Engineer level was quite confusing. I've seen all these roles in different job postings, but it's not only that I didn't know enough about them; they can also mean slightly different things in other organizations. This post helped me clear up some of my confusion about the staff and EM roles. Thank you!
Thank you Akos. This topic was certainly confusing for me as well. I was lucky to have a mentor who explained the role and forwarded me to further resources. Wil Larson's work on the free website (https://staffeng.com) has been a great resource for me personally. Glad you found this post inspiring.
Great introduction/landing page on a topic that many people talk about but not many fully understand.
One small comment. In the article, you mention that having a Staff engineer on the team *is* an anti-pattern. My understanding is that it *can* be an antipattern, but there are also situations where the system owned by the team has a level of complexity - often platform services - that require Staff engineers permanently allocated to the team.
There is a need to have a way to promote an engineer who is super deep in a technology (e.g. the level after Staff Engineer). In 4 archetypes of Staff Engineer, Will Larson calls this the "solver". Personally, I'm against this narrative however. I believe technical leadership is a requirement for the Staff title and if the engineer is promoted without demonstrating leadership (with the definition I cited in the article), I think using the word "Staff" does more harm than good because it dilutes the meaning of the role.
This was a great read, Alex!
I'm transitioning out of my freelancing workstyle into a full-time role, and to be honest, that path after the Senior Engineer level was quite confusing. I've seen all these roles in different job postings, but it's not only that I didn't know enough about them; they can also mean slightly different things in other organizations. This post helped me clear up some of my confusion about the staff and EM roles. Thank you!
Thank you Akos. This topic was certainly confusing for me as well. I was lucky to have a mentor who explained the role and forwarded me to further resources. Wil Larson's work on the free website (https://staffeng.com) has been a great resource for me personally. Glad you found this post inspiring.
Wow, thanks for sharing this!
Great overview, I can finally explain my Technical Lead Engineer role properly 😅! Thanks!
Thank you Zdravko :) Please spread it in your circles to inspire others.
Great books, I have read the right one, it explains very well.
You have also broken down well for the audience.
Thank you Junaid. I have only read the left one. Tanya's book is newer.
Awesome article, I am going to bookmark it for the future because it will be helpful for people that what to go through this path.
Personally, I Love Larsons Book, It has helped me to define the tech career growth path in a couple of places.
Great introduction/landing page on a topic that many people talk about but not many fully understand.
One small comment. In the article, you mention that having a Staff engineer on the team *is* an anti-pattern. My understanding is that it *can* be an antipattern, but there are also situations where the system owned by the team has a level of complexity - often platform services - that require Staff engineers permanently allocated to the team.
What's your thought on that?
There is a need to have a way to promote an engineer who is super deep in a technology (e.g. the level after Staff Engineer). In 4 archetypes of Staff Engineer, Will Larson calls this the "solver". Personally, I'm against this narrative however. I believe technical leadership is a requirement for the Staff title and if the engineer is promoted without demonstrating leadership (with the definition I cited in the article), I think using the word "Staff" does more harm than good because it dilutes the meaning of the role.
That's my personal opinion however, and I know out in the wild, Staff is seen is the level after Senior with or without any special requirement. I've tried to distinguish that a bit here: https://blog.alexewerlof.com/p/senior-engineer-to-staff-engineer