How To Negotiate Your Software Engineering Job Offer

Negotiating a job offer is hard. In fact, many people do not want to deal with confrontation so they accept the first offer they are provided. What if I told you that there’s a better way to negotiate?

Keep a paper trail

Every minute detail about your job offer needs to be on paper. This means any email about communication of the offer, anything discussed over the phone, any benefits, signing bonuses, or other items that were mentioned to you to get you to interview with the company.

Keeping a paper trail will provide you with information that holds people accountable to their word.

Open doors, don’t close them

Until you are absolutely positive that you will not accept a job offer, keep the offer on the table. Not only does this create a sense of urgency for the recruiting efforts of the company, but it can lead to further negotiations down the line. Majority of the time you will be pressured into making a decision to which you’ll need to stay passive regarding your commitments such as kindly delaying their urgency while you’re evaluating.

Know your worth

The more information you know about how much you’re worth, the more room you have to play with. Lookup the respective market rates for the job you’ve got an offer for, look up the respective company’s salary range on a site like or, and generally talk to other people in the industry to get an idea of a realistic range based on your experience.

Knowing your worth shows that you have confidence in an offer and sets the bar for the playing field with regards to negotiations. This does not mean you disclose your current worth, but rather that you know what you are worth both on the market and in your heart.

Put the ball in their court

When it comes to negotiation, you always want to put the ball or last communication in their court. What this does is puts pressure on the company to make a decision of improving the offer or playing hardball. You may notice that whenever pressure is put onto you, they are trying to put the ball in your court.

Have a backup plan

While negotiating, you’ll always want to have a backup plan. This can mean another offer on the table or even a backup ultimatum if the negotiation does not work out. This gives you leverage to satisfy your wants and needs in a deal. Whether that is communicating that you have another offer currently (showing you’re high in demand), or that the offer is not enough to make you move from you current employment (showing a lack of negotiation).

What’s your motivation?

Provide your underlying motivations for why you want to accept the job offer but cannot under the current conditions. This could be the mission/vision of the company or another aspect such as the way they build software or another aspect you really value that this company offers over the other offers.

Be human

Show that you are human with basic wants and needs. While negotiating, use statements to show that your wants and needs are not being met. This helps show your feelings regarding the current offer and provides an emotional tone to what can improve the offer.

Show how they can win you over

When making a deal, be able to give in and show what it will take to win you over with regards to an offer. After-all you’ll be working for this company for a chunk of your life and you’ll want to ensure you’re comfortable going into the position rather than potentially going into it with resentment / regret.