Back

Doubling my salary as a software engineerFeatured

Our Salary Paths series aims to give fellow Elphas a reference point for salary negotiations and encourage more women to talk about compensation. We hope that opening up the conversation will contribute to more pay transparency and equitable pay.

Interested in sharing your Salary Path with us? Please fill out this form here and we will get back to you (can be posted anonymously, too! 😉 ).

--

A brief salary history

I started working as a Software Engineer in the San Francisco Bay Area in 2015. My academic background and internships carried prestige, and I was able to get a full-time software engineering role at Yelp that paid $110k a year. I don’t have a clear record of my title and level progression from those years – Yelp only introduced levels for software engineers part way through my tenure there.

At the end of 4.5 years with the company, I was being paid a salary of $142k per year and was at the IC3 or the equivalent of “senior software engineer” at many other companies.

Then, in 2020, I started a new job at Stripe with a starting salary of $216k per year**.

During the past 8 years of my career as a software engineer, I’ve effectively doubled my salary, and I’d like to share some of the learnings I’ve had in this process. In my case, the biggest salary increase came from a job switch.

** Both of the companies I worked for also had stock-based compensation. I’m not going to go too much into stock-based compensation today, since this is a nuanced topic depending on whether your company is publicly traded and how the stock grants are structured.

Understand how compensation works at your company and for your industry

I feel fortunate that I work as a software engineer in the software industry, since compensation is both competitive and well-understood. Many large and mid-sized tech companies have a defined career ladder with defined pay bands.

In the companies that I’ve worked at, my salary was always tied closely to my level and its corresponding pay band. This means the most effective way to get a raise within the same company is to get promoted to a higher level. Framed another way, I found there was limited room to negotiate compensation with my company other than through the existing career-level framework. Switching jobs can be a really effective way to either renegotiate what band you belong in or the size of that band.

Even though companies may not always be transparent with you about what their pay bands are, there is a lot of information about software engineering salaries shared online at sites like Elpha, Glassdoor, Indeed and Levels.fyi. These resources can help you estimate what a company’s pay bands are for your role. I had been on these sites before and seen those 200k+ annual salaries and thought they were out of reach for me. It wasn’t until I looked for my second job in 2020 that I was able to calibrate my own expectations on how much I could be paid for my skills.

Setting up a successful job search

When I had gotten my first job out of college, I don’t remember trying that hard to negotiate. I was just excited to have a (really well paying!) job. If I did negotiate, all I did was sheepishly ask for more without coming to the table with leverage or a compelling reason. During my 2020 job hunt, I was ready to ask for more. My favorite online resource on salary negotiation for tech workers is written by Hasseb Quereshi and I followed a lot of the advice from his blog posts.

One important aspect to negotiation is having something to bring to the table. While you can definitely get creative about what to bring, the clearest and most convincing piece of leverage is a competing offer from another company. I optimized more for having multiple offers in hand at the same time. This is more of an art than a science, but here are some tips that might help:

  • If it's been a while since you’ve looked for a job, definitely brush up on interviewing skills. They are different from the skills that you use in your job day-to-day.
  • Start interviewing with larger companies or companies that are known to be slower earlier.
  • Ask your recruiter how long the process from interview to offer typically takes in the introductory call and schedule accordingly.

I also cast a wide net and didn’t limit my search to a specific title or tech stack. A generalist background opened more doors for me and allowed me to be flexible when certain specialist roles were closed mid-interview process. This let me discover roles that were high paying and a good skill fit for me.

When I took initial calls with recruiters, they would often ask about my target salary range as part of the introductory call. I wanted to avoid anchoring bias so I often responded with “I expect to be paid at a competitive market rate for someone with my skills and experience”. If it was too hard to avoid giving a number, I could add “I expect to be paid at a competitive market rate for a senior software engineer… based on my research that is $XXX-$XXX”

Always, always, always negotiate

It was a big confidence boost for me to wrap up a few weeks of intense job searching with multiple competitive offers in hand. Asking for more still felt very uncomfortable. I had a voice inside my head telling me that none of these companies had low-balled me and it would be disrespectful or harm my reputation, to ask for more.

Being older and wiser, I know that this voice was just a gremlin and I’m glad I shut it down. Societal expectations can often lead women to be too self-sacrificing and put the needs of others before their own. I put my own needs first, and asked for more! I was offered a 10k base salary increase and a 40k starting bonus from a healthtech company where I did not end up working. I was also offered a 35k starting bonus from Stripe which I did end up signing.

My general approach to negotiating was to explain why I was excited about joining the company, why the choice was difficult for me, and what the company could offer me to make the decision easier. I didn’t say anything adversarial, or anything that didn’t feel authentic. A lot of these negotiations were phone conversations that I can’t faithfully reproduce, but as an example, I might have said:

"I was impressed by the quality of the engineers that I spoke to during all of my interviews, and I appreciate how quickly you got back to me with an offer. Joining a private company is something I’ve never done before and is a decision that I need to carefully consider. The other option I’m considering is with company X and the guaranteed cash is something I value in these uncertain economic times. Is there something you can offer me to make the decision easier?"

This has the effect of expressing gratitude, giving a compelling reason why I’m taking my time with the decision, and asking for more.

Even though I was a reluctant negotiator, I walked away from the experience feeling more empowered and more confident in my skills, both technical and interpersonal. I hope my story gives you some ideas on how you can make the most of your next salary negotiation or career move.

Very interesting what you say about getting the largest pay increases from switching employers! I once saw a twitter thread (can’t find it now) from an principle engineer at Amazon (or somewhere like that) where she said she’d never gotten promoted and had gotten all title changes from switching employers. Definitely a good way to increase pay.Would be curious to see a follow up post on equity and how that affected your career decisions.
I definitely skirted around the topic of equity in this post πŸ˜… When it comes to equity based comp, there is such a huge difference depending on whether you are joining a publicly traded company and whether you are receiving equity in a private company.Earlier in my career I was still building wealth, and it was beneficial to work at a publicly traded company because it gave me cash when I needed it for big life events like a cross country move. Private equity is a lot more uncertain because you don't have as much concrete info about how much it will be worth and if you'll ever be able to sell. It took me almost 3 years of working to get any liquidity from my Stripe equity (some employees waited longer).
Oh interesting about having to wait 3 years! And hah, I'm sure the Stripe payout was 100x what others can expect so totally fair not to wanting to overpromise that as a normal scenario.
This article was very informative and interesting @amietsai I am going to use some of these techniques next !
Great article and I agree about always negotiating and definitely the biggest increases come from switching. Very interesting. I am on the business side and definitely a generalist. I'd love to learn more about how you positioned yourself as a generalist and were able to get more doors to open up. Could I possibly message you to set up a time to chat, if you'd be open to it?Thank you!