Let’s be honest. One of the main reasons so many people these days are looking to become software developers is money. It is already well-known by now that an average programmer earns considerably more than specialists in many other common professions. Of course, nothing in this world is for free, and software developers can expect to earn more than others because this job requires a considerable knowledge of tools and technologies, as well as practical experience. But when it comes to salaries, your objective value as a specialist is not the only factor, and sometimes not even the main one, which affects the amount of money you are going to get paid for your work. Today we are going to talk about estimating your value as a software developer on the job market, negotiating about the salary and managing salary expectations in general.
Negotiating Salary for Software Developers. How Not to Sell Your Skills Short? - 1
from the movie "Jerry Maguire" (1996)

How much a Java developer can make?

First step to estimating your value and trying to get more for what you have to offer as a specialist, is knowing the market itself, especially the niche/specialization you are going to work in. Let’s take a look at how much an average Java developer makes, for example. According to PayScale, the average salary for a Java developer in the U.S. is $74,300 per year, with an average salary range of $50k to $105k per year. Glassdoor’s numbers are even higher at $74,100 per year as an average salary ranging from $57k to $117k per year. Not bad, right? And this is the data for regular Java developers. A Senior Java coder would reasonably expect to have an additional $25-30k to the annual wage. Java coders are making good money in Europe too. The average salary for a Java Developer in Germany is almost €49,000 a year, while Java Seniors are making more than €62,000. In the United Kingdom, Java devs are making an average of €53-85k a year, in Spain, the average salary is €27-45k, while in the Netherlands it’s €30-64k.

Developer salary based on experience level

Another important factor that will have a significant effect on your salary is the experience level. Naturally, Junior, Mid-Level and Senior programmers are paid differently in accordance with their qualifications and experience.

  • Junior developer’s salary

Even a Junior developer with limited experience can expect to get a pretty nice compensation, compared to salaries in other fields and professions. For example, in the U.S., the average salary for a Junior Developer is $63,502 a year, according to Glassdoor. PayScale says the average Junior salary in the United States is $53,803 a year, which is still pretty good, considering we are talking about a beginner’s job. The wage figures for other major world markets, like the UK, EU, and other developed countries, can vary. For example, in Germany, the average salary of a Junior dev is €41,342 a year, while in the United Kingdom it’s £24,116 (around $31k a year), in the Netherlands, it is €31,330 a year, while in Australia it is $70,446 a year.

  • Mid-level developer’s salary

In the U.S., the average salary for a Mid-level Developer is $71,000 a year, according to Glassdoor, versus $63,502 a year for Junior devs. ZipRecruiter says the average annual pay for a Mid-level Software Engineer in the United States is a bit higher — $88,725 a year. In Germany, according to PayScale, a mid-level software developer with 5-9 years of experience earns a total average compensation of €54,778. In France, the average salary of a Middle is €41,342. Generally speaking, Mid-level developers earn 10 to 30% higher salaries than Juniors, so getting more money definitely should be one of your motivations to grow from Junior to Middle developer as quickly as possible.

  • Senior developer’s salary

When it comes to salaries for coding jobs in the U.S., for an experienced Senior Developer, sky is a limit, as giants like Google, Facebook, Amazon, Apple, and Microsoft are paying software engineers A LOT. For example, at Google, a software engineer at Level 7, which is considered the highest you can get as a developer, can make $608,000 total a year. But let’s go through average figures. According to Glassdoor, the average Senior programmer in the U.S. makes around $121,000 per year, which is considerably higher compared to a Mid-Level coder’s salary of $71,000 a year and the average wage of $63,502 a year that Junior devs make in the U.S. According to a report by PayScale, a Senior Developer with 10-19 years of experience earns an average total compensation of $109,122 based on 5,523 salaries. In their late career (20 years and higher), employees earn an average total compensation of $111,432. In Germany, according to PayScale, a Senior software developer with over 10 years of experience earns a total average compensation of €63,638. In France, the average salary of a Senior is €54,982.

Negotiating salary and selling yourself as a software developer. Tips and recommendations

It is quite common even for the developers in the same company, in the same position, and with similar skills and expertise to earn considerably different salaries. Here is some advice on how to get the most of your salary negotiations and tips from experienced industry professionals.

  • Know the market and keep your knowledge relevant.

Market is market, and knowing how to sell yourself on the market in some cases gets more important than your technical knowledge. This one is a bit obvious, and we already covered some of the basic market knowledge that you should have. The more you know about the job market, and the more relevant and up-to-date your knowledge is, the better. Socialising with colleagues and your peers in other companies is one of the best ways to put your ears to the ground. And of course popular in software development community websites and forums would be a good source of info as well. “Start by doing a bit of research. Before you can negotiate what you should be paid, you’ll need to have a clear understanding of your market value in the specific location that you live. You have to take into account the going rate for workers of the same skill level in your local area, and the cost of living. Read articles, use websites like Glassdoor, and ask around (respectfully) to get an idea of what the going rate for your work should be,” recommends Valerie Streif, a Senior Advisor at The Mentat, a recruitment startup.

  • Understand your value to the company and learn about competition.

As the second step in your research, you should also be able to understand your role and the value you are going to deliver to the company if hired. Even better if you manage to learn about the competition for each particular position you are applying for. This could be very helpful in negotiating the maximum you can get, given the number of other suitable applicants is low, of course. Here’s a good tip from Daniel King, an executive coach and founder of Fireside Strategic consulting company: “This won’t always be possible but here is one way to truly supercharge your results. If you can tie a dollar value to the problem and the solution, you can ask for part of the money the company will earn by implementing that solution. If the problem is costing the company $500,000 and you can solve it, there’s a good chance they will pay you at least an extra $100,000 to solve it."

  • Promote and sell yourself during the interview. Be likeable.

Considering in most cases you would negotiate about the salary during the job interview or right after, it is crucial for the interview to go well. Take some time to prepare for the interview, including both the general conversation part of it and technical questions. This means that knowing your technology field and having a lot of relevant experience might not be enough. You also need to look likeable and trustworthy, as well as having well-developed soft skills to potentially blend with the new team as quickly and painlessly as possible. Or at least to convince the hiring manager that you will. “While this isn’t a direct “how-to” negotiate your salary pointer, this is a crucial differentiator between someone who is highly paid versus someone who isn’t. Knowing that interviewers have unconscious biases and are humans, you can leverage their emotions to YOUR benefit. What this means is that you step up your charm! Ask open questions to get your interviewer to open up. Use flattery. Get them to be YOUR advocate and want YOU to make it through. Make sure they like you more than your competition. This could be your ultimate leg-up,” says Dandan Zhu, an experienced headhunter and career coach.

  • Know what your preferred and acceptable salary levels are.

A common advice is to come up with two numbers for your salary expectations: one is your preferred salary (the amount you would be really happy to get), and the second one is your acceptable salary (or simply the lowest adequate compensation level you are ready to accept). “Do a simple budget and make sure that your walk-away salary is higher than your expenses and savings targets. Once you have selected these two numbers, promise yourself that they will not change while talking with your potential employer,” recommends Roger Nesbitt, an experienced software developer from New Zealand.

  • Use counter-offers and competing offers as a negotiation leverage.

If you are employed already and looking for a better job, you can use a potential counter-offer from your current employer to keep you out of leaving (that’s given you are reasonably good at your job) as a negotiation leverage. If you are unemployed and looking for a job, it is always better to go to multiple interviews to have at least two or more job offers to be able to use this to your benefit during negotiations. “Let future employers know that you’re expecting a counter, thus the offer would need to be in the X-range to make it compelling. For those who are unemployed or employed, line up as MANY offer opportunities as you can so you can start educating your employers on what other employers are willing to pay for your skillset, thus ensuring that you receive a similar offer to what the market is yielding,” Dandan Zhu said.

Bonus advice: pick the job, not the salary

And bonus advice on a final note. Even though having a good salary is important, it should not be your primary focus when applying for a job. Remember that even the most well-paid job can start being intolerable rather soon if you don’t like the work process or colleagues. Staying on a job that pays relatively well, but is a dead end in terms of career growth and skills development, for too long is also a common mistake. So the ultimate final tip would be: pick the job, not the salary.