How to get promoted
A guide for engineering managers
When the engineering managers I coach struggle to find ambitious goals, I sometimes leverage their ambitions to help them identify areas where they can improve. But, to my surprise, not so many EMs have ambitions beyond their current role.
When I had a “real job”, I was always driven by the next thing. I didn’t care about the title, but I always wanted more impact and responsibilities (in six years and two companies, I had seven different positions 😅). While I don’t recommend being as “opportunistic” as I was (but hey, I ended up being an entrepreneur), I do believe that thinking about the next position gives you perspective and makes you more in control of your career. But the difference between thinking about your next promotion and getting it is enormous.
Many engineers believe that if you do great work at your job, people will recognise that work and automatically give you an adequate promotion or raise. It is unfortunately far from reality, as those who get promoted, are not the best employees, but the more visible.
Think about your CTO’s typical day (or the VP Engineering, the one who will eventually decide on your promotion). They might have eight to ten meetings to attend, tens of emails (or Slack messages) to answer and they always have to switch their mind to a different project or a new problem that needs to be solved. So, unless you’re involved in the problem du jour, the number of seconds the CTO is thinking about you in a day is about zero. Pretty normal right? The CTO is a busy gal and can’t think about every single team member. But if you’re serious about this promotion, she should hear about you often.
In an interview with StaffEng, Katie Sylor-Miller, a Frontend Architect at Etsy, says that “a big part of being promoted [...] is making sure that your work is visible, that people know your name and you have a good reputation.” I’m sure you’re thinking right now about OKRs, performance reviews, one-on-one(s) with your boss and all the other mechanisms in place at your company to make your work visible. Unfortunately, as rightly pointed out by Slava Akhmechet, a product manager at Stripe, they’re too often “social fiction”:
Following the overt mechanisms of advancement is neither sufficient nor necessary. It may even be actively harmful - almost everyone who does great work and takes performance reviews seriously toils in relative obscurity. Look at the people who occupy positions of considerable authority in your organisation. Did any of them get there by following some middle manager's feedback?
Instead of social fiction, I think the word “game” is more appropriate for the advancement system in most companies (and any human interactions by the way). Since I’m pretty sure you’ve spent countless hours like me playing video games (or still do 🎮), how do you win at video games? You game the system.
Understand the promotion process at your company
If you’re currently an engineering manager, any promotion from now on will make you part of your company’s leadership team. And, as pointed out by Will Larson, “existing members of that team want to be comfortable that they’re expanding their ranks with folks they believe in, and they can’t believe in you if they don’t know you.”
As an engineering manager, you’re not contributing anymore to the codebase. You’re contributing to the company’s success. Managing your team is the means to get there, not the goal. More specifically, an engineering manager contributes to the company’s success by:
1/ Attracting and retaining the very best engineers: like Joel Spolsky, I firmly believe that an organisation “where the best software developers in the world would want to work [leads] to profits as naturally as chocolate leads to chubbiness.” So even if there is a process in place to attract engineers, everyone in the company will thank you if you managed to score a high-profile recruit (while saving thousands in headhunter’s fees). Some tips for doing so:
- Be recognised externally as an expert and someone great engineers would want to work with (blogging, speaking…)
- Continuously look for talent, especially visible ones (the ones who blog, speak, live code, contribute to open source…) and invite them for informal interviews
- Mentor external engineers pro-bono, even if they don’t end working for you, they sometimes have friends who might
2/ Shipping revenue-generating projects: for any company out there, technology is just the means to make more money. So which projects in your company right now have the highest revenue-generating potential? There are usually three or four such projects per year, so you need to make sure your team is involved in these projects, even if it means being proactive about it and not waiting for your manager to assign it to you. When I was an employee, I used to regularly crash meetings (or discussions at the coffee counter) and see if I could be useful to a project.
3/ Proactively solving problems: I’m sure you’re the kind of person who always presents problems with a solution. What’s even better is for you to start solving the problem before your boss is even aware of it. CTOs have to make countless decisions every day, and they need to know they can count on leaders in their team to be proactive and make the right decisions for them. Obviously, this action shouldn't say hidden and you would have sent a message to the leadership with information about the problem, what your team is doing to solve it and a deadline.
Building your promotion playbook
When I was advising startups on fundraising, most of the work we were doing was building up a great story that would unroll during the roadshow (3 to 6 months). Getting promoted is not the same as fundraising, but the mechanism is similar:
1/ Make your intentions known: promotion is a two-way street, and your management should be aware of your objectives, as well as you should be aware of what they’re expecting from someone who does your targeted job. Ideally, they should state clearly what you should be demonstrating to get the job so that you can show you’ve done it when the time is right.
2/ Keep a log of your achievements and impact: start a brag document or a promotion packet that will be the base for any communication about your team’s accomplishments (especially the ones on high-impact projects).
3/ Make it impossible for them to say no: when it’s promotion or review time, build a short presentation that shows factually how you achieved what the management expected of you and your team’s successes.
Keep in mind that the higher you go on the management ladder, the fewer positions are available. Sometimes you might want to make a lateral move at a smaller company to build up more responsibilities (like becoming CTO or VPE at a startup) before going back to a more mature company.
Last but not least, it’s essential to understand that while thinking about your next promotion should not be your main focus, it is part of your job. There are still way too many opportunistic leaders in technology organisations and not enough people like you. So please do me a favour, keep doing a great job AND get that promotion instead of all the opportunistic contenders 😉
This section is only available to email subscribers. Sign up, it's free!
- Thinking about getting promoted gives you perspective and makes you more in control of your career
- Those who get promoted are not the best employees, but the more visible
- To be more visible: attract high-level engineers, ship revenue-generating projects, proactively solve problems
- Getting promoted is a 6-month process that resembles a fundraising roadshow
[RESOURCE] Progression at Monzo - Monzo
[ESSAY] How to get promoted - Slava Akhmechet
[ESSAY] Software Developer Promotions: Advice to Get to That Next Level - Gergely Orosz
[ESSAY] Being visible - Will Larson
Are you ready to scale your engineering team and grow as a leader?
Membership includes weekly live learning sessions, online resources, exclusive events and a community of 100+ engineering leaders
The Unicorn CTO Newsletter
Join the newsletter to receive the latest updates in your inbox.