While most topics in the ByteByteGo newsletter focus on technical knowledge, we also acknowledge the critical role of managing career growth and development, particularly for those at or targeting senior software engineer roles. In today's issue, we are fortunate to have Steve Huynh, Principal Engineer at Amazon, as our guest contributor. Steve is an 18 year veteran at Amazon. He’s conducted more than 850 technical interviews, trained thousands of people on how to conduct interviews and assess candidates, and has directly mentored dozens of folks to get to the next level.
I encourage you to check out his new program, Speedrun to Promotion.
I also encourage you to check out his YouTube channel, and his free newsletter for further insights.
Follow Steve for more on LinkedIn and Twitter.
If you choose to go down the path of becoming a high-level tech IC, there’s a common frustration and helplessness that comes from not knowing how to get promoted. It’s easy to feel stuck and uncertain about the next steps in your career progression, even if you are doing everything that has been asked of you. The lack of clarity and guidance on what it takes to level up can be demotivating, especially if your peers seem to be passing you by.
A lot of this frustration comes from the lack of structure to the whole process. But because promotion is a process, it can be streamlined and optimized. In this newsletter, I’ll explain to you my personal approach to promotions that takes the guesswork out of the equation.
A lot of advice for promotion I would characterize as guess and check. It’s not wrong per se, but it doesn’t take into account the specific situations people are in, and it’s not guaranteed to terminate. Advice like “you should become a subject matter expert (SME) on your code base, ” or “you should lead a project from start to finish” may very well be true. The problem is that some of this advice doesn’t have clear boundaries. When exactly do you become an SME? You can also lead projects from start to finish and still be passed up for promotion and not know why.
A better approach is to invert things to create a plan that addresses gap areas that you proactively identify. This ensures that your effort is focused on things that directly address next-level criteria, instead of things where you’ve already demonstrated strengths, or worse, put effort into things that won’t make a difference at all. I call my approach the Tech Promotion Algorithm. In this newsletter I will share the exact steps to this algorithm.
I developed this framework over the course of nearly 20 years in the tech industry. Over this time I’ve helped dozens of people get to the next level, whether that was a promotion in-role or a lateral role change, like from SDET to SDE. This also includes several people that I’ve directly helped get to the L7 principal engineer level.
Preconditions
Like any algorithm, there are preconditions that must be satisfied before we can proceed:
You are employed - You can’t get promoted if you don’t have a job. I also won’t cover how to get a promotion by moving companies.
You are not on a performance improvement plan and are generally meeting expectations at your current level - Promotion occurs when you can successfully convince the right people that you can handle more scope. If you aren’t meeting expectations at your current level, focus on that before trying to get promoted.
You have a supportive manager - It’s critical to have the support of your manager because, at most companies, managers are the ones who shepherd employees through the process, author promotion documents, and compile promotion packets. If you have a bad relationship with your manager, focus first on repairing this relationship. If this is not possible you may have to switch teams or companies since they are so essential to the process.
Promotion is possible where you are - Some companies have instituted promotion freezes due to the economy. You may also be "capped out" at your current position, as some companies don't promote people past a certain level. The easy way to know whether a promotion is possible is if others have been promoted at your company in the past to the level you are targeting, though even this might not be enough. If your company has a quota system, you may not be able to get promoted until someone else leaves.
Tech Promotion Algorithm
The Tech Promotion Algorithm consists of three steps.
Generating a 360 assessment of where you stand - You need to identify what the next-level criteria is, and determine your strengths and weaknesses against this criteria by doing a self-assessment, working with your manager, and soliciting feedback from other coworkers, preferably with the people that have a say on whether you get promoted or not.
Developing an actionable plan and reviewing it with others - Once you’ve compiled a comprehensive assessment of where you stand, you need to generate a plan of action. Review this plan with the same audience that you solicited feedback from to ensure that the plan sufficiently addresses your areas of growth.
Execute - Since you’ve created an actionable plan it’s time to action that plan. How you deliver is just as important as what you deliver.
Iterate on these three steps until you are promoted. After every iteration, your areas for improvement should shrink, the plan should have less and less ambiguity, and execution should be much more focused. While there is no guarantee that this approach will always lead to a promotion, it optimizes for taking action on targeted areas in a systematic manner, so you at least avoid relying on guess and check methods.
360 Assessment
To create a comprehensive assessment of yourself, you must get feedback from the following sources:
Previous promotion feedback, if applicable
Self-assessment
Manager
Peers at the same level or below (what I call adjacent and downward)
Individual Contributors (ICs) and managers who are at higher levels and outside of your local organization (what I call upward and outward).
I will go over each type of feedback provider in more detail. But it’s critical that you both ask for your strengths and areas for improvement in terms of next-level criteria. Feedback against at-level criteria is useful for things like yearly performance reviews, but they are not the same.
Many companies, especially large ones, have published promotion criteria and leveling guidelines for each role. If this exists for your company, you are ready to proceed to gathering feedback.
If your company is small or doesn't have formal promotion criteria, don't fret. If you do some sleuthing online, you can find the role and level guidelines for other tech companies. Use sites like levels.fyi to map your role, level, and company (or a comparable company) to the level guidelines that you've found online. This approach isn't perfect, as there is often company-specific culture and terminology baked into these documents, but for the most part, these criteria are shared across the industry. Gathering 2-3 of these level documents and mapping them against levels.fyi should give you a good sense of the scope required at the next level for your company.
You should have 8-10 dimensions for which you need to gather data points. Put these in a spreadsheet as rows. The columns will be the feedback sources. To fill out your assessment, you will color the cells red for needs major improvement, yellow for needs minor improvement or more data, green for strength, and gray for no data.
Keep reading with a 7-day free trial
Subscribe to ByteByteGo Newsletter to keep reading this post and get 7 days of free access to the full post archives.