Which Programming Language Should You Be Teaching?
As educators, it is important to keep a pulse on industry needs in order to best prepare our students for the jobs of the future. This is especially key in the area of technology where employers’ demand for specific programming language skills can ebb and flow.
In 2017, we highlighted data from job postings and developer surveys to give insight into the programming languages that are most in demand and used in industry. For job demand we looked at Indeed and New Relic’s analysis that showed Java as the clear winner with more job posting mentions than the next 9 programming languages combined. For the use metric, we cited Stack Overflow’s survey of over 50K developers - which found that the most commonly used programming language was JavaScript. Given this industry view, we recommended that computer science (CS) educators incorporate Java and Javascript lessons into their programming courses.
That blog post is over a year old now and with the fast pace of technology, we felt it was time to look at updated data to see if any shifts have occurred in programming language demand and usage. First, we looked at New Relic’s most recent article on the subject. The article includes an analysis of Indeed job postings which shows that the top 10 languages employers are looking for are:
- Java
- JavaScript
- .Net
- HTML
- Python
- SQL
- C or C++
- Node.js
- Ruby
- PHP
The article also includes a summary from Stack Overflow’s survey that asks developers which programming languages they use most frequently. That top 10 list includes:
- JavaScript
- SQL
- Java
- C#
- Python
- PHP
- C++
- C
- TypeScript
- Ruby
Once again, Java and JavaScript are critical programming languages for the workplace and ones that should be included in CS education.
However, we also looked at other sources for this data and found a July 2018 study by IEEE Spectrum. In IEEE's study, they create their own ranking by looking at a variety of sources (Google searches, social media mentions, surveys, and job postings from CareerBuilder). Their ranking lists Python as number one followed very closely by C++, Java, and C. While we found the IEEE Spectrum rankings and methodology informative, we put more weight on the New Relic study as it uses Indeed instead of CareerBuilder as the job posting source. Indeed is far more comprehensive in covering job postings. For example, a September 1, 2018 search of python jobs in Michigan yielded 758 jobs on Indeed and only 83 jobs on CareerBuilder.
Our bias is to slant education toward workplace needs and we place an exteremly high value on job demand when evaluating what topics educators should cover. For this reason, our vote remains the same – incorporate Java and JavaScript into your CS offerings!