With the arrival of a new year, software developers face a rapidly changing landscape. Platforms and business needs are evolving while programming languages are either gaining or falling in popularity. Developers looking to keep their careers on track should acquire new skills, brush up abilities in areas they've long neglected, and reluctantly bid farewell to favorite tools that are rapidly losing their luster.
Coding boot camp operator Coding Dojo recently analyzed data collected by job website Indeed.com, covering 25 programming languages, stacks, and frameworks, in an effort to determine which will likely be the seven most in-demand coding languages of 2018, as well as three up-and-comers.
The days of developers basing their careers on just a single programming language are over, declared Speros Misirlakis, Coding Dojo's head of curriculum. "Programmers must know at least three to five programming languages and have some knowledge about those entire stacks — front-end, back-end, and database—if they want to stay relevant in the web development field," he explained. "Much like any tool or application, companies use different coding languages for different requirements; there’s not a one-size-fits-all option."
Here are Coding Dojo's top picks for 2018:
Java, a popular and versatile open-source language, has been around for over 20 years and is now virtually omnipresent. "Java is in everything, from your computer and phone to the Curiosity Rover on Mars," noted Ryan Desmond, co-founder and lead instructor of coding boot camp CodingNomads. "It is used across every industry in both the private and public sectors, from start-ups to enterprises."
Interconnectivity and communication between technologies and services is more important than ever, Desmond explained. "The most common way to accomplish this is through RESTful APIs, and the most common language behind RESTful APIs is Java." Java's popularity is further bolstered by the fact it drives Android, the world's most widely-used operating system. "For these reasons, Java is not going anywhere, and the demand and salaries for Java engineers continue to rank amongst the highest," he said.
A general-purpose programming language used for web development and as a support tool for software developers, Python is near the peak of the programming pyramid. Python is also widely used in scientific computing, data mining, and machine learning. "Python remains the de-facto language of choice for data science, which is one of the fastest growing and highest paying niches of the computing industry," noted Sam Kaufman, co-founder and CTO of BugReplay, a company that provides tools designed to make reporting and fixing software bugs faster and easier.
Python programmers are in demand because it's a great all-purpose programming language, said Derek Johnson, vice president of business development at professional recruiting firm Stride Search. "It doesn't hurt that Google uses Python in many of their applications," he quipped. "Google is very vocal about their support for Python."
While C++ is expected to remain popular during 2018, a growing number of developers feel that the language's days are numbered. "Older languages like C++ will become less sought after simply because they're getting older and engineers prefer newer, faster coding languages," observed Oliver Chrzan, senior vice president of engineering at CarGurus, an automotive research and shopping website.
C# is an object-oriented programming language from Microsoft. Designed to run on Microsoft’s .NET platform, C# aims to make software development quicker and easier than Microsoft’s earlier languages. C#, like C++, is widely used in game development. "C, C#, C++ will still be the most popular languages in 2018 because they power so much software," Nihen said. "While it may be sexy to chase after new languages, the traditional languages will still be around for a long time."
Many developers use PHP for web development, either to add functions that HTML can’t handle or to interact with MySQL databases. "Languages like Java, C++ and PHP have been around forever and aren't going anywhere anytime soon, but are the most likely to take a hit from newer options in languages to choose from as we go forward," Williams said.
Chrzan noted that PHP "can be held back by a lack of true multi-threading, which is important today since every processor has multiple cores."
Perl 5 and Perl 6 are both chugging along, noted Coding Dojo, continuing as popular choices among system and network administrators and often serving as a "glue language" connecting different software components. Still, as is the case with many older languages, Perl's best days are likely already long behind it.
"We have seen a consistent downward trend for PHP and Perl," observed Giancarlo Di Vece, president of Unosquare, a global software engineering company.
8. Swift (Up-and-Comer)
Swift, a language for iOS and macOS systems that Apple released in 2014, is gaining ground in an increasingly mobile world. Swift adoption has grown steadily in popularity since its launch, according to IEEE Spectrum and Stackify.
Not too long ago, Swift didn’t exist, noted Paul Kopacki, chief marketing officer at real-time mobile development platform provider Realm. "Now, it towers over Objective-C for iOS developers," he said. "Much like Java versus Kotlin, Swift is just easier to read and write, with code that is closer to the natural English language."
9. R (Up-and-Comer)
Rising in popularity in both international and US search rankings, and tapped as the “least-disliked” language on a recent Stack Overflow survey, R's growth in 2018 will likely be attributable to an increasing number of big data analysis jobs. "R is powerful, extensible and free," Johnson observed. "As data mining and data analytics grow, so too will the need for programmers competent in R."
10. Rust (Up-and-Comer)
Although Rust is currently a niche and relatively obscure language, it's steadily growing in popularity, according to Google Trends data. "Mozilla's new systems language, Rust, has a similar approach to package management as npm," Voss said. "We think [it] will prove similarly popular with the systems language community as npm has with web developers and attract [systems] developers to Rust in 2018," she noted.
The Biggest Loser: Ruby
Ruby, long touted as a dynamic, open source programming language with a focus on simplicity and productivity, is now seen by many experts as the programming language facing the steepest decline in demand.
"Trends in language demand change frequently for various reasons, and while we can’t predict what companies will be hiring less for, it has become clear to us that the demand for coders who know Ruby is diminishing," Misirlakis said.
"A lot of Ruby developers will continue to move toward more modern, faster moving languages and communities like Elixir/Phoenix," noted Michael Roberts, an instructor at Origin Code Academy in San Diego.
The Most Important Programming Skill of 2018
While programming language popularity is fleeting, knowing how to solve algorithms will always remain one of the most important programming skills. "This is why we put such strong emphasis in learning algorithms at Coding Dojo," Misirlakis said. The languages may come and go, but the ability to problem-solve will always be in demand, he explained. "Aspiring and existing developers must learn coding’s common building blocks and ultimately become fluent in multiple languages to have the adaptability and flexibility for a successful career."John Edwards is a veteran business technology journalist. His work has appeared in The New York Times, The Washington Post, and numerous business and technology publications, including Computerworld, CFO Magazine, IBM Data Management Magazine, RFID Journal, and Electronic ... View Full Bio