Java developer salary analysis across multiple factors

Java developer salary analysis across multiple factors

Last Updated on November 25, 2022

A Java developer’s salary depends on a range of factors such as job location, contract type, experience level, and industry sector. Discover the effect of each of these factors to learn what salary to expect in your situation, how you can maximise it, and what other considerations other than salary a Java developer should take into account.

Average Java developer salary across the world

The salary of a Java developer varies dramatically based on where the job is located. The main reason for this is the variation in gross domestic product (GDP) per capita between countries, meaning countries with higher productivity per worker can afford to pay higher wages.

Below are the average Java developer salaries across five different countries. The salaries quoted in this article are for permanent employees, unless stated otherwise. The following countries were chosen based on the most popular location of visitors to this website.

Java developer salary worldwide
CountryLocal currency annual salaryU.S. dollar equivalent
United States$93,000$93,000
United Kingdom£49,883$68,641
Data from Glassdoor (October 2021)

Of the countries investigated, the United States pays the most for Java developers. Our research suggests the following reasons for this:

  • higher GDP per capita in United States than other countries (56% higher than that of United Kingdom in 2020)
  • high demand for developers by tech giants such as Facebook, Amazon, & Google
  • less job security & small holiday allowance compared to European countries means companies can afford to pay more

At the other end of the scale is India where a Java developer can expect to be paid 93% less than in the United States. This makes sense considering India’s very low GDP per capita of $1,900. If you’re considering a role as a Java developer in India though, don’t be disheartened because the cost of living is a lot less than other countries. For example, to rent a one bedroom apartment in the city centre costs $152 in India vs. $1,341 in the United States, according to Numbeo.

The same rule applies to the other countries too. The salary should be considered along with the cost of living, and other factors like job satisfaction which we’ll explore later.

Countrywide vs. big city Java developer salary

When comparing Java developer salaries between the average of a whole country and that of a city, you’ll often find the city pays more. One reason for this is that high skilled workers tend to concentrate more in cities.

Local currency annual salaryU.S. dollar equivalent
United States$93,000$93,000
United States (Washington D.C.)$93,000 $93,000
United States (San Francisco)$102,000$102,000
United Kingdom (countrywide)£49,883$68,641
United Kingdom (London)£55,728$76,709
Data from Glassdoor (October 2021)

In the United Kingdom this is true of the capital city London, where a Java developer can expect to earn 12% more. Again, the cost of living should be taken into consideration, which is especially high in London. There, a one bedroom apartment costs $2,316 per month, more than double the $1,028 it costs in cities across the country as a whole.

If we make the same comparison in the United States, the capital city of Washington D.C. pays the same salary to Java developers as the country as a whole, so cities don’t always pay more. If we look at San Francisco though, the salary jumps up 10%, reflecting the close proximity to the tech companies of Silicon Valley. Don’t pack your bags just yet though, because the cost of renting a one bedroom apartment in San Francisco is a whopping $2,865, more than double that of cities on average across the United States.

Permanent vs. contract Java developer salary

A Java developer’s earnings vary based on how he engages with the company he’s working for, whether that be as a permanent employee or contractor.

Typically, a permanent employee:

  • gets paid on an annual basis after tax
  • gets paid holiday and other benefits like a pension
  • has a longer notice period

Conversely, a contactor normally:

  • gets paid on a daily basis before tax
  • gets no paid holiday and no benefits
  • has a shorter notice period

For companies this means that contractors are great for short-term projects, and the increased risk for the worker normally translates to higher pay. Here’s the salary comparison, assuming a contractor getting paid on a daily basis works 45 out of 52 weeks per year.

Local currency annual salaryU.S. dollar equivalent
United Kingdom employee£70,000$96,399
United Kingdom contractor£129,375 (based on £575/day)$178,227 (based on $792/day)
Data from IT Jobs Watch (October 2021)

In the United Kingdom contractors get paid a massive 85% more than permanent employees. For Java developers willing to take on the likelihood of having to change roles more frequently, contracting can be a good way to earn more money. There may be an additional administrative overhead of setting up your own company through which to work and hiring an accountant to handle taxes.

ℹ️ Change of datasource

To analyse salaries across different factors, multiple datasources are used. The average Java developer salary in the United Kingdom is higher according to IT Jobs Watch than Glassdoor. The difference may be due to the fact that Glassdoor uses anonymous salary submissions whereas IT Jobs Watch pulls salaries directly from current job adverts.

Whilst the discrepancy is unfortunate, what’s important is how the salary varies within each factor analysed.

Different Java experience levels

Companies are often willing to pay a lot more for senior Java developers and less for those of a mid, junior, or graduate level. The reason is that experienced developers add more value to the company, translating directly to more revenue.

In practice this means the senior Java developer has some or all of these traits:

  • knows Java inside out, including features of the latest releases like Java 17’s sealed classes
  • knows how to use associated Java frameworks like Spring Boot to effectively create applications
  • understands the full software development lifecycle and its tooling, like Gradle or Maven for build automation and Jenkins for continuous integration
  • works effectively in a team and organises work through project management methodologies like Scrum and Kanban
  • provides technical leadership to colleagues and ensures high code quality

Conversely a junior or graduate level Java developer will likely be less effective at adding value to the business and will need to receive more guidance from other team members.

Java developer salary across experience levels
Java developer experience levelLocal currency annual salaryU.S. dollar equivalent
Data from IT Jobs Watch for United Kingdom (October 2021)

The biggest jump between salaries is between mid-level and senior java developers, with a 50% increase. If you’re thinking it’s going to take forever to reach the lofty heights of Senior Java developer, remember that it has nothing to do with age. It’s about understanding the big picture, having exposure to several current relevant technologies, and being confident in your decisions and being able to follow through with impeccable delivery.

While this does come naturally with time, you can fast-track the process by:

  • ensuring you’re working in a job with challenging projects
  • taking courses to learn specific technologies
  • working on your own projects on the side

Becoming a more experienced Java developer requires time and patience, but if you’re in a hurry to increase your salary thankfully you can skew one of the other factors described in this article.

Industry sector Java developer salary

The industry in which a Java developer works can have a big impact on their salary. The industry means the business area of the company in which the developer is working, such as information technology, media, finance, or retail. To be clear, the information technology sector involves creating software or hardware products to be sold to others. That’s different to creating an internal software application that helps a company to achieve some outcome, like creating a website for a media company.

So why the difference in salary for Java developers across industries? Here are some reasons:

  • the industry requires more senior developers, so companies are willing to pay more on average
  • the industry requires specific domain or Java knowledge, and companies are willing to pay for that e.g. derivatives trading and multi-threading in finance
  • the industry has a high-pressure environment or requires additional overtime or support, so companies pay more to compensate
IndustryLocal currency annual salaryU.S. dollar equivalent
Average across all industries£70,000$96,399
Investment banking£92,500$127,444
Data from IT Jobs Watch for United Kingdom (October 2021)

Our research produced Java developer salaries for just two sub-sectors of the finance industry, but the main point is that the salary varies a lot. If you’re a Java developer working in FinTech, where companies create software to helps others better manage finances, you can expect to earn 35% more than average. Similarly, investment banking pays 32% above average for work that normally involves using mathematics to create complex models for trading equities.

If you’re choosing an industry just because the salary is higher, also consider the long term viability of working in an industry that you’re not interested in. That said, some developers get reward from solving complex problems, and the industry isn’t important to them. A good starting point is to look at some job advertisements for Java developer roles in different industries to see what the day-to-day work involves.

Real life Java developer’s salary over time

To give a real life example, here I’ll share with you my salary across a 17 year career, where I worked as a Java developer in the following industries:

  • media (e.g. Sky, BBC)
  • retail (e.g. Waitrose supermarkets,
  • gaming (e.g. Electronic Arts)
  • information technology (e.g. ThoughtWorks)
Real Java developer's salary over time

The table below shows a new data point for each year when my salary changed, normally due to changing job.

YearAnnual salaryIndustryPermanent/contractDetails
2005$27,500ITPermanentGraduate job
2007$44,000IT Permanent First job in London
2010$120,656MediaContractSwitched to contracting
2011$75,625GamingPermanentSwitched to permanent to work in gaming
2013$123,750RetailContractSwitched back to contracting
2017$216,563RetailContractApplying only to high paid jobs
2018$125,469 IT Permanent Permanent role with remote working
2019-2021$131,725 ITPermanentPay rise
Salary over time for Tom Gregory

As you can see I’ve had quite a few different roles in multiple industries! However, all roles except one were at least one year long.

There key turning points warrant further explanation:

  • in 2010 I switched from a permanent employee to a contractor, landing me a 125% pay rise
  • in 2011 I wanted to try out the gaming industry so switched back to permanent employment, enduring a 37% pay drop
  • from 2013-2015 I increased in seniority and therefore increased my daily contractor rate
  • in 2017 I applied only for the highest paid contracts and landed an awesome 27% pay rise. However, the role involved a long commute so I didn’t stay long.
  • in 2018 I was looking for a remote working role (I should have waited a couple of years!) and in return suffered a 42% pay drop

An important takeaway from this is that the career of a Java developer doesn’t always involve a consistent rise in pay. The two significant pay drops I endured were chosen deliberately due to a change in personal priorities.

Average salary across all jobs vs. Java developers

The good news for Java developers is that they have a specialist skill meaning they will certainly be paid more than the average worker. To train as a Java developer, even for a junior or graduate level job, requires a significant investment of time and money which acts as a high barrier to entry.

For example, the traditional route into Java development in the United Kingdom is a 3 year degree in Computer Science costing in total $38,202 (£27,750), which is normally taken as a debt to be repaid once the graduate starts earning a salary. Other routes include boot camps, self-study, or knowing the right people, but some companies still require a university degree even for a candidate to be considered.

All this means that Java developers are in relatively short supply, and hence they get paid more as shown below.

Local currency annual salaryU.S. dollar equivalent
United States all workers$52,801$52,801
United States Java developer$93,000 $93,000
United Kingdom all workers£27,700$38,110
United Kingdom Java developer£49,883 $68,764
Data from Glassdoor and Wikipedia (October 2021)

In the United States a Java developer can expect a salary 76% higher than average, whereas in the United Kingdom the figure is 80%.

Despite the high barrier to entry to becoming a Java developer, it’s likely worth it in the long run if you consider lifetime income. For example, in the United Kingdom over his lifetime a Java developer may earn $3,094,380 ($68,764 x 45) over a 45 year career, whereas an average worker would earn only $1,714,950. When you take into consideration an additional one million dollars of income, the cost of a university degree becomes insignificant.

Other languages vs. Java developer salary

One common question asked by people considering a career in software development is What programming language should I learn? There’s actually no single right answer, since it depends on the person’s interests and motivations. One important factor to consider though is salary, so here’s a comparison of the salary of software developers of different languages.

Other languages vs. Java developer salary
Local currency annual salaryU.S. dollar equivalent
Scala developer£80,000$110,110
Python developer£77,500$106,669
Kotlin developer£75,000 $103,228
Java developer£70,000$96,346
JavaScript developer£57,500$79,141
C developer £57,500$79,141
Data from IT Jobs Watch for United Kingdom (October 2021)

Java developers’ salaries are in the middle, and they can expect to get paid 13% less than Scala developers but 22% more than C developers. While a full comparison of all these languages is outside the scope of this article, some important factors other than salary should be considered.

  • whether the industry you want to work in favours a particular language (e.g. finance relies heavily on Java)
  • whether you want to work on front-end vs. back-end systems (e.g. Java is used more heavily in the back-end and JavaScript in the front-end)
  • whether you like working with the language (e.g. Java is a statically typed language, so suits those wanting to work on large resilient applications)

There’s also nothing to prevent you from becoming proficient in multiple languages. In some companies this can even be a job requirement, since they want full-stack developers who can work on front-end and back-end code.

Job satisfaction vs. salary considerations

Whilst this article is focussed mainly on salary, it’s important to paint a clear picture of some other important considerations when choosing a career in software development. Depending on your own preferences, salary might not be the most important factor.

Learning opportunities

A Java developer working for a company with a legacy application, doing bug fixes and small improvements, might have limited opportunities to learn through the work itself. On the other hand, a small growing company may offer work on greenfield projects, new projects with no specific constraints, allowing the developer to explore new technologies.


Some companies have a training budget to help you learn about technologies relevant to the work you’re doing. For example, if you’re a Java developer deploying software into Amazon Web Services (AWS), then your employer might pay for your AWS Certified Developer certification.

Sociable working environment

For some people a fun team dynamic and busy after-work social calendar are important aspects of a role. For others, the enjoyment comes from the work itself and the challenges it brings.

Work-life balance

If you have a family, you may prefer a company that doesn’t ask you to regularly work late. Other possible benefits include flexible working hours and work from home arrangements. On the other hand, some developers enjoy the excitement of big-bang software launches and the inevitable late-night pizza fuelled coding marathons.

Future salary prospects for Java developers

Java was first released in 1996, and has enjoyed a 25+ year lifespan during which it has normally been in the top 2 most popular programming languages. Considering its historic success, it’s reasonable to wonder about the future of the language and more specifically how the salary of Java developers might change in the coming years.

One way to look at the popularity of programming languages is using the TIOBE Programming Community Index, which ranks a language based on how many searches it receives in popular search engines. The graph below shows the popularity of three languages, including Java, over the last 20 years.

Java popularity over time
Original graph from TIOBE

As you can see, Java and C have held the top spot for almost the whole period, but recently something changed. Consider the TIOBE index rating figures from October 2021:

  1. Python 11.27%
  2. C 11.16%
  3. Java 10.46%

Python, released all the way back in 1991, has gained a big following, becoming more popular than both Java and C. This is largely due to Python’s intuitive nature which makes it suitable for beginners, and its popularity in machine learning applications.

If the downward trend of Java’s popularity in the above graph worries you, remember that it’s still the 3rd most popular programming language. Yes, more popular than C++, C#, Visual Basic, JavaScript, PHP, and many more. That means there are many companies who have a strong preference for this language and are investing a lot of money in brand new applications written in Java.

Also consider that Java is constantly improving to stay competitive with other languages. With its 6 months release cycle, new features get shipped a lot more regularly than used to be the case. This should ensure a strong demand for the skills of a Java developer in the coming years.

Get the Build Boss newsletter

Found this website helpful? Subscribe for updates.

✅ All of my latest articles each week
✅ Access to video tutorials
✅ Exclusive tips and offers not found on my website

Please wait...

Thank you, your sign up request was successful! I'll be in touch soon. Tom.

Java developer salary analysis across multiple factors

3 thoughts on “Java developer salary analysis across multiple factors

  1. I loved this post. And thank you for your transparency. huge kuddos to you for that. made the article that much more interesting. as someone who was a java dev from the early years ( starting in 1997… switched to Java from MS ASP – VB stuff ). I did that for > 20 years, and found it extremely satisfying. a few years back, I switched to DevOps, and absolutely love it ( except for all the useless meetings ). I am a permanent employee ( in the united states ), and earn a rather comfortable living.
    Thank you again,

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top