Today’s newsletter features a special guest, Ryan Peterman, who was promoted from Junior to Staff Engineer at Meta in just 3 years.
In this article, Ryan will share his insights on how to fast track your career growth and get promoted faster.
Once you land that first software engineering job, the next big question becomes: how do you get promoted? Many engineers fall into the day-to-day routine of writing code without a clear idea of how to grow their careers.
This happened to me. At my first job at Amazon, I landed code without knowing what I could do to grow my skills. I left that job within eight months because I felt I wasn’t growing as an engineer. Three years later, I made it to Staff Software Engineer at Instagram after tons of mentorship. Early on, I learned that being good at coding wasn’t enough to get promoted; you have to think strategically about your career and often need to develop new behaviors to move up.
In this article, I’ll share everything that helped me fast-track my way up the ladder, from developing the right mindset to making key moves that many overlook. Even if rapid growth isn’t your goal, this guide has learnings for all tech career paths.
In this guide:
Software Engineering Levels
An Algorithm for Promotion
Junior (IC3) → Mid-level (IC4)
Mid-level (IC4) → Senior (IC5)
Senior (IC5) → Staff (IC6)
Luck & Parting Words
Software Engineering Levels
Note: “IC” = “Individual Contributor”
In software engineering, companies measure career progression by levels that measure both behaviors and impact within the company. While the exact titles and structure can vary between companies, most tech companies follow a similar system:
Junior Engineer (IC3) - Early in your career, working on smaller, well-defined tasks with guidance from more experienced engineers.
Mid-level Engineer (IC4) - More autonomous, handling moderately complex projects, and beginning to take initiative in improving the codebase and what they build.
Senior Engineer (IC5) - Leading larger projects with team-level influence. You’ll mentor and guide the team while having a broad impact on the codebase.
Staff Engineer (IC6): Focusing on cross-team collaboration and solving org-wide challenges. Staff engineers are strategic thinkers who influence the technical direction of their organization.
Senior Staff Engineer and Beyond (IC7+): Senior staff engineers and up operate with top technical expertise, driving large-scale initiatives that have a broad impact on the company. Senior staff engineers mentor staff engineers and work closely with executive leadership to meet business objectives.
Your impact and compensation increase as you progress, which is a lot more satisfying in my experience. Not to mention that the skills that get you promoted also let you control what you and the company work on.
Also, many companies consider only senior engineers (IC5) and higher to be “terminal levels.” You must eventually get promoted to IC5, or you’ll be managed out. Most engineers are promoted in time, so it’s not meant to scare you but to encourage you to grow.
An Algorithm For Promotion
There’s a common set of steps across all promotions that will get you to Staff:
1) Exceed expectations at your current level - Your manager will be hesitant to find you opportunities at the next level if they have concerns about your performance at the current level. Also, when your manager puts together a promotion packet, it’ll contain a history of your past ratings. The promotion committee will have concerns about your packet if you have a history of only meeting expectations for your level. Work with your manager to understand the expectations for your level and how to exceed them.
2) Be direct with your manager about promotion - Once you know you’re exceeding expectations for your level, ask your manager what next-level performance looks like. Your manager plays a huge role in your promotion. They build your case and advocate for it, so they have a lot of influence on this process. Also, the lower the level, the more control your manager has. IC3 -> IC4 promotions are straightforward, so your manager’s perspective is usually what happens. For IC5 -> IC6, there is a lot more ambiguity, so your manager serves more as a middleman between you and the promotion committee. Your manager still plays a significant role in writing your packet and delivering feedback.
3) Find next-level scope - If you only work on projects that fit your level’s behaviors, you won’t get any closer to promotion, no matter how good your work is. One simple pattern for finding next-level scope is brainstorming projects with engineers who are 1-2 levels higher than you are. Often, they will have a lot of projects sitting in their backlog that are big enough to help you get promoted. If you take on one of their projects, they’ll often help mentor you, review your designs and code, and give you strong peer feedback for your future promotion packet. I wrote more on this here. Make sure to confirm with your manager that they agree that what you’re working on fits the behaviors of the next level.
4) Maintain next-level behaviors and impact - The duration you need to perform at the next level varies depending on your level and your company. At minimum though, you need to maintain that performance for 6-12 months. This is because promotions are “lagging” in tech. You must prove that you’re already operating at the next level before getting promoted. This reduces the risk of failing to meet expectations at the new level.
Getting promoted faster is a matter of doing steps (1), (2) and (3) as fast as possible. The best you can do is immediately start exceeding expectations in your first half and working with your manager on the next level.
Almost every team has scope for more Senior Engineers (IC5). You can get promoted up to that level if you have the skills and behaviors. Past that, situation and business scope play a much larger role. Many teams don’t need someone who has Staff-level leadership and technical skills. If you find yourself stuck at any point due to your situation, you’ll likely have to switch teams to continue growing your career.
Now that you have the algorithm that applies at any of these levels let’s get into the level-specific strategies. I’ll share what got me promoted and what I would change if I did it again.