Best Programming Languages For Job Demand and Salaries

By Craig Buckler
We teamed up with SiteGround
To bring you the latest from the web and tried-and-true hosting, recommended for designers and developers. SitePoint Readers Get Up To 65% OFF Now

When we looked at the best programming languages to learn in 2015, JavaScript, Java, PHP and Python appeared good options when you analyze popularity on sites such as GitHub and Stack Overflow. It’s interesting to compare results in 2016 and 2017.

Alternatively, perhaps we can determine the “best” technologies to learn from job-related metrics such as demand and salaries? Career planning company Gooroo examines more than 500,000 IT vacancies throughout the US, UK and Australia to produce their 2015 salaries and demand report.

Top Ten In-demand Technologies

The following technologies feature most strongly in job vacancy advertisements:

  1. Java — featured in 18% of adverts with an average salary of $100,000 USD
  2. JavaScript — 17%, $90,000
  3. C# — 16%, $85,000
  4. C — 9%, $90,000
  5. C++ — 9%, $95,000
  6. PHP — 7%, $75,000
  7. Python — 5.5%, $100,000
  8. R — 3%, $95,000
  9. Scheme — 3%, $65,000
  10. Perl — 3%, $100,000

These are worldwide statistics which will have a US bias owing to its larger market. C# hits the top spot in the UK (32%) while JavaScript wins in Australia (13%).

Top Ten Technology Salaries

The following technologies all pay more than $100,000, with Erlang developers earning an average of $125,000 USD per year:

  1. Erlang
  2. Clojure
  3. Haskell
  4. Lua
  5. Lisp
  6. Groovy
  7. Scala
  8. F#
  9. Ruby
  10. Python

Interestingly, only Python appears in both lists. Does that make it the best option?

Gooroo Caveats

Before you knock down your boss’s door to demand a pay rise and Python re-training, Gooroo discloses:

  • Not all jobs are advertised, nor can they capture every vacancy.
  • Salary information is sparse and, when available, is often quoted as a range.
  • The data includes temporary contract and full-time permanent roles, which can offer wildly different salaries.
  • Jobs often require more than one skill. In those situations, Gooroo divides the salary by the number of skills to obtain an average for each.
  • It can be difficult to extract skills, e.g. Microsoft SQL Server could be referred to as “SQL Server”, “MSSQL”, “SQL 2014”, etc. (On personal note, I’m yet to meet a recruiter who understands Java is not JavaScript!)

The report is interesting, contains useful information and reaches reasonable conclusions. Unfortunately, demand and salary statistics are misleading unless you appreciate the underlying data. The following issues should be noted…

Large Corporations Have a Larger Influence

Recruitment is expensive. Agencies typically charge 25% of first year salary to find suitable applicants so they can can afford to purchase adverts in online and offline media.

This explains why Java (18%) and C# (16%) feature prominently. Neither is better than competing languages but large corporations invest in them because:

  1. they have long-term business goals
  2. they employ many developers and cannot switch platforms quickly
  3. the technologies are available with support from Oracle and Microsoft.

Smaller companies may have more vacancies and similar salaries for PHP, Node.js or Ruby. However, they will be less willing or able to pay hefty recruitment fees. Their adverts are less noticeable, so the results are skewed accordingly.

Salaries are Averages

Is it fair that PHP developers are paid 25% less than Java developers? No — but it’s not true.

Salaries are based on the value of the product you’re creating and your personal contribution to the project. It doesn’t matter whether you’re using Java, PHP, COBOL or QBasic.

Despite the figures above, there are more PHP than Java roles; PHP runs on 80% of the world’s web servers and WordPress powers one in four websites. You’ll find jobs where PHP is better paid than Java, but you’ll also find many jobs in theme development or general website support at the lower end of the salary scale. The average PHP salary is reduced.

Job Titles are Vague

You’ll rarely see jobs advertised for “Java Developer”, “PHP Professional” or “Python Programmer”. The top-paying role is Service-Oriented Architecture? That could describe skills required by every developer, regardless of their language specialisms.

Jobs are Multi-skilled

The days of being able to forge a career with a single language are long gone. Most roles require a multitude of skills — including business analysis, systems architecture, database design, data exchange formats, frameworks, graphic design, front-end development and support. Those working on the web will be exposed to HTML, CSS and JavaScript even when the job advert neglects to mention it.

Past Events Do Not Determine Future Trends

Technology changes rapidly, yet it can take many years to become a competent developer. If we look back five years, Node.js had only just been released, and front-end-specific jobs were relatively uncommon. Ten years ago, iOS and Android didn’t exist. Fifteen years ago, ColdFusion and Classic ASP with VBS were popular web development platforms. Twenty years ago, few developers ventured beyond C++ and VisualBasic.

Even technologies which persist over the long-term will fluctuate in popularity.

Noted — But What Should I Learn?

Programming is a passion. It requires a combination of logical thinking, experience, creativity, imagination and curiosity. Some people are naturally adept, but there are no short-cuts. It takes considerable time to achieve a reasonable level of competence, and you never stop learning. After all that, be prepared to give up the obsolete technologies you spent years crafting.

Before you embark on preparation for a career in software development, ask yourself a single question:

Would I write programs in my spare time for enjoyment?

Be honest. Only one person can motivate you. Only one person can teach you to program. Only one person can devote the time, energy and costs required to learn the skills. If you’re not prepared to make the investment, no one else will — so pick a career which interests you more or requires less effort.

Choosing a single technology based on surveys, salaries or the opinions of others will also fail. Complete your own small development tasks and expose yourself to as many languages, tools and techniques as possible. Examine code and discuss it with your peers. That knowledge becomes invaluable as you progress to increasingly complex projects.

You may reach a point where someone will pay handsomely for your expertise, but don’t depend on it. Being paid for something you enjoy is a bonus. If you don’t enjoy programming, it will become a chore, and no monetary reward will make you happy.

What are you waiting for? Think of a problem and code a solution. You may pick a troublesome technology, but it’s the experience that matters — not the language.

We teamed up with SiteGround
To bring you the latest from the web and tried-and-true hosting, recommended for designers and developers. SitePoint Readers Get Up To 65% OFF Now
  • lewdev

    I really like how you turned this into a career advice article soon after the facts were laid out!

  • gerosan

    Craig, I really enjoyed this article! Thank you for sharing your findings and advice. Would you happen to know about the trends in the Midwest?


    • Craig Buckler

      Thanks! You’re best to contact local agencies and look at job boards. But if you learn what interests you it won’t become a burden. There’s no point doing something you detest regardless of opportunities or salaries.

      Of course, you can’t go far wrong with typical web, mobile and corporate languages. But those with a passion for COBOL will find vacancies too!

      • gerosan

        Hey Craig, I appreciate the reply! I would like to have an email convo with you sometime. Let’s exchange info through Twitter DM.


  • Alex Vera

    I Identify with your article, programming is my passion and the only way to be updated is read and coding some ideas no matter if is something that already is developed by some one else, the satisfaction of that I can do it is great.

    You described perfectly the soul of a developer.

  • John Paul Lim Gabule

    Thank you for the sharing Sir :)
    It’s totally great article

  • Anh Ho

    “Being paid for something you enjoy is a bonus”. That is the best statement I’ve ever heard. You really made my day!

  • Dharmesh Dev

    What a great article, improved by perspective towards looking a programming language, in the past I usually would stick to a same language, but this quote really opened my eyes “it’s the experience that matters — not the language.” very well said sir !!!!

  • Great article. Especially the “Noted-But what should I learn?” part. I actually program in my spare time. It isn’t my job, although my job isn’t too far from the world of programming in certain respects, which I feel is actually the case for more and more jobs. I do believe, the world of software programming is going to sooner or later permeate the rest of the “worlds” out there, so that actually programming in some shape or form, will be a part of everyone’s job.

    In the great words of Steve Jobs.

    “I think everyone should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art, something everyone should learn to do.”

    I agree. Not everyone should be a professional programmer, but everyone should know how to program.


  • Alicia Kolesnikova

    How about from a testing perspective? Since testing efforts are directly related to the development environment, what would be the most auspicious choice? I’m Java based right now. Should I be looking into Python?

    • $urvivor

      @alicia is java easy to understand becoz i don’t know this
      and i want to learn java mainly to get a job i IT
      How is Big data ??
      i ma fresher so asking !!!!!!!

      • Alicia Kolesnikova

        Java is a good place to start to learn Object Oriented Programming principles. Whether you find it difficult or not depends on your background and how much effort you are willing to put into it.

        Big Data is doing fine, thank you. Seriously, though, you can’t go wrong by learning more about the subject. It used to be thought of as a hype, but the fact remains that data is growing (just check your own drives!), and we need to develop effective strategies to store and manage it for years to come.

        Good luck.

        • $urvivor

          that was some knowledge u provided thanks for that
          currently i am into something but after that i will learn thata so i want to take advice thanks for help
          god bless u

  • Anwar Hussain Shaikpalur

    Hurt, Pain, Agony – Love it , then you can enjoy your bonus.

  • Ram Kuruva

    sir i am doing now btech 2 year . i am not at all interested in other subjects. i am only interested in programing languages…what should i do now to get a job as early as possible as an program developer

  • ŠuŘjeeť Šinğh Šř

    which language is best for good sallry ?

  • lau

    (On personal note, I’m yet to meet a recruiter who understands Java is not JavaScript!) same here, had a big fight with HR at my last company about this…

  • Why Java opportunities are so rare in the market?

    • Craig Buckler

      Is that your experience? Java is in-demand – it’s required by most Android apps and is often used in corporate websites.

      • Yea In the start of my career I really want to work in Java because of my interest but that time I have no experience that’s why I got only opportunities in PHP or other languages.

  • Edward Sue

    Would you recommend picking one language and one framework every three months, play with it and move to another one? For example: Ruby and Ruby on Rails, then Javascript + Node, Swift + iOS, Scala + Play etc. Thanks

  • Kishan

    I exactly want to know that where java is used?

    • Craig Buckler

      Everywhere. Server-based web applications, desktop applications, native mobile apps, embedded devices, etc. But the same could be said for several languages.

    • Ruby Wells

      I think it would be easier to answer where it’s not used.

  • Ishan

    Great article thanks

  • Mohammad Kamran

    its just awesome
    thank u for sharing
    i loved it

  • Nitish Kholiya

    Thanks for thus great article Sir. I’m a fresher and this article helps me to make a adaptive mind…

  • Rajat Patil

    i want to learn making games with Unity3d and UnReal Engine with c# script is it has money making capabilities.

  • Where is .net? I mean it is one of the major technology used with projects with complexities. .Net is secure, fast, scalable and simple. It is a technology that is used for majority of the product engineering projects across the globe.

    Yes, Java is rightly up there but .net is nowhere behind. Thanks for sharing the details.

  • shahzada

    i can’t understand python is better then php in ranking but more jobs are for php