How to Negotiate a Job Offer for Software Engineers


Software Engineers make an average salary of around $108,232, but that figure is only half the story. While a check in the six-figure neighborhood is a reason to celebrate, in some cases, you could get even more if you know how to negotiate. And while more money is never a bad thing, more benefits can be better.

Read on to learn how to negotiate a job offer as a Software Engineer, which benefits you should consider, and how to practice for the negotiation session.

Make a list of your needs and wants

The first step is to make a list of what you absolutely need and a few other things that may be best categorized as “nice-to-haves.” For many Software Engineers, the needs include:

  1. Enough annual pay to cover your:
  • Rent or Mortgage
  • Food
  • Clothing
  • Vehicle and transportation expenses
  • Insurance for your vehicles and home
  • Insurance for your computers, devices, and home network components
  • Basic utilities
  • High-speed internet
  • Child care expenses if you have children
  • Money for gifts for friends and family members
  • Vacation booking and spending money
  1. Health insurance
  2. Dental insurance

For the majority of Software Engineers, the above list should take care of what you need. And here are some things that are nice to have:

  1. Paid time off
  2. Flexible work hours
  3. Work-from-home options
  4. Student loan repayment
  5. Childcare benefits
  6. Maternity or paternity leave
  7. Reimbursement for taking programming courses
  8. Stock options
  9. A bonus pay structure

Decide how flexible you want to be

Most companies will offer a combination of things on your “needs” and “nice-to-have” lists. They may even consider some things on your “nice-to-have” list as common and offer them to everybody, such as paid time off, extended parental leave, and work-from-home options. It’s best to decide ahead of time where you’re willing to be flexible.

For example, you may want to think about how you’d feel if they offered:

  • The option to work from home but with less pay than you expected
  • Student loan repayment but no stock options
  • Stock options but less pay than you expected
  • Flexible work hours but less paid time off

You can sit down with your significant other or anyone else who your decision may impact and sketch out a list. It’s a good idea to bring that list with you while negotiating your compensation. Having everything written down and well-organized shows you’re someone who knows what they want and has their priorities straight.

The most important benefits for Software Engineers

Along with health and dental insurance, there are some benefits that may carry more weight than others for Software Engineers. Here are some to consider:

Company stock

Stock refers to shares of the company you work for. Each share has value, and this value fluctuates based on a number of different factors. Shares of stock can offer a huge payout for a Software Engineer, particularly if the company is up-and-coming or already has a well-established value on the market.

Another thing in your favor when it comes to stock options is that, for some companies, stocks are like free money. The company can give you the stock without putting up a dime. Also, keep in mind that you may not have to accept the stock options they offer everyone else. Here are a few things you may be able to negotiate:

  • How long before you can sell your shares. Some companies require you to stay for quite a while before you can liquidate your shares. You may consider extending that time period in return for more shares. That shows you have a long-term dedication to the organization.
  • The number of shares you get. Shares are tangible representations of the company’s success. Negotiating for more shares conveys your interest in supporting the company’s wins and avoiding failures. Often, taking less pay upfront may be worth if it if you get more shares
  • Shares that are dependent on company performance. For some companies, earnings, figures, and projections are public knowledge. You can try asking for more shares of stock if the company exceeds earnings projections by a certain percentage, such as 5%.

Bonuses based on performance

For a Software Engineer, “performance” can mean several things, but to gain the ear of your employer, you may want to connect it to the successful deployment of a solution you help develop.

This scenario could break down like this:

  • 3% bonus if the following happens:
  • The release is stable and effectively deployed, as measured by X, Y, Z variables, 10% faster than originally scheduled
  • User reviews average 4.5 out of 5 or higher over a six-month period
  • Organic downloads of the app (those that weren’t a result of paid, promotional links) exceed expected numbers by 12% or more

It may be beneficial to ask for one basic year-end bonus based on conditions outlined by your employer. If they’re asking for a lot from your performance, you can request the bonus amount be slightly higher than what they originally offer.

You can also outline similar conditions but ask to receive shares of stock instead.

How to approach the negotiation table

A Software Engineer can offer significant value to a company. Knowing this and preparing is key to capitalizing on it. Here are some ways to make sure you’re ready for negotiations:

Practice your negotiation skills

After outlining what you need and want, it’s a good idea to set up practice sessions. This will help ease your nerves and inspire new things to negotiate and ways of presenting them. Have a friend or family member pretend to be your employer. Ask them to play the following roles:

  • The hard-nosed, “no-to-everything” person
  • The passive-aggressive, “well that would be nice, but…” person
  • The staller, who “thinks” for a long time, then waits for you to cave to your requests

Practice presenting different elements of what you want, as well as supporting documentation. The way you present your salary figures, for example, can be justified with:

  • Average pay figures for people with your experience in that area of the country
  • Average bonus amounts for comparable Software Engineers
  • The amount you made in your last position
  • Figures representing how you’d like your pay to increase over time

It may also be beneficial to practice with multiple people. That may involve separate practice sessions or having more than one person in the room at a time. If you’re sitting down with your team lead and the head of HR during the actual negotiation, practicing with more than one face looking back at you can be helpful.

Qualify for better compensation

Using our diverse selection of courses, you can bring a lot more to the negotiating table. In the following courses, you’ll learn the skills employers need and may be eager to pay you for:

With our courses, you get the experience and knowledge needed to land the hefty salary you deserve. See the possibilities by signing up for free now.

Java for Programmers | Codecademy
A quick primer on Java fundamentals for programmers.

Learn Python 3 | Codecademy
Learn the latest and greatest version of the most popular programming language in the world!

Related articles

7 articles

What Is a Computer Network?

By Michael Klein

Have you wondered how computer networks operate? Learn everything you need to know about computer networks and why they’re so important to developers.