When developers start exploring the world, they often encounter people speaking languages they don’t know. We’re not talking about a trip to Europe, of course, we’re talking about the world of startups, agencies, and enterprise IT, where one shop might speak Python while another is fluent in Java. It’s a veritable Babel out there. Assuming you can’t be fluent in every programming language, which ones are the most important or advantageous to know? One way to answer that question is to ask what languages do the people who hire programmers most want from the candidates they interview? That is, what languages do most of today’s programming jobs speak? To find out, we looked into educational data, job listings, and the in-the-trenches experiences of IT placement specialists.
Schools like Python
One indication of what’s popular—or at least what constitutes a baseline standard—is the languages educational institutions choose for their introductory programming courses. In a post on Blog@CACM, Philip Guo, an assistant professor of computer science at the University of Rochester, looked at the top 39 computer science departments among U.S. universities (as ranked by U.S. News.) After crunching the numbers, Guo found that Python is the most frequently taught programming language, with 27 classes, followed by Java with 22 and MATLAB a distant third at 8. (The total adds up to more than 39 because Guo looked at courses required for Computer Science majors as well as those for a more general audience.) According to Guo, Java has been in the lead for most of the past decade, only recently being surpassed by Python. (The chart above was used with permission from blog@CACM.)
Job boards favor Java
Real-world reality check
What does it all mean to you?
Clearly, if all you’re looking for is a job in programming, you can’t go wrong being fluent in Java. Apparently, Java’s “run anywhere” quality applies to location and industry as well as platform. After that, it depends on a combination of what kinds of applications you want to work on and where you want to work. Brush up on C and C++ if you want to develop control systems for utilities and heavy industry. Keeping up to date on .NET will help land a job anywhere as long as Microsoft remains strong. And Python will equip you to work on increasingly popular Web development projects—or, failing that, it seems, to teach programing to college freshmen. Of course, this post doesn’t address the issue of which languages you like best and are most productive using. Those factors could be far more important to your language and career choices than which ones happen to be most in demand.