note i said simple, not easy
“People don’t really get promoted for doing their job well. They get promoted by demonstrating their ability to do more.” -Tara Jaye Frank
Creating an identity as a software engineer can seem complicated when you work with so many intelligent and dedicated people. Programming is not easy. Making it means you worked hard to learn the craft. I was promoted to senior engineer even when I knew I wasn’t the smartest or best coder in the room. I notice that you have more ability to collaborate with your peers than the code you submit.
The role of a senior engineer is of higher scope than that of a junior engineer. Hoping to make a greater impact on the engineers around you by mentoring others or participating in discussions. To be considered for a role, your manager wants to see that you can perform at that level.
Looking back at my progress as a senior engineer, I decided to compile a list of items that helped me in my career.
“If opportunity doesn’t knock, build a door.” — Milton Berle
This may be controversial, but the way you get promoted is by doing more outside of your sprint work. Unfortunately, the sprint’s work is your doing, rarely have I seen people get promoted for doing more tickets than other engineers. The trajectory may be rising, which looks good for the team, but for your career to grow, you need to work outside of your sprints with high visibility. This means collaborating with other teams, finding problems that need solving, and creating solutions.
A lead engineer in our organization was starting a project and wanted help getting it off the ground. I reached out, asked to be hired, and started working on the features. I did this in parallel with my sprint work as if nothing had changed. This meant some of my work was done outside my normal working hours, but growth always comes with sacrifice.
As the project got off the ground and teams began adopting it, acknowledgment was given to those who contributed to the all-hands meeting. Lo and behold, I was apparently one of the approved engineers. I also got a letter from my director with some stickers in it, so that’s cool. The moral of the story is to look for work of greater scope while continuing with your current job, and you will get achievements that can be seen in your organization.
Months later, my director asked if I would like to start a new project for a business requirement. It would be acceptable in my current team to reduce my workload and “stretch” 20% of my time onto another project. If I hadn’t taken the initiative to volunteer for a previous project, I might not have been given this opportunity.
When you want to grow and be promoted as an engineer, you have to take the initiative to “make the door” and work on projects that can get recognized.
You also get the opportunity to find a project or technology that you are passionate about. If you’re stuck on a team you find boring, these projects are out of the way because they’ll soon need to be maintained by someone, and who better to maintain that than the contributors?
“Programming is not what you know; It’s about what you can find out. – Chris Pine
I understood my codebase and knew what it did and didn’t do. It takes time and effort because it is always changing. Your team is constantly updating and adding new code, so staying up to date on what everyone is doing is important when you want to understand everything it does. I was able to provide overviews while onboarding new members and answering support questions from people outside my team, which expanded my reach to other teams.
Owning projects in your team is a good way to build domain knowledge into certain parts of your codebase. Attend design meetings to gain an in-depth knowledge of the features you develop.
As an engineer, we focus on the how rather than the why. Understanding why you are working on the feature allows you to understand the business and how it brings value. You might see an easy way to add a new feature that your Product Owner didn’t realize could be of benefit, or you might figure out that the feature actually already exists in some other form Is.
“To command is to serve, nothing more and nothing less.” -Andre Malraux
There are senior engineers to help the team. Practicing unblocking people is the best way to get yourself into the role. I try to pair with team members when they get stuck and ask for help. Doing this gives you a great learning benefit and gives your teammates the confidence that you can jump in and help when they run into issues. Even if you are unsure of a solution, collaborating with your peers gives you more experience in your practice. A little shot of dopamine is a nice bonus when you solve a problem.
I’ve since joined a new team and still have old team members asking for pairing issues. I learned to be a problem solver. This is the extra effort you need to put in to progress in your career.
There can be many opportunities to help fellow engineers at the larger organizational level as well. If you’ve zeroed in on a new technology or package that could help other teams be successful, take the initiative to set up a meeting and share your findings to save them time. These are the types of value additions that you can bring to attract attention.
“The first rule of management is delegation. Don’t try and do everything yourself because you can’t.” – Anthea Turner
Your manager likes to know they can count on their team. They don’t have to worry while trying to get help. When you fill in to solve problems for the team, your manager can instead focus on the bigger vision and team development. If you become the person who is accessible, you become indispensable.
I’ll willingly fill in for whatever meetings or tasks I can load up on him. Being able to attend meetings to help iron out a problem is a huge help to your manager and will be noted at review time. It is also beneficial for you as you will get used to communicating with new people in your organization. Take ownership as a representative of your team. This, again, will add to your professional visibility. My manager was very supportive of my promotion. He saw that I was leading and advancing our team goals.
Your manager may also be promoted as opportunities open up in the company. If you’ve made their job easier and contributed to the successes they’ve been praised for, they’ll want to take you to the next level with them.
If you can see a common theme in all of these steps, it is the job you want to be promoted to. Your boss wants to know they’re not putting you in a role you’re not ready for, and the next level always means more accountability and further reach in scope.
The more value you bring to others, it shows that you can expand your role and are ready for the next level. These are not easy tasks as they will take you out of your comfort zone, but they are rewarding when you achieve success and challenge yourself in your career.