Senior Software Engineer

How to prepare for promotion to senior software engineer

Becoming a senior software engineer is a major milestone in the career. Typically you will need around 5 years of experience to get promoted to senior software engineer in a reputable tech company.

Senior Software Engineer Expectations

Understanding what’s required for the senior software engineer in the company is important so that you can work towards them. Big tech companies usually have documents on specific expectations for each level (job model or career ladder).

Here are some common expectations for a senior software engineer:

Area Expectations
Impact - Understand business impact of new products and features
Ownership - Ability to deliver complex projects end-to-end
- Owner of a small system or part of a large system
Influence - Experience in leading cross-functional projects
- Experience in mentoring junior software engineers
Ad hoc duties - Perform on-call duties
- Lead investigations of production issues

A complex project may involve multiple products and features. Delivering a complex project end-to-end means you need to capable of:

  • Translating project business requirements into one or more system designs
  • Writing code to develop features and products required for the project
  • Fixing bugs discovered during testing
  • Deploying all pieces in the project to production

Cross-functional projects are projects that involve multiple teams. For example, a user behaviour analytics project could involve the following teams:

  • frontend (user interaction tagging and collection)
  • backend (API gateway)
  • data engineering (data cleaning)
  • data science / business analytics (user behaviour analysis)

Promotion Process

Promotion to senior software engineer requires much more effort than mid level, especially in big tech companies where structures and processes are in place to make sure only those who meet the criteria gets promoted.

The promotion process usually involves 3 steps:

  • At the start of promotion cycle, managers get to nominate team members for promotion.
  • Once nomination is accepted, the person needs to prepare and give a presentation to a panel of evaluators.
  • The panel decides if the person meets the criteria (rubrics) for promotion.

Communicating Intention Early

Talk to your manager and communicate your intention to get promoted as early as possible. It is important for your manager to be aware of your intention. Your manager is more likely to nominate you for promotion as compared to others who did not make their intentions explicit.

Also, as a potential candidate for nomination, your manager is more likely to assign challenging and impactful projects to you, in order to build a strong case for promotion.

Preparing for Promotion

Start preparing for promotion as early as possible, at least 6 months to 1 year before you plan to get promoted. When working on projects, collect data, testimonies and anything that show your impact and contribution to the team and the company. Having more supporting materials helps to build a strong case for promotion. You don’t want to be in a situation where you have the chance for promotion but you did not have anything to back it up.

It is likely that the promotion panel consist of staff engineers and engineer managers who are less hands-on. They might also be working on different tech stack from you. Avoid technical details and focus on high level technical achievements and business impact.

For example, if you shipped a significant optimization on page load speed, record the page load speed before and after the change using performance monitoring tools and correlate the speed improvement to business metrics such as conversion rate or customer satisfaction rating. Also consider video recording to showcase the improvement of real user experience.

Beyond Senior Software Engineer

Once you are a senior software engineer, you may be offered a chance to lead a small team of 2 to 5 people as a team lead or engineering lead.

Subsequently you may be offered to convert to the management track, or stay on the individual contributor (IC) track.

On the manager track, you will be groomed to become an engineer manager (EM). Your main responsibility shifts from coding and technical work to managing people.

On the IC track, you will be working towards becoming a staff engineer.

Additional Resources

Previous: Mid Level

Next: Personal Growth Overview

Subscribe to receive updates on new goodies