The Main Rules to Negotiate Your Salary as a Software Developer

negotiate-your-salary

Knowing the main rules to negotiate your salary as a software developer will take you to the next level in your career. At the beginning of my career, I thought that only technical knowledge would help me as a software developer, however, I was wrong.

To have a high level of success as a software engineers we have to focus on other areas as well. It’s almost like being an entrepreneur, you are the product and the companies are your customers. Therefore, we have to know how to negotiate our salary, market ourselves, communicate, solve problems, and of course, be really good technically.

Before being a good negotiator, you have to believe in yourself. There are so many highly skilled software developers I know who sell themselves short. If you are a good negotiator you can get a much higher salary, if you don’t, no matter how good you are, you will get a low salary.

Let’s explore what are the steps to negotiate a good salary as a software developer.

Learn your Value in the Market

One simple strategy you can use is to simply ask your friends how much they are earning. Of course, most people feel uncomfortable when we ask about salaries. So, we can use a simple strategy, we can ask, “what is the salary range of a software developer in your position?”. Probably, you will get the answer in the range of 10% or 20% less than your friend’s salary. However, you will have a good idea of the salary you should earn. 

Another way to find out your value in the market is to have interviews with different companies. This is a good strategy to keep you sharp with what the market is asking for. When you have interviews, you will know what to focus on. Then, if you pass the interview, you offer a high salary to the company and see what happens. It’s not ideal to give the value first but if you are only figuring out your value in the market this is fine.

Alternatively but not so precise, you can use the following websites:

Glassdoor – You can check salary ranges and how the interview is from companies you want to work for. You can also check if the company has a good culture and environment to work in. 

PayScale – You can check salaries by position, company, and country, and then you can have an idea.

You can also have a recruiter as a friend and discuss salaries. However be careful, make your research well, and don’t trust only one source of information.

As the last option but not so recommended, you can “hack the market”. You can announce a job position with the skills you have and see how much other software developers will offer you. 

Do Many Interviews

The more offers you have, the stronger you are in a negotiation. That’s because you gain the ability to walk away whenever you want. When you have many offers you also prove that you are a highly valuable software developer.

Another benefit of having many offers is that you will know your value more precisely and will be sharper for future interviews. You also become more valuable in the eyes of the companies who want to hire you. You will also know what technologies the market is asking for and will know what questions or tests they are making in an interview.

Sometimes companies will delay effectively hiring you. When that happens, you can use an offer you have to make them hire you quicker, otherwise, you will end up getting the other offer.

When we do many interviews we can also be transparent with the companies we are in the hiring process. They will usually ask as well if we are in other companies’ processes. Here it’s crucial for you to say, yes because you want the best opportunity for your career where you can offer the most value. By making that clear to the company that wants to hire you, you increase your value because you show you can just walk away from the negotiation.

Never Give the Number First

Usually, the very first question the company agent will make you is, “what is your current salary?”. If you give this information, you already lost the negotiation. That’s because if you give the number, the whole negotiation will be based on your salary, therefore, you are limited.

How to avoid revealing your salary then? You can simply say that this information is confidential and you prefer to not reveal that. If they push you further, you can say that if you reveal your salary, you might be in a disadvantaged position in the negotiation. That’s because if your salary is lower than what you are worth, you will get less. If you are earning a higher salary, you might not get an offer from the company.

If they want you to fill out your salary expectation in a form, inform them that you want to negotiate this number instead.

The best-case scenario is to make the company give you the number first. They know exactly how much you are worth it because they are in the hiring process far longer than you.

To give the number first will most times put you at a disadvantage because let’s suppose the company has a budget of 100k – 120k a year but if you ask for 80k, you would lose 20k to 40k. It’s not easy to make the company give the number first but you can also say the following to them: “I am a software developer and I am not equipped with the market salary information right now. Therefore, I would much appreciate it if you can provide a salary range to me since you will be far more precise than me to make this offer.”

If you succeed in making the company give you the number first, you will be able to negotiate your salary at a much higher level. By negotiating well, you go to a whole new level in your career because you will push yourself to do better and better by earning a higher salary.

If the Company Pushes You Hard to Give the Number…

Sometimes companies will push you hard to give the number first. They will block the process requiring you to give a number. When that happens, you should be careful with this company because the culture might be toxic there. To avoid landing in a trap, make sure it’s a good company by asking employees there if they like the job, you can do that on LinkedIn.

If you are fine to proceed with the interview, inform a number up high. Then, what might happen is that they will either not even negotiate your number, or they will work on your number. They will usually work on your number though, so to negotiate your salary effectively here, give a high number.

Don’t Negotiate Only the Salary

Negotiating only the salary is very limiting. There are so many other things we can also negotiate. We can negotiate work hours for example. Working fewer hours during the week might be a game-changer in your career. With more time we can study, practice, share our knowledge, or even create our own products.

Nowadays more and more companies are adopting the possibility of remote work. Many developers don’t like remote work, I personally love it because of the freedom I get. By working from home we can be closer to our family and be more present. We can travel to other countries more easily, we can do our jobs with more flexibility. Therefore you can negotiate the possibility to work remotely. If the company you are negotiating with doesn’t allow remote work, you can try to negotiate at least a day a week to work from home.

We can negotiate how many days off we will have every year. We can negotiate how much funds we will have for education, for example, for buying books, having courses, or attending conferences. If you are a speaker you can also negotiate to be sponsored to give a talk with all expenses paid by the company.

As you can see, there are many possibilities when we are negotiating. Another very important point is that it’s much easier to negotiate when getting started in a company.

Salary is Not Everything

Be careful with the market traps. In an interview, ask the interviewer about how is the company, what technologies they use, and what is their work process. They might offer you a very high salary but with very old technologies that might make you obsolete in the market.

It’s not worth it to have a really high salary with a technology that will be used only in one company. That’s because if you lose your job, you won’t be very marketable. You will have to ask for less than you were earning before.

Also, be careful with toxic companies, it’s not worth it to sacrifice your health for money. Let’s suppose you will get a much higher salary but you have to go through a high level of stress every day, you will probably have to spend this money in the hospital.  

Conclusion

Don’t focus only on technical knowledge. Remember we are also entrepreneurs in a way as software developers. We have to be constantly selling and marketing ourselves. There are many ways to do so. If you have a blog, for example, you are creating a powerful way for you to market yourself. If you give talks at international conferences you are also marketing yourself. When you market yourself, you massively increase your value as a software developer.

If you don’t market yourself so much, then you will have to be a great seller. You will have to boost your CV or have connections to refer you to great job positions. That’s because if you are highly skilled but no one knows that, it’s going to be more difficult to find a new job.

Other than being good at marketing and selling, we need to be good negotiators. By negotiating our salary well we will significantly increase our income.

There are some great books on the subject you can read to go deeper into it:

Never Split the Difference – Negotiating as if Your Life Depended on It
Fearless Salary Negotiation: A step-by-step guide to getting paid what you’re worth

 

Written by
Rafael del Nero
Join the discussion

Stand Out as a Java Developer and Get Your Dream Job!

You will get the book by email in a few minutes after registering.