We could all use more money. Whether it’s to support a family, buy an investment property, or try out the latest Tesla model – more money never hurts. Sometimes that means jumping around from one company to another at a higher salary. However, as a software engineer, the interview process can take months of preparation – studying algorithms, data structures, system design, behavioral questions, etc. Plus you don’t want to burn too many bridges by jumping around too often.
You’ve probably noticed coworkers at the next level and thought, “I’m doing about the same level of work they’re doing. Why am I not getting paid what they are?”. My thought is that if you’re doing the work, there’s no reason you shouldn’t! Promotions can be a great way to make more without extensively inconveniencing your life (ie. selling a house, moving, onboarding to new tools/permissions, prepping for months for a chance of getting an offer from another company, etc.).
That said, they don’t come to just anyone. Although you shouldn’t need to work crazy amounts of overtime, you do need to put in an effort to make sure you’re using your time at work effectively.
In my own career I’ve been passed up for promotions multiple times. When I changed companies, I took everything I had done wrong and made a list of all the things that I believed would have gotten me promoted. For the first 6 months of my job I reviewed the list on a weekly basis to make sure I was making some time to do each of the things. In less than a year, I was promoted to “Senior Software Engineer” and I owe it to the list. Obviously, every company is different and your promotion could be totally outside your control (ie. recession and your industry takes a hit, coworkers who are actual 10x engineers and live to code, etc.). But if you could work the same hours as everyone else, while increasing your chances of getting promoted, wouldn’t you take it?
Here are 6 general tips that will help take your engineering career to the next level, along with some bonus tips that may or may not apply to you based on your particular situation. I used them (and will continue using them) and I know they’ll help you as well:
6 Tips to Get Promoted As a Software Engineer
1. Have Bi-Weekly Meetings With Your Manager (No Exceptions!)
Your manager is your advocate and your voice. If your manager has no sway within the org, it’ll be very difficult for you to get promoted. Assuming those in your org have some level of respect for your manager, the next step is getting them to be able to speak to all of the many wonderful things you’ve done and contributed.
At my previous company, my manager wasn’t all that interested in meeting regularly. We had regular 1-on-1’s setup, but they would often cancel at the last minute or find some reason to postpone until the following meeting. And in their defense, I never really pushed it. We both figured that since I always got my work done (and more), there was nothing to meet about. Little did I know how wrong I was.
When it came time for my manager to speak on my behalf during the rounds of promotions, I was surprised when they weren’t able to fully explain the work I had done. They captured the bare minimum of what I had done and presented it in a way which didn’t convey the effort and ingenuity that went into solutioning them.
Meet with your manager regularly and discuss your career progression. Some companies/managers may be uncomfortable with this, but your manager is there to help you with your career so don’t let it slide! Ask what you can do to reach the next level. Share or even demo work you’ve done and ask if you’re on the right path. And above all, make sure they know that your promotion is important to you. Many companies have quotas. If it’s between you and someone else, and you’ve been vocal about how important your career progress is to you, your manager will very likely think of you come promotion time.
Bonus Tip: Create a list of your contributions. As engineers, we can often be heads down in our work. Make your manager’s job easier by outlining the major accomplishments you’ve made so far, almost like a resume. I did this at my current job and my manager was able to use that to push the argument for my promotion in my favor.
2. Have Quarterly 1:1’s With Your Skip-Level
When I was passed up for promotions at my first company, I was told that the Director “didn’t know enough about my work to promote me”. In my case, my manager was unable to convey the work I had done as a result of me not properly communicating what I had done to my manager.
More than this, my Director barely even knew who I was. I was physically across the country from the Director and had met with him once while I was in town for an org event. On the other hand, a coworker of mine made it a point to meet with him more often. My coworker was eventually offered a promotion. I’m sure there were many factors involved, but that familiarity is key. Not only that, but you can use that time to discuss your career as well. If you ask what gets people promoted, do those things, and then show your skip-level that you’ve done them, it’ll be very hard for them not to push you up the chain.
At my current job I made it a point to meet with my skip level about every 3 months. These meetings allowed my Director to get to know me, the work I was doing, and my career interests. The skip-levels are the real heavy hitters when it comes to promotions – make sure you’ve built a solid relationship with them. It’ll make them want to promote you more, so anything good other managers say will carry a lot more weight.
3. Have Bi-Annual Meetings With Other Managers
I know, I know – this sounds like a lot of meetings. And as a software engineer, you don’t want to be in meetings! But think about it – a 30 minute biweekly meeting with your manager, a quarterly 30 minutes meeting with your skip level, and then a couple 30 minute meetings every 6 months or so – that’s not so bad!
The reason meeting with other managers is important is that when the time to promote comes up and all the senior leaders get into a room to discuss who should be promoted and who shouldn’t, you want as many people on your side as possible. Even if you haven’t done work for a manager per say, just them knowing your name and thinking about you in a positive light is a plus.
When you meet with them, ask questions like “What are some major concerns for the org at the moment?” or “What exactly does your team do and how do you all fit into the broader goals of the org?” You want to understand the org at a high level and know where you might be able to contribute. And if nothing else, it shows that you think about things at the business level rather than just the tech level.
Also, let them know what you’ve been working on and what you excel at. I’ve had other managers send their employees to me with questions around certain topics because they know I have a good amount of knowledge in that area. I promise that doing this will set you apart from 99% of your coworkers.
4. Talk About Your Promotion From Day 1
Company leaders have a lot going on. Sometimes their first thought may be getting a service launched rather than your career progression. Sometimes they may assume that you’re willing to wait the standard 3 years to get promoted (assuming that’s the average in your org) and not even bring up promotions until then.
Make sure your manager and skip-level both know that your promotion is important to you. Don’t just do this with words, but when they give you suggestions – do them! If you ask about promotions but keep doing the same things as everyone else, nobody’s going to be impressed.
By talking about your career from day one, people know it’s important to you. You get the wheels turning in their head and it opens them up to thinking that maybe you could get promoted sooner than normal. You’re also going to stand out more. The squeaky wheel really does get the grease. Just make sure you’re not so squeaky that they decide to throw you out instead 😉 Mix talking with action.
5. Figure Out What Your Org Looks For When Promoting
This one is critical. Every org (even within the same company!) is different. Some look for deliverables, others look for leadership qualities. When I first arrived at my current company, I asked several managers what makes employees stand out positively. The main answer I got (aside from presenting in tech forums) was surprisingly – blog posts.
The VP at the time was very into sharing knowledge through internal blog posts. So without asking any more questions, I started writing. I didn’t even write that many. But every time I wrote one, I’d post it in our org Slack channel. The crazy thing was – I was one of the only ones who did this. It was such a common piece of advice, but no one was doing it!
This really helped me stand out as someone who not just asked for advice, but also took action on it.
I wrote a little in my own time, but my team was ok with me adding a couple points to a sprint or two to work on the posts. It doesn’t take a ton of time. It mostly takes planning and action where others won’t.
6. Market Your Name
By “marketing”, I just mean do whatever you can to make sure people know your name throughout the org. Write a helpful blog post and then announce it to the org. Write a script that automates a task many teams have to deal with and post it to whatever chat client you use. Get a certification and ask your manager to announce it. Ask a question to the org that others might also have. Present in a forum.
Never do extra work in a vacuum.
By announcing your work, you’re also helping others who may be struggling with something your work could help them with. Always think about how you could share your work with others. People will start seeing you as a staple to the org.
I’ve seen way too many hard-working engineers spend their evenings and weekends cranking out code, but never stopping to meet with people or share their work with others. Unfortunately, these engineers don’t get promoted and end up either resenting the company or feeling like they never provide enough value.
Take some time every once in awhile to step back and think about what you could do outside of your normal work to stand out. Then share it with other! Many will start coming to you for advice on whatever you’ve accomplished.
Improve Your Odds Even More…
Here are some tips I’ve found helpful you may or may not choose to use to improve your odds even more:
- Visualize yourself and act as though you were a very successful and confident engineer. This helps combat imposter syndrome and eventually becomes more and more real.
- Take 15 minutes at the end of each day to step back and think about what could be improved (within the org or a process that could be automated). I ended up writing a small script that helped several teams because of this process. I’ve also been able to come up with more insightful solutions to issues.
- Demo your service’s progress to senior management more frequently than not. They’ll be curious as to what your team’s been working on and you’ll have a chance to show off your work.
- If you’re not yet at the highest levels of engineering, find an engineering mentor who is highly respected by upper management who you involve closely in what you’re working on. Many companies gather feedback from other engineers so this is very helpful. Although having a mentor is never a bad idea.
- Try to be more visible in meetings and presentations. Remember – “market your name”, but also market your face!
- Push for best practices with confidence – many managers will start looking to you for technical guidance when faced with technical decisions.
- Always be willing to volunteer to work on events or projects that have a higher visibility than what you’re currently working on.
It all comes down to taking ownership of your career. It’s not on your manager, it’s not on your skip-level – it’s on you.
What can you do to make your promotion a reality? What can you do to make your efforts more visible? If someone above you isn’t doing their job, it’s on you to figure out a way around it. It’s not always fair, but it’s how you’ll reach your career goals. It doesn’t require much more time, but it does require more thought and directed effort.
Many managers will say “don’t focus on the promotion, just focus on making valuable contributions and the promotions will come”. I highly disagree. There’s an art to getting promoted faster than others. You could add millions to the company’s revenue, but if people don’t know who you are or what you’re doing, you’re not moving anywhere. Set up short meetings, contribute and market, and always work on improving yourself 🙂
Have I left anything out? What have your experiences with promotions been like?