Salary negotiation for young software engineers (and maybe other professions)

You just finished university / coding bootcamp, and are now on the way to start your career as a software engineer. What should you do in order to get the highest salary that a company is willing to offer? After spending countless sessions on both sides of the interview table, here are a few tips that I wish the younger me knew back then.

Apply and interview from multiple companies simultaneously

The more companies you interview, the more offers that you are likely going to have. Having multiple offers at hand gives you leeway to negotiate more aggressively, as you always have a back up option in case you can not end with a happy note while negotiating for salary. Having multiple offers at hand also allow you do use reasonable comparison to substantiate your salary expectation, which leads to the next section.

Use reasonable comparison

A reasonable comparison is such a powerful argument in your compensation proposal. If two or more companies in the same industry all offer you jobs, it’s very easy to say to one of them “Hey look, company X who is also in this industry is paying me Y, if you are willing to pay Y + $\epsilon$ then I will be very tempted to accept the offer”. You can even do this repeatedly with everyone, till you think you’ve reached the maximum obtainable. Don’t feel bad about this, at the end of the day, it’s just business, nothing personal.

During your interviews, your interviewer might often ask about your salary expectation and your past salaries, which leads to the next point:

Refrain from revealing your past and expected salary

Your ability to obtain a high margin over the median salary lies in two part, one of them is for sure your skills and experience, the other is information imbalance. To reveal your past and expected salary is equal to give up your unrealized equity in salary negotiation.

After a thorough interview, your interviewer often already have a range of value assigned to you. Here’s what happens when you reveal your salary expectation:

  1. If your salary expectation is the same as their expectation, you will most likely get exactly that.
  2. If your salary expectation is lower than theirs, they have the opportunity to pay you lower than you deserve.
  3. If your salary expectation is higher than theirs they might pick a number in the middle hoping that you cave in, or directly move to the next candidate.

If this information is missing, employers will have no choice but to make a guess, opening up the possibility for mistakes.

Disregard arguments on internal equity

Sometimes you will hear HRs say that they cannot pay you 100K because the other engineers only get paid 90K, even though other companies are offering you 100K. This is totally irrelevant to you. It’s the employer’s choice to favor internal equity over market rate. To hire great people, only market rate matters. Market rate is what other employers consider to be a fair salary for the same candidate. In this case, it’s a easy pass for those that insist on internal equity.

Know how much you are really worth

It never hurts to gather information on how much other people are making while taking a similar position. Compare your skill and experience against theirs. While you look that up, if there are skills that significantly increase payout, then it might be a good idea to learn them.