Top Programming Languages 2017: Focus on Jobs

We analyze the languages that are in demand by employers


While the default IEEE Spectrum ranking in the Top Programming Languages interactive gives a good aggregate signal of language popularity, here we are taking a deep dive into the metrics related to job demand. Two of our data sources, Dice and CareerBuilder, measure job openings for the languages included in the interactive, and consequently we have a preset for “Jobs” that weighs the rankings heavily toward those metrics. So, if you want to build up your tech chops before looking for a programming job, what languages should you focus on?

Although Python has moved to the top of the default Spectrum ranking, if we instead go purely by the volume of openings that mention a language, we find that C beats Python by a ratio of 3.5 to 1, or about 19,300 job openings versus 5,400 across Dice and CareerBuilder combined. The Swiss army knife of database languages, SQL, is also highly in demand (15,400 openings), as are Web technologies like JavaScript (9,300 openings), HTML (7,000 openings), ASP.NET (2,700 openings), and PHP (2,400 openings). R, the increasingly indispensable language for data scientists, saw its zenith in 2016 but had some light contraction in 2017, shedding about 12 percent, to 353 openings. (As a caveat, we should note these numbers reflect job openings as of mid-June 2017, indexed for a 30-day window.)

In the mobile coding space, one of the clearest trends in the default ranking is the rise of Swift at the cost of Objective-C. We can see this in the jobs numbers too: openings for Objective-C shrank by slightly more than 19 percent, whereas those for Swift rose by almost 19 percent. And for the first time, there were more openings for Swift (439 openings) than for Objective-C (394 openings).

There are some significant changes further down the job rankings that are worth keeping an eye on too, even though the absolute number of job advertisements that cite these language is still relatively small. Both CUDA, a general-purpose language for coding GPUs, and Rust, which would feel familiar to most C / C++ programmers, fall into this category. Since 2016, CUDA has moved up four spots to 23 in the Jobs ranking, while Rust moved up a solid 10 positions to 25. Still, the absolute number of job openings was just 40 for CUDA and 23 for Rust. These are niche languages still, but Rust is growing quickly—going from being used in 10,900 new GitHub repositories in 2016 to almost 17,100 in 2017.

This article wouldn’t be complete without mentioning some of the losers in the programming language jobs calculus. Once a dominant Web programming language, Ruby is still used widely but it is slipping; the number of job openings for Ruby shrank by a full third since 2016, to about 1,600. We aren’t the first to report the slump in popularity of Ruby, and it’s far from dead, but this will be one to keep an eye on in the future as coders may already be shifting to alternatives like Python and Go. Demand for other languages like Clojure, Haskell, and Visual Basic is also on the wane. When we started the rankings in 2014, ActionScript still clocked 87 job openings, but in 2017 it continues the downward spiral, with only 20 openings, and it’s unlikely to make the Top Programming Languages at all next year. RIP, ActionScript.

About the Author

Nick Diakopoulos is a pioneering data journalist and is currently an an assistant professor at the University of Maryland, College Park College of Journalism. His research interest focus on algorithmic accountability and how newsrooms can use social technologies. Previously he cofounded a program in computational journalism at the School of Interactive computing at Georgia Tech.