Engineering Leaders Discuss the Best Programming Languages to Learn

Written by Janey Zitomer
Published on Jan. 28, 2020
Brand Studio Logo

Due to their simplicity, flexibility and versatility, JavaScript and Python are two of the most popular programming languages in the world. Proficiency in either language would be a great starting point for serious software engineering candidates. 

But beyond these influential languages are a sea of slightly less-mainstream languages that would be wise for engineers to consider mastering: think Go, Erlang and Elixer, for example. According to tech professionals from Doxo, Qualtrics and Hiya, candidates with a diversity of experience will be able to not only ace coding tests, but also build software that requires complex infrastructure.

Our respondents shared why they consider qualities like scalability and cross-platform runtime when bringing a new language into their team’s stack, and where languages like Java, Ruby and TensorFlow have taken them.

Best Programming Languages to Learn, According to Experts

  • Java
  • Javascript
  • Python
  • Ruby
  • C#
  • TensorFlow
  • Scala


 

Doxo
Doxo

What do companies like eBay, IBM, Pinterest, Spotify and Doxo have in common? They all use Kubernetes (K8s), an open-source system, to scale and manage containerized applications. Doxo CTO Mark Goris shared how he plans to personally expand upon his K8s knowledge this year, and why experience with JavaScript is a must for any potential engineering candidate.  
 

In the job market, which languages are hot right now? Do you look for specific languages on resumes, and if so, why?

In terms of number of job listings, Java and JavaScript top the list. Java is a good multi-purpose language that is based on object-oriented programming, has enormous industry support and can be used in a variety of situations. Python is the fastest-growing major programming language (per Stack Overflow’s 2019 survey) and stands as the second most-loved language behind Rust. Python is the dominant language in data analytics. Web application development dominates job openings and JavaScript is ubiquitous in web application development.

In terms of looking for specific languages on a resume, it depends on the position. For front-end developers, we’re flexible on which JavaScript libraries the candidate has worked with, but experience with JavaScript is a must. For back-end developers, we look for at least one modern object-oriented programming language: Java, Ruby, Python or C#. We have found that developers who are competent in a modern object-oriented programming language can quickly adopt another.

In terms of number of job listings, Java and JavaScript top the list.’’ 

What’s a programming language you’re not currently working with that you’d like to, and why?

I started teaching myself Go (aka Golang) last year. The Kubernetes container management system is implemented in Go and we extensively use Kubernetes. I wanted to be comfortable understanding the language that was used to build such an important part of our system.

 

Qualtrics
Qualtrics

The Qualtrics engineering team doesn’t base their programming language choices on popularity alone. Senior Director of Software Engineering Anderson Quach said that he evaluates his team’s existing skill set as it relates to community support for any languages they consider employing. 

 

In the job market, which languages are hot right now? 

When it comes to full-stack and application work, we look for TypeScript/JavaScript libraries with great community support, like React, as well as those with cross-platform runtimes, like Node.js. For back-end solutions, Golang, Java, and Scala are solid. And for machine learning/artificial intelligence workloads, we like TensorFlow.

These languages can be deployed rapidly and iteratively, delivering innovations that are high-quality, scalable and secure with minimal go-to-market time. Qualtrics is focused on bringing products and services that are loosely coupled in a microservices architecture. So the languages we choose help to facilitate our need for flexibility while allowing rapid adoption of new technical stacks. In other words, we focus on finding languages that deliver the right solution for specific problems.

We don’t look for specific languages on resumes. Rather, we’re interested in candidates who have strong computer science and programming fundamental knowledge with a genuine curiosity and love for learning and personal growth.

We’re constantly evaluating the advantages of new languages.’’ 

What’s a programming language you’re not currently working with that you’​​​​​​​d like to, and why?

We’re constantly evaluating the advantages of new languages. We’ve been very deliberate about the languages we have chosen so far. We start by looking at both the skill set of our engineering team and the public community that supports the language, including libraries and runtime. We think through a high-level set of selection and supportability criteria and we evaluate how well the supporting libraries and frameworks can help us accelerate toward solving the problem at hand. We’​​​​​​​re always open to new languages that will help propel our next innovation.

 

Hiya
hiya

When a new resume comes across Jay Barker’s desk, he looks to see whether or not that candidate is proficient in at least two different programming languages, among other things. The director of engineering said that to him, such mastery is a sign of quick technical adoption. And at Hiya, that’s exactly what the team needs. 

 

In the job market, which languages are hot right now?

Generally, I have seen a steady increase in demand for language skills in JavaScript and Python. Demand for JavaScript is constant because a lot of companies make web applications, both as products and tools. Some even use JavaScript to build native mobile applications. Python is less common but is growing in usage due to its multi-purpose fit. Python can be an excellent language choice for web applications, data analytics and data science.

Beyond specific languages, I look for a candidate’s ability to apply new tools and technologies –– including new languages –– to their work. When a resume shows someone’s success with at least two different languages, I take it as a sign that learning another one is an interesting and reasonable endeavor for the candidate.

Erlang is a programming language with historical roots in the telecom world.’’

What’​​​​​​​s a programming language you’​​​​​​​re not currently working with that you’​​​​​​​d like to, and why?

Today we do not use two unrelated languages, Erlang and Elixer. Erlang is a programming language with historical roots in the telecom world, an industry that we work closely with. And there are many telecom use-cases in which Erlang is an excellent choice. Elixer is a newer language that runs on the Erlang virtual machine and offers additional advantages. Elixer might be a good fit for future projects that would benefit from functional programming, distributed architecture, low-latency and fault-tolerant applications.

 

Responses have been edited for length and clarity. Images via listed companies.