A few months ago we wrote up a brief analysis of key programming languages, showing the demand for each language and the salaries being offered. We now have almost 3 million job advertisements in our analysis engine so we should take a fresh look at what it says.
The overall view
In July, we saw three main clusters, the established leaders, the followers, and the niche.
The biggest difference we noticed from July is a perceived rise in salary for niche languages like Clojure, Golang, Erlang, Haskell, Lisp, and Fortran. These appeared with lower salaries earlier in the year. The change is due to a number of reasons, both analytical, and market based:
Job numbers for these skills are very low, so getting a reasonable statistical measure of their salary is challenging. The increase in job numbers has helped to get a better fix on where the salary sits for these niche technologies.
There has been an increase in the number of roles mentioning these skills as a "bonus if you have it". So whilst Haskell, Clojure, and the like may not be increasing in and of themselves, they are becoming associated with other traditional development roles. This provides a good opportunity for those fluent in Java and the C family of languages to experiment more with these niche technologies whilst in a good paying role.
America shows a very similar pattern to the overall view although the three clusters are much more defined. Salary ranges overall are very constrained. This appears to be a particular feature of the US market, where the potential for salary growth is limited. We've written about this before.
C# lags behind Java, C, and C++ in demand. As we'll soon see, the reverse is true in the UK.
Clojure leads the niche languages with 0.13% of ads making a mention of this skill. Jobs mentioning Clojure and Golang are advertised at ~$90,000 USD. We need to be cautious however given the small number of jobs in that sample.
The UK seems to be more conservative about the languages they are willing to pay for. You can see this in the separation between the high demand skills and the large cluster of languages towards the left (low demand). The skills most in demand are the very well established, traditional languages.
One notable movement is Python. Its popularity has fallen by 4% since the start of this year. This is reflected in all regions with a 6% fall in the US, and a 5% fall in Australia. Ruby, and F# are almost into the niche demand cluster too.
F# is starting to gain in popularity ever so slightly whilst VBA has (thankfully) fallen a touch.
What's different about this analysis
A few important points about the analysis ...
When reading these charts, the lower the demand for a skill, the less reliable the salary indicators become. It only takes a handful of jobs to shift the average. To compensate for this, we've used a weighted average based on the number of jobs at various salary points, although even this isn't perfect.
Job data is extremely useful as it's plentiful and provides a lot of fascinating and interesting data to work with. It also has its challenges. You should read our full disclosure about the analysis for an insight into these challenges.
Key take-away points
Java is still the best paying of the popular languages. It offers a good balance between salary and job availability.
Python popularity has fallen across the board, although it still demands a reasonable salary in most regions.
Niche languages like Clojure, and Golang, are increasingly being mentioned in job ads as a "nice to have" skill. This provides learning opportunities for people interested in those languages - get paid for a Java role, but tinker with Erlang on the side.