Comparative Language Job Trend Graphs

I researched these comparative job trend graphs for my Keynote at the 2007 London Perl Workshop, and then added a few more for this blog post.

The graphs are from indeed.com, a job data aggregator and search engine. They’re all live, so every time you visit this page they’ll be updated with the current trend data (though it seems the underlying data isn’t updated often). My notes between the graphs relate to how they looked when I wrote this post in February 2008 (and the graphs were all Feb 2005 thru Dec 2008).

Update: the graphs have all changed significantly since I wrote the post originally, and generally not in Perl’s favour. I saved a copy of the post as a PDF so you can see the graphs as they looked in early 2008.

First up, all jobs that even mention perl, python or ruby anywhere in the description:

The most amazing thing to me about this graph is that it indicates that 1% of all jobs mention perl. Wow.

(Perhaps the profile of the jobs indeed.com is a little skewed towards technical jobs. If it is then I’m assuming it’s equally skewed for each of the programming languages. Note: An addendum below shows that ruby is getting ~17% boost through false positive matches from other jobs, like Ruby Tuesday restaurants. That applies to the graphs here that don’t qualify the search with an extra term like ‘software engineer’.)

Here’s a slightly more focussed version that compares languages mentioned in jobs for “software engineer” or “software developer” roles:

'software engineer' and 'software developer' roles mentioning perl or python or ruby

A similar pattern. The narrowing of the gap between Perl and the others languages looks like good evidence of Perl’s broad appeal as a general purpose tool beyond the pure “software engineering/development” roles.

I wanted to focus on jobs where developing software using a particular language was the principle focus of the job. So then I looked for “foo developer” jobs:

perl developer vs python developer vs ruby developer

That increases the gap between Perl and the others. Perhaps a reflection of Perl’s maturity – that it’s more entrenched so more likely to be used in the name of the role.

But do people use “foo developer” or “foo programmer” for job titles? Let’s take a look:

So “foo developer” is the most popular, but “foo programmer” is still significant, especially for Perl. (It’s a pity there’s no easy way to combine the pairs of trend lines. That would raise Perl even further.)

To keep us dynamic language folk in our place, it’s worth comparing the trends above with those of more static languages:

same as above but with C, c# and c++

C++ and C# dwarf the dynamic languages. C and cobol are still alive and well, just.

Then, to give the C++ and C# folk some perspective, let’s add Java to the mix:

same as above but with java

C++ and C# may dwarf the dynamic languages, but even they are dwarfed by Java.

Let’s take a slight detour now to look at web related work. (It’s a detour because this post isn’t about web related work, it’s about the jobs market for the three main general purpose dynamic languages. People doing web work can tend to assume that everything is about web work.)

We’ll start by adding in two more specialist languages, PHP and JavaScript:

php and javascript developer

I’m not surprised by the growth of PHP, though I’m sad that so many people are being introduced to ‘programming’ through it. I’m more surprised by the lack of height and growth in JavaScript. I presume that’s because it’s still rare for someone to be primarily a “JavaScript developer”. (That’ll change.) Let’s check that:

perl, python, ruby, php, javascript, web-developer

That’s much closer to what I’d expected. PHP is a popular skill, but is mentioned in less than half the jobs than Perl is. JavaScript, on the other hand, is in great and growing demand.

Let’s look at the “web developer” role specifically and see which of the languages we’re interested in are mentioned most frequently:

I think this graph captures the essence of why people think Perl is stagnant. It’s because Perl hasn’t been growing much in the ‘web developer’ world. People in that world are the ones most likely to be blogging about it and, I’ve noticed, tend to generalize their perceptions.

(If you’re interested in PHP, Java, ASP and JavaScript and look here you’ll see that they all roughly follow the PHP line at about twice the height. JavaScript is at the top with accelerating growth.)

Finally, just to show I’m not completely biased about Perl, here are the relative trends:relative trends

This kind of graph reminds me of small companies that grow by a small absolute amount, say two employees growing to four, and then put out a press release saying they’re the “fastest growing company” in the area, or whatever. Dilbert recognises the issue. The graph looks striking now (Q1 2008) but means little. If it looks much like that in two years time, then it’ll be more impressive.

Similarly, the fact that Perl is still growing its massive installed base over this period is impressive. (Seen most clearly by the second graph.) Perl 5 has been around for 14 years, and Perl itself for 21.

The Perl community hasn’t been great at generating “Buzz” that’s visible outside the community. It’s just quietly getting on with the job. Lots of jobs. That lack of buzz helps create the impression that the Perl community lacks vitality relative to other similar languages. Hopefully this post, and others, go some small way towards correcting that.

p.s. For an alternative, more geographic view, take a look at the Dynamic Language Jobs Map (about).

Addendum:

It turns out that approximately 14% of “ruby” jobs relate to restaurants – mostly the Ruby Tuesday chain. So I investigated how false positives affected the single-keyword searches I’ve used in some of the graphs. (I’m going to assume that “foo developer” is sufficiently immune from false positives.)

I searched for Perl and then added negative keywords (-foo -bar …) until I’d removed almost all of the likely software related jobs. I ended up with this list (which shows that indeed.com don’t use stemming, which is sad and dumb of them):

perl -developer -developers -engineer -software -programmer -programmers -programming -development -java -database -sql -oracle -sybase -scripting -scripter -coder -linux -unix -protocol -C -C++ -javascript -computing

Then I did the same search but with python or ruby instead of perl. Here are the results:

language all
matches
filtered
matches
inappropriate
matches
perl 29987 6 0.02% false
python 7794 20 0.2% false
ruby 4624 794 17% false

Ruby is well below python (and far below perl) in the first graph, yet that includes this 17% boost from inappropriate matches. You have to marvel at Ruby’s ability to gain mind-share, if not market-share.

34 thoughts on “Comparative Language Job Trend Graphs

  1. I didn’t mention PHP because I see it as a specialist, niche, language, albeit a very large niche. The same applies (currently) to JavaScript.

    I’ve updated the post now to include both PHP and JavaScript. Turned out to be interesting. Thanks.

  2. I’ve updated the post to include an addendum on false positives. Turns out ruby gets a 17% boost (mainly due to Ruby Tuesday resturants!) but perl and python only get a 0.2% boost.

  3. Nice post, I love this kind of things. Let’s see how the graphs evolve when Perl 6 sees the light (would you mind adding it now?).

  4. Anonymous Monk (comment 4): It would be very sad and unhelpful if Perl 6 evolves in such a way that we need to distinguish between “Perl 5 developers” and “Perl 6 developers”.

  5. Pingback: UriShare - Surprising job trend data for ruby python perl and others

  6. bottom of the graph has “Feb 3,2005 – Dec 28, 2007”.. shouldn’t the date be reflected if the graphs are live?

  7. Hi Qiang. Good point. That date range appears on any trend graph you might ask indeed.com to create. I’d guess that that’s when the data indexes underlying the graphs were last updated.

  8. I think it would have been more interesting to search for “web developer” and then drilled down into perl vs python vs ruby comparisons. Most postings for web developers are not going to specifically say “perl developer” “python developer” etc because web applications typically require a variety of skills, without emphasizing on one in particular. Perl is used in a lot more situations than just web development (like systems administration) – python and ruby not as much. I imagine that’s going to skew your results quite a bit…

  9. Tim,
    Excellent work, what I have noticed that over the last year jobs requiring perl was 3 times that of jobs requiring php. For a US geographical comparison of perl jobs, you may be interested in http://www.odinjobs.com/Perl_job_market_overview.html which uses google maps to show a heat map of perl jobs and salaries.

    You may also be interested to see the actual count of perl,php,ruby etc jobs for the past year and it is available at http://www.odinjobs.com/StaffIT/MarketStatistics

    Pl give me your feedback if you get a chance to look at it.

  10. Re #12: Hello Peyton. Web related work was not the focus of this post. Perl, python and ruby are general purpose languages with uses, and jobs, far beyond the web. I do include it in some of the graphs at the end where I added php and javascript for perspective.

    It does seem that some people have very web-centric view of the development world, so I’ve added in an extra graph. It turns out that the new graph best captures why there’s a “perl is stagnant” meme around. So thanks for that!

  11. Re #13: Hello Naveen. I’d love to include a permanent link to some interesting page *but I can’t do so easily* so I won’t.

    Some free advice: I suggest you change the forms to use GET requests instead of POST so people can easily bookmark and/or *blog* about specific queries. (Or at least add a ‘permalink’ somewhere that people can use – but I’d prefer a GET request.) That could greatly help your search ranking. Look at the indeed.com trend graph page and you’ll see they’ve made it easy for bloggers and others to embed their graphs. Smart move. Do the same. Fix the urls of the graph images to not be temporary file names but rather urls that’ll (re)generate the appropriate graph. Also make the initial MarketStatistics page start with two rows not one to emphasise that it can do a comparison.

    p.p.s I posted a comment previously that I’ve since deleted because I’d misinterpreted the graphs.

  12. Tim, Thanks for your suggestions. It was very helpful. We are modifying to include your suggestions to make it easy to embed the graphs and add links to the market statistics page. Let you know when it is available.

  13. Just remembered something I forgot to mention earlier: http://jobs.perl.org/

    I believe many Perl jobs get advertised here first (because it’s known that good perl developers know that good jobs can be found there) and so many of them don’t reach the ‘mainstream’ job sites.

    Perhaps similar sites exist for other languages.

    At http://jobs.perl.org/about/stats you can see the historical growth in their perl job adverts. Currently running at around 160 per month.

  14. One aspect that is interesting and you do not cover is the dynamic languages that run on the Java platform. As Java has such a large install base and this is supported by your numbers of Java jobs, there is massive scope for scripting languages to take off on the JVM. Such things as Groovy, Scala, jRuby, jPython, etc. I am not saying that these programming languages score high at the moment but if they take off they could really take off.

  15. Pingback: Comparative Language Job Trend Graphs | WhiteSandsDigital.com

  16. Pingback: delade | Why do designers fail to adopt Perl?

  17. Just got an email from Odinjobs recommending their job trend graphs. I’m just going to copy it here as it may be useful to the (many) people who come to this page looking for job trend information.

    —snip—
    Hello Tim:

    Thanks again for your participation in the open source interview and the Perl expert interview back in December. I thought you would find the updated stats on Perl as a helpful source for one of your upcoming blog entries. You can find it at: http://www.odinjobs.com/Odin/marketstatcompare?id=4251&q=perl

    Better yet, you can compare Perl to another skill of your choice. You can also add variables such as location, role, and industry.

    Here is an example of a comparison of Perl versus Java: http://www.odinjobs.com/Odin/marketstatcompare?id=4252&q=perl+vs+java

    Here is how one blogger used the information: http://it.toolbox.com/blogs/infosphere/how-to-kick-start-your-datastage-career-27481

    You can post a widget of the stats comparison on your blog or site or post any of the individual charts comparing Perl to another skill to support any blog entry or article concerning the statistics.

    If you have any questions, feel free to contact me. Thanks.

    Carl Williams
    Marketing Director
    Odinjobs
    —snip—

  18. Found your post on this while I was scanning over a post I wrote on a similar topic going into much less depth; I had also checked “ruby” against the job trends graph and thought to myself that it was incredibly out of scale when compared to my other searches. Pointing out that Ruby Tuesday was generating false positives was something I didn’t think about. Thanks for that.

  19. Pingback: TIOBE Index is being gamed « Not this…

  20. I was one of the ones that (unfortunately) was led to believe that Perl is stagnating. I have spent time investigating Python and Ruby extensively. After this post I will defiantly be looking into Perl. Thank you for enlightening me!

  21. Pingback: Help me update my Perl Myths talk for 2009 « Not this…

  22. Pingback: Leo Soto (leosoto) 's status on Sunday, 16-Aug-09 21:16:24 UTC - Identi.ca

    • There are many languages I could have included, but my focus is on the three main general purpose dynamic languages. You could write a post yourself using job search data to compare lisp with other languages.

  23. If you wanted to include the major languages, why did you leave out a Microsoft offering? There is a lot of .NET stuff out there, and it is more general language than some of the ones you included…

  24. Pingback: I’d Like to Be Dead Like Perl | House Absolute(ly) Pointless

Comments are closed.