Software development is a dynamic field. New and in-demand programming languages, frameworks and technologies can emerge, rise to fame, and then fade away in the course of a few years. Developers need to constantly be learning new skills to stay relevant. At Coding Dojo, we’re continually evaluating which programming languages are in high demand from employers so we can prepare our students to enter the job market. There are many ways to measure a programming language’s popularity, but we believe examining job demand is most useful because it shows developers the skills to learn to improve their career prospects.
To accomplish that, we analyzed data from job website Indeed.com on twenty-five programming languages, stacks and frameworks to determine the top seven most in-demand coding languages as we move into 2018. This analysis is based on the number of job postings for each language. Some languages like Swift and Ruby didn’t make the top seven because they have lower job demand, even though developers love them. You can read the results of similar analysis from 2016 and 2017 on our blog.
Here’s our list, in order from most to least in-demand.
Java decreased in popularity by about 6,000 job postings in 2018 compared to 2017, but is still extremely well-established. Java is over 20 years old, used by millions of developers and billions of devices worldwide, and able to run on any hardware and operating system through the Java Virtual Machine. All Android apps are based on Java and 90 percent of Fortune 500 companies use Java as a server-side language for backend development. Java Enterprise Edition 8 and Java 9 both launched in September 2017 as the Eclipse Foundation took over managing Java EE from Oracle.
Python grew in popularity by about 5,000 job postings over 2017. It is a general-purpose programming language used for web development and as a support language for software developers. It’s also widely used in scientific computing, data mining and machine learning. The continued growth and demand for machine learning developers may be driving the popularity of Python.
C# (pronounced “C sharp”) went down slightly in demand this year. C# is an object-oriented programming language from Microsoft designed to run on Microsoft’s .NET platform and to make development quicker and easier than Microsoft’s previous languages. C# 7.2 came out in November, adding several new features geared towards avoiding unnecessary copying. C#, like C++, is heavily used in video game development, so any aspiring video game developers would do well to learn both of them.
PHP, a scripting language used on the server side, moved up to number six in our ranking over number nine last year. Most developers use PHP for web development, either to add functions that HTML can’t handle or to interact with MySQL databases.
Perl dropped by about 3,000 job postings and stayed in seventh place in our analysis. Perl 5 and Perl 6 are both chugging along and Perl continues to be popular for system and network administrators and as a glue language.
Up and Comers
These are the languages that haven’t made it onto our top seven yet, but have been growing in use and popularity in 2017. Keep an eye out for them in the future!
- Swift: Swift, the programming language for iOS and macOS that Apple release in 2014, came in at number 14 on our list. This may be partially because many job posting ask for “iOS” experience without naming specific languages. Swift has been growing steadily in popularity since it launched according to IEEE Spectrum and Stackify.
- R: R came in at number 11 on our list, but we expect we’ll see it climb in our ranking in the next few years. It’s rising in popularity in both international and US search rankings and was the “least-disliked” language on a Stack Overflow survey this year. Its growth may be due to the growth of big data analysis jobs.
- Rust: Although Rust ranks low on our list, it has been steadily growing in popularity according to Google Trends data.
Other Technologies Developers Should Know
These software frameworks or technologies aren’t technically programming languages, but are still important for developers to know in 2018 and are commonly advertised technical skills for developers found on Indeed.
- SQL: SQL is the standard query language for storing, retrieving and manipulating data in databases. It’s not technically a programming language since it lacks looping and other basic functions, but extensions like PL/SQL have added some of these. SQL is in extremely high job demand, with over 30,000 more job postings mentioning it than our top programing language, Java. If you only have time to learn one new technology in 2018, this is the one to pick.
- .NET: .NET is Microsoft’s platform for desktop, web, mobile, gaming and IoT app development. It was made open-source in 2016 and is used by the C#, Visual Basic and F# programming languages. .NET Core, a cross platform .NET implementation, extends .NET to iOS, Linux, and Android. Many Windows applications run on .NET, making it extremely prevalent in the business world and we expect it to become more popular now that it’s become open-source.