How I got promoted as a staff software engineer

There are few people that want to thank deeply for this. Their passion for software engineering has ignited a fire that was dormant.

I was a senior frontend engineer and a team lead for the past 5 years. I felt stagnant as an engineer.

I was pursuing other things in my life till that point. But I wanted to get out of this rut. In September 2022, I decided that I wanted to focus on my career.

One way to grow would be to switch company and find a challenging team. The other way would be to take on more responsibilities at the existing company. I chose the latter way. Why? There are several reasons, but I won’t expand on them.

Showing Intent

Before I ask for more responsibilities, I want to show my CTO that I am excelling at my current role.

We were migrating our codebase to TypeScript during that time. So, I invested a lot of time to improve my TypeScript proficiency. This directly accelerated our pace of TypeScript migration. I unblocked people when they ran into complex scenarios.

I focused on Q3 2022 being a better IC. This reflected in my attitude throughout the quarter.

I had my half-yearly review with my CTO after the quarter was over. I was able to communicate my renewed focus on being a great engineer and convey my accomplishments to him.

I have asked my CTO if there is anything I can help him with. He told me I could help him with our data team to put Dataflow pipeline into production by spending one day a week. My primary responsibility will still be the web team.

Mission accomplished!

Doubling Down

I decided to double down on my efforts and ship more things.

At some point during Q4, our TypeScript migration has slowed down. So, I made the determination to complete the remaining TypeScript migration as soon as possible. Whenever I could find some free time, I worked on migration project. During Christmas break and our company-wide Hack week, I worked on two massive PRs which brought migration almost to the finish line. After a few more small PRs from me and my team, it was completely done.

I took an initiative to reduce our CI time from 18 min to 9 min, a 50% reduction. I have also improved the developer experience around internationalization.

Additionally, I have successfully deployed Dataflow pipelines in to production. Apart from all this, I shipped a ton of new features in our web application.

Towards the end of Q1 2023, there were discussions about forming a new team to exclusively build integrations with other partners of our company. It will be a new full stack team and we are going to architect it from scratch. I asked my CTO if I can lead this new team since I have the experience to do so. He readily agreed and tasked me with shipping our first set of integrations.

Then came my Q1 2023 half-yearly review. As I was preparing the slides for that meeting, it became a little clear in my mind where I am going and how I should pitch my next promotion. So at this point, I am working across 3 different teams. My primary intent is to free up my CTO’s time so that he can focus on other stuff.

I did not discuss anything about my promotion yet. The review went quite well. My ownership over three teams became slightly more formal. I was also tasked with hiring more people since I will be busy with these new responsibilities.

Trailing Promotions

I heard in an interview given by Rahul Pandey about the concept of trailing promotions. Before you ask your manager about your promotion, you should have been working at the level of your new role for at least 1 or 2 quarters. This shows your manager you are capable of operating at that level and promotion just becomes more undeniable when you push for it.

The title of being a team lead or senior software engineer did not accurately capture my work. Then I came across the term Staff Software Engineer. https://staffeng.com was helpful in understanding this role and the challenges that are associated with it.

During Q2 and a bit of Q3, I was able to do more impactful work

After I was able to reach all these milestones, I had a call with my CTO to push for my promotion as a Staff Engineer. My CTO hinted that he wants to wait for another quarter as I am bringing this promotion for the first time. But I pointed to all my past work and left the decision to him, whether to promote me immediately or later. Luckily he agreed to promote me immediately but set a few goals for me to clear over the next quarter.

I did it! I was able to create a new role within our company between CTO and Team Lead. So, I became the first Staff Engineer at Kisi.

It took about 1 year to get here. But time was not the only factor. A lot of things aligned while I was going through this journey. So, luck played a crucial role as well.

Somewhere along this whole journey, I realized my biggest strength. My passion and drive for software engineering is my alpha. I leaned into it and tried to do more impactful work. It changed the way I approach my work.

As of writing this blog post, I have been working as Staff Engineer for 8 months. I have a lot of fun and a bit of frustration in day to day work. I can fairly say that I accomplished what I have set out to do.

I want to thank my friend Debamitra for proofreading this post.