Go, Ruby, Swift and Java: Is it time to learn a new [DevOps] language?

In the near future, every business leader will need to have a basic understanding of how the disparate languages, platforms and technologies fit together.

Students of all ages have always been encouraged (and even required) to learn multiple languages. But these days it’s not French or Latin that has the big impact. Forget accents and umlauts, many of the best and brightest students, business leaders and employers are taking the time to learn about tags, brackets, and commands – that is, they are learning programming languages.    

Today, 21st century business is founded on software and there is scarcely a brand on the planet that isn’t looking into how it can be transformed through data. To put it simply, the quality and performance of your software – be it a web application, e-commerce platform or mobile app – must be spot on or your customers will look elsewhere.    

No-one can be completely sure of the real cost of defective software, but in the US alone it is estimated to be over $75bn a year. One particularly dangerous example of failed software happened to Nissan in 2015 - the company had to recall airbags from over 1m cars because a software glitch in the airbag sensor was preventing them from inflating in the event of an impact. There is also the famous case in 1999 when a $125m NASA spacecraft was lost in space because of one simple data conversion error.

Coding is the new literacy

Back on Earth, customers today also have far higher expectations than they used to. This pressure, added to the increasing complexity of the application environment, means that software teams today face greater challenges than ever as they race to deliver innovative, quality software and solutions for their business.   

Though coding, website development and computer science might seem like something only those dedicated to a career in an IT department need to worry about, the truth is that learning programming languages could well be critical to all job prospects in the near future. After all, as readers of this site will know, technology is no longer just the domain of the IT professional. As more work is done by machines, the job of the modern professional increasingly is to manage those machines. As Quincy Larson puts it, “Coding isn’t some niche skill. It really is “the new literacy.”    

The growth of different programming languages shows that the world of technology is increasingly polyglot. This potentially creates a dilemma on what programming language to learn and which skills to hire for – but there really is no one right answer. Learning to code enables individuals, teams and businesses to potentially solve problems, and is a very powerful tool when coupled with critical-thinking skills.    

Most experienced programmers didn’t necessarily make a conscious decision to learn a particular language or specialise – they usually learn what is taught in school, and then specialise in a language or framework as they begin working (either in a full-time job or on particular projects). In today’s world however, there are so many options for individuals and companies who have an interest in learning how to code, and you can make a deliberate decision from the start. Even the most talented developer can’t be an expert in every single computer language, so focusing on learning a language that has a lot of value is very important. For business and team leaders, it’s also worth keeping an eye on which languages are currently in vogue and making waves. 

Which programming languages are the most sought after by companies?

When looking at job listings on IT recruiting site Dice.com, the ‘C’ languages (C, C++ and C#) have slightly more listings than Java. These two are so close that they frequently compete with each other at the top of the language rankings, with JavaScript a distant third.   

This is echoed by analysis of job-finding site Indeed’s 16 million job listings: Java, and the combination of C, C#, C++ were far more regularly requested than JavaScript and PHP.

Which languages are most popular among developers?

What employers want is one thing. What developers are actually doing is another. According to RedMonk’s analysis of the number of repositories devoted to a language (on GitHub and Stack Overflow), JavaScript is the most popular choice, followed by Java, PHP and Python.   

Of course, just because a lot of developers are using a language, that doesn’t mean they necessarily like it. Earlier this year, Stack Overflow tried to get at developers’ preferences by asking what languages they most loved. This list was dominated by newer and simpler languages like Mozilla’s Rust, Apple’s Swift, F#, Scala, and Go. The rise of Go and Swift are particularly impressive, having come from nowhere to emerge as in the top 20 most popular languages according to Redmonk Research. 

At New Relic, we recently released a Go agent for our APM product, joining the other supported languages of Ruby, Java, .NET, PHP, Python, and Node.js.

Which language should I learn?

Because there is no one perfect language for all projects and problems, you can’t go wrong with learning any of the languages mentioned above. If you want to you play it safe, Java, JavaScript, and the C family are excellent choices, as they have maintained their positions atop the rankings for years, and I don’t see any indication that will change anytime soon. If you want to be more cutting-edge and try to ride a hot trend, you may want to invest in learning Swift or Go.    

If you are ready to get started or you’re thinking of helping your IT team up-skill, there are plenty of options. Codecademy and Code.org are two of the most well-known and reputable online learning portals. If you prefer instructor-led live training, Makers Academy and General Assembly are often recommended. And of course, there’s always the option of a full-fledged Computer Science degree, if you have the time and inclination.

In the past decade, software has emerged as one of the foremost technical and creative mediums of our time. In the near future, every business leader will need to have a basic understanding of how the disparate languages, platforms and technologies fit together. We communicate with machines is via code and there could well be 50bn connected devices in the world by 2020 – it’s only a matter of when, not if, understanding a programming language will be a requisite for success. Get ahead of the curve and start learning today.

Image source: Shutterstock/McIek
Neil MacGowan, Director of Digital Intelligence,
New Relic

ABOUT THE AUTHOR

Neil MacGowan is Director of Digital Intelligence for New Relic, covering the EMEA region. Neil has 27 years of experience providing executive-level consulting across corporate IT organizations in their efforts to digitally transform their businesses.