Where should you invest your time and effort to earn more in the long run?
Tech salaries are universally pretty high, but can you negotiate a higher salary by learning a more valuable coding language?
Due to mismatches in supply and demand, and the fact that companies rarely change their tech stack once chosen, there will always be an edge for those developers who know exactly the right language.
It’s not unheard of for CTOs in new startups or on new projects to choose their technologies based on what will attract the best engineers.
They’re right to care — 54% of developers consider what languages, frameworks or technologies they’d be working with as one of the most important job factors (the highest factor, above company culture, flexible schedule or even opportunities for professional development).
More established organizations have the opposite problem — how to find engineers that still code in a 60 year old language like COBOL.
According to a survey by Stack Overflow, Scala is the highest paying coding language, with a median salary of $143,000 in the USA. Note that this is just the median salary — the arithmetic mean, or average, is likely to be far higher, particularly in places like San Francisco Bay Area.
This language is closely related to users of big data platforms Hadoop and Apache Spark — organizations needing that much heavy lifting are likely to be able to pay a premium.
Compare that to HTML — widely used but commonly derided as not being a programming language (technically it isn’t one), which along with another declarative language CSS, commands a salary $38,000 lower.
In comparison some of the least widely used languages would land you a premium salary, including Scala, Rust, Elixir, Clojure and WebAssembly. These languages pay between $123,000 and $143,000 in the United States, and between $72,000 and $90,000 globally.
There does seem to be a premium on novelty — several of the top paying coding languages, such as Go, Rust, Elixir, WebAssembly and Kotlin (the preferred language for Android developers) are less than a decade old. These languages pay above the median salary in the USA as well as Globally.
In addition, several older languages such as C Sharp (20 years old), R (26 years old) and SQL (46 years old) are at the bottom of the pile. This is interesting because it’s the opposite of what you’d expect — programmers who know older languages should potentially be earning more as they move into management roles (engineering managers earn $152k in the USA), and earn more YOE (Years Of Experience).
We do see this to a degree — it’s programmers with 10 years experience who are learning languages like Clojure and WebAssembly.
This isn’t a steadfast rule however, as Google-backed Dart is 8 years old, yet pays 16% less than the 36 year old Objective-C language, backed by Apple. In addition, Swift, the new replacement for Objective-C, as yet earns you a 10% lower salary.
For example Data Scientists and Data Engineers earn significantly more than their years of experience would predict, as do those who work in DevOps or as Site Reliability Engineers. Generally as a rule backend developers will earn more than front-end, though this is a wide generalization.
Software developers get paid well, but they aren’t just in it for the money — an amazing 80% of developers code outside of work as a hobby, and 64% contribute code to open source.
Given how complex and frustrating coding can be, you might want to learn a language with not just high earning potential, but that will be a pleasure to work with too! What is the best programming language to learn that makes you happy and makes you money?
Find out how much you’re worth and how to ask for more — the right way.