Which programming languages pay the most? I made my own salary charts

We have all seen the articles online about the best paying programming languages featuring Visual Basic, CSS, and Perl. I have always been a little bit suspicious and had an itch to find out the truth. Today, I will reveal everything. I will even tell you how much I make.

Which programming languages pay the most?

I had many questions...

Hopefully you are now dying to know and won't abandon the page just yet!

Contents:

Why the statistics make perfect sense

I should make some things clear at the beginning. You know - so that we can all misinterpret the data in the same way. I tried my best not to show data that are simply not there, but you know how it goes. If you need a chart with your favorite language on top, buy my book and I am happy to make it.

So anyways, the journey begins with the The Public 2020 Stack Overflow Developer Survey Results which I am taking as the one and only source for all my charts. The dataset has 33447 salary data points which probably isn't that many given that there are probably around 25 million software developers in the world. You have been warned.

Besides the usual problems with self-reporting where some people could mix up the gross and net salaries (not everybody pays taxes), the demographic will obviously reflect the demographic of Stack Overflow. I don't even remember if I am somewhere in the dataset, but even if I am, the data are outdated already. You will see later.

Being too lazy to look for more sources Having only the Stack Overflow survey data available, let's examine two more problems regarding the salary data based on programming languages.

Not all languages are created equal. Some of them simply don't deserve to be in the survey. I know, bummer. All in all, there are only 25 languages mentioned in the responses with salary data points (and some, like HTML/CSS or Bash/Powershell are grouped into one). The notable missing languages are Elixir and Clojure which I would really like to see in the next survey.

The last problem is a bit peculiar and makes creating the charts for the best paying languages a bit difficult. The salary is reported for all the languages used together. That means that if a respondent worked with Java and JavaScript, we don't know to which language to attribute the money. Sometimes, this is fine, but could be dangerous for languages like HTML and CSS, or even scripting languages like Perl or Python that are used in addition to a different main language. But don't worry. I solved the problem by completely ignoring it. (The reported salary is accounted to all the mentioned languages)

You can follow along and make even less-relevant charts yourself, as I am sharing my Jupyter notebook with all the plots and pandas.

The salary investigation (yes, I call it investigation, thanks for asking) is tracked using a Jupyter notebook so that you can see how the charts were made and make your own. You can find it in the stribny/salaries repo.

The best paying languages in the world

I forgot to tell you. When I looked at the maximum salaries reported (I am a naturaly curious person), I found out that the dataset has some 255 salaries over 1,500,000, with an artificial cap of 2,000,000. That's probably because some people think that one month has the same number of days as one year. Sigh. I could go and try to fix the data, but instead I decided to wipe out top 5 % entries from the universe. You are welcome.

Another thing. I decided to call the number of responses opportunities. That's because my next article will be about me becoming a recruiter. Just kidding.

High and low paid opportunities

Let's see some charts! The first chart shows the number of high and low-paid opportunities per programming language. You might now want to know what I consider to be a high-paying job. It is a job with over 100,000 USD/year salary. This number should work for most people. If you think that a salary of 100,000 USD/year is low, then you probably have enough money and time to make your own chart.

JavaScriptHTML/CSSSQLJavaPythonC#Bash/Shell/PowerShellTypeScriptPHPC++CGoKotlinRubySwiftVBARustRAssemblyObjective-CDartScalaPerlHaskellJulia05k10k15k20k
Salary CategoryLow salaryHigh salaryHigh-paid vs low-paid opportunitiesLanguageNumber of opportunities

The average salary in the world by a programming language used

PerlRustScalaGoRubyHaskellJuliaBash/Shell/PowerShellObjective-CSwiftPythonAssemblyRC++TypeScriptCC#SQLJavaJavaScriptKotlinHTML/CSSVBADartPHPPerlRustScalaGoRubyHaskellJuliaBash/Shell/PowerShellObjective-CSwiftPythonAssemblyRC++TypeScriptCC#SQLJavaJavaScriptKotlinHTML/CSSVBADartPHP020k40k60k80k100k
World average salary by languageLanguageSalary

The median salary in the world by a programming language used

PerlScalaRustGoRubyBash/Shell/PowerShellObjective-CHaskellPythonJuliaSwiftTypeScriptC#RSQLC++KotlinAssemblyJavaScriptHTML/CSSVBACJavaPHPDartPerlScalaRustGoRubyBash/Shell/PowerShellObjective-CHaskellPythonJuliaSwiftTypeScriptC#RSQLC++KotlinAssemblyJavaScriptHTML/CSSVBACJavaPHPDart010k20k30k40k50k60k70k
World median salary by languageLanguageSalary

The best paying languages among the highest salaries

I wanted to know what happens if we look only at jobs with high pay... The interesting thing is that once low paying jobs are out of the picture, the difference between languages starts to disappear.

AssemblyJuliaCSwiftC++GoScalaHaskellRustObjective-CPerlRDartRubyKotlinPHPPythonBash/Shell/PowerShellJavaVBASQLJavaScriptHTML/CSSTypeScriptC#AssemblyJuliaCSwiftC++GoScalaHaskellRustObjective-CPerlRDartRubyKotlinPHPPythonBash/Shell/PowerShellJavaVBASQLJavaScriptHTML/CSSTypeScriptC#020k40k60k80k100k120k140k160k
World median salary by language among high-paying jobsLanguageSalary

The best paying languages outside of the USA

I call this chart "not everyone is an American".

PerlScalaRustGoBash/Shell/PowerShellRubyHaskellObjective-CJuliaKotlinPythonTypeScriptC#SwiftRAssemblyC++SQLVBAJavaScriptHTML/CSSJavaCPHPDartPerlScalaRustGoBash/Shell/PowerShellRubyHaskellObjective-CJuliaKotlinPythonTypeScriptC#SwiftRAssemblyC++SQLVBAJavaScriptHTML/CSSJavaCPHPDart010k20k30k40k50k60k
Median salary by language outside of the USALanguageSalary

The best paying languages in the EU

This is a new type of chart that combines the median salary with the number of opportunities. Don't forget the exact numbers of responses opportunities are inflated as I duplicated responses to attribute languages individually.

AssemblyBash/Shell/PowerShellCC#C++DartGoHTML/CSSHaskellJavaJavaScriptJuliaKotlinObjective-CPHPPerlPythonRRubyRustSQLScalaSwiftTypeScriptVBA010002000300040005000600045k50k55k60k
Median salary vs opportunities in the EUOpportunitiesSalary

The best paying languages in India

I put India on the map in 2011. Or rather I put myself in India in 2011. Either way, I was shoked. And because I can't recommend India for the job opportunities, I can at least recommend it for the adventure!

AssemblyBash/Shell/PowerShellCC#C++DartGoHTML/CSSHaskellJavaJavaScriptJuliaKotlinObjective-CPHPPerlPythonRRubyRustSQLScalaSwiftTypeScriptVBA020040060080010001200140016008k10k12k14k16k18k20k22k
Median salary vs opportunities in IndiaOpportunitiesSalary

The best paying languages in the Czech republic

I am Czech so this is a chart close to my heart wallet. Spoiler alert: we are not doing great. As a foreigner, you might at least enjoy a visit.

AssemblyBash/Shell/PowerShellCC#C++DartGoHTML/CSSHaskellJavaJavaScriptKotlinObjective-CPHPPerlPythonRRubyRustSQLScalaSwiftTypeScriptVBA02040608010012014016035k40k45k50k55k
Median salary vs opportunities in the Czech RepublicOpportunitiesSalary

The maximum salary

After I successfully removed all the suspicious high salaries, the chart is still suspicious.

PythonCC#C++TypeScriptGoHTML/CSSSQLJavaJavaScriptRustBash/Shell/PowerShellObjective-CRubyRAssemblyKotlinPHPDartPerlHaskellScalaSwiftVBAJuliaPythonCC#C++TypeScriptGoHTML/CSSSQLJavaJavaScriptRustBash/Shell/PowerShellObjective-CRubyRAssemblyKotlinPHPDartPerlHaskellScalaSwiftVBAJulia0100k200k300k400k500k600k
Maximum salary by languageLanguageSalary

Is it better to be a data scientist or a web developer to make more money with Python?

The answer is neither.

Engineering managerSenior executive/VPEngineer, site reliabilityDevOps specialistEngineer, dataProduct managerDeveloper, embedded applications or devicesDeveloper, QA or testScientistDeveloper, desktop or enterprise applicationsMarketing or sales professionalSystem administratorDeveloper, back-endDeveloper, full-stackData scientist or machine learning specialistData or business analystDatabase administratorDeveloper, game or graphicsEducatorDeveloper, front-endDesignerDeveloper, mobileAcademic researcherEngineering managerSenior executive/VPEngineer, site reliabilityDevOps specialistEngineer, dataProduct managerDeveloper, embedded applications or devicesDeveloper, QA or testScientistDeveloper, desktop or enterprise applicationsMarketing or sales professionalSystem administratorDeveloper, back-endDeveloper, full-stackData scientist or machine learning specialistData or business analystDatabase administratorDeveloper, game or graphicsEducatorDeveloper, front-endDesignerDeveloper, mobileAcademic researcher020k40k60k80k100k
Python median salary by roleRoleSalary

How does working in different organizations influence the salary?

It turns out that yes, the bigger the playground, the more monopoly money.

10,000 or more employees5,000 to 9,999 employees1,000 to 4,999 employees100 to 499 employees500 to 999 employeesJust me - I am a freelancer, sole proprietor, etc.20 to 99 employees10 to 19 employees2 to 9 employees10,000 or more employees5,000 to 9,999 employees1,000 to 4,999 employees100 to 499 employees500 to 999 employeesJust me - I am a freelancer, sole proprietor, etc.20 to 99 employees10 to 19 employees2 to 9 employees010k20k30k40k50k60k70k80k
Median salary by org sizeOrgSizeSalary

How does working with different databases influence the salary?

Tired of looking at the same languages over and over? Let's try databases instead.

DynamoDBCassandraCouchbaseElasticsearchRedisIBM DB2PostgreSQLMicrosoft SQL ServerSQLiteMongoDBOracleMariaDBMySQLFirebaseDynamoDBCassandraCouchbaseElasticsearchRedisIBM DB2PostgreSQLMicrosoft SQL ServerSQLiteMongoDBOracleMariaDBMySQLFirebase010k20k30k40k50k60k70k
Median salary by database technology usedDatabaseSalary

My salary

I am now a freelance developer from the Czech Republic who has been mainly focused on Python and JavaScript. But it doesn't matter. For the last couple of months I have been working full-time on my book. As a wannabe-best-selling author my salary has been exactly 0. Z-e-r-o. Nada.

Disappointed? #metoo

And with that terrible news, it is time to end.

Last updated on 15.3.2021.