While today I believe there is decent knowledge about the Engineering Manager role (hopefully, in part, thanks to this newsletter! 🙂), it doesn’t seem to be the case for the Staff Engineer role.
Questions that I frequently get are:
What is a Staff Engineer?
What do they do?
While I understand the nature of this role, I must admit that I have never had direct experience with it. This is because we don’t have such a role in my department at Namecheap. That’s why I decided to invite my friend, Raviraj from Meta (the company behind Facebook and Instagram), to co-author this article.
So before everything, I'll let him introduce himself.
Hey! I am Raviraj, a Staff Engineer at Meta, and I work in Meta's internal cloud. I worked at Microsoft for 4 years before switching to Meta in 2016. I grew to become a tech lead and was eventually promoted to Staff Engineer 3 years ago.
Subscribe to Raviraj’s Newsletter
Raviraj also writes a great newsletter, Techlead Mentor, where he shares stories, tips and advice about Tech Leadership. You can subscribe to it directly from here 👇
Today, together with Raviraj, we are going to demystify the Staff Engineer role and understand what's behind a $600-800K yearly salary!
In particular we will cover:
❓What is a Staff Engineer
👷 What a Staff Engineer does (I got Raviraj's calendar! 😈)
🗺️ The Staff Engineer Career Path
So let’s begin!
❓What is a Staff Engineer?
If you follow me and this newsletter, you know that I'm not a big fan of labels, especially when they are used randomly just to create hype in job profiles. Hiring is a serious thing that goes behind number of years of experience or your age.
That being said, especially in big-techs, due to their size and number of projects they deal with, a precise definition of roles and how to grow to these roles, is needed.
How Roles Work in FAANG
In FAANG and similar big tech firms, the career progression for technical roles typically follows a structured hierarchy, which helps maintain consistency in job expectations and career development across these large organizations.
Here's a simplified overview:
🎓 Junior Level: this is often the entry point for new graduates or those transitioning from different fields. Titles may include 'Junior Engineer' or 'Associate Engineer'. Interns also fall into this category, especially for those still in the process of completing their education.
💻 Mid-Level: after gaining some experience, individuals progress to mid-level roles. These positions often require more technical expertise and the ability to work more independently. Titles might be 'Software Engineer' or 'Systems Analyst'.
🌟 Senior Level: with significant experience and expertise, professionals advance to senior roles. These positions often involve complex problem-solving, leadership in projects, and mentoring junior team members. Titles here might include 'Senior Engineer' or 'Senior Developer'.