How many programming languages should I learn?

Posted by

One of the most common but difficult questions that developers have to answer is whether it’s better to learn multiple programming languages, or master one.

The reason that this is such a tough question is that there are pros and cons associated with either decision. Mastering one language, particularly one that is both rare and in demand, makes you a sought-after asset.

On the other hand, having a basic understanding of the most popular coding languages makes you versatile enough to assist on a broader array of projects.

And that’s just the surface. The debate forces you to think about your salary, personality, and career ambitions, and the shifting tech landscape.

It’s easy to be overwhelmed, and asking colleagues for advice probably just makes you more indecisive. But even though it’s uncomfortable, this is arguably the most important choice you’ll make, because it sets up your whole career.

That’s why we’ve compiled the three golden questions you need to answer so that you make the right choice for you.

What languages are in demand?

Although there are hundreds of programming languages, with more being developed constantly, some are more popular than others, and have been for some time.

Familiar programming languages like Java, C++ or Python are versatile and almost universal, which makes them appealing to clients and developers alike.

Newer languages like Kotlin or Elixir might allow you to solve new problems (and can be exciting to learn), but most projects are still reliant on the most-popular languages.

This means that having a functional understanding of these programming languages makes you eligible to work on more projects – which means more experience, and a bigger salary.

To put it bluntly, it might be fun to become an expert in an obscure language, but you might struggle to find opportunities to use it.

Are you a lifelong learner?

Most developers are life-long learners – it’s partly why they choose a profession that is constantly growing and changing.

Choosing to specialise in one language means you will learn everything that there is to know about that language, but eventually, you might run out of things to discover. Being the authority is a great accomplishment, but can become tedious.

Learning multiple programming languages means that you are constantly forced to tackle new challenges. These ongoing lessons keep things fresh, but it can be a frustrating process, particularly if you’re not patient.

Either route will require you to learn, and it’s important to understand that you will have to learn about new technology to really excel, but if you need constant stimulation, then learning multiple languages is probably a better option for you.

What do you want out of your career?

It may seem a little profound, but your ambitions for your career are crucial for deciding whether or not to become a specialist. Essentially it comes down to a question of income.

As a recent survey on StackOverflow illustrates, there’s a clear difference between the programming languages developers most want to learn and work with, and those that will earn you the best salary.

This discrepancy reflects a deeper question. Working in newer, different programming languages is more appealing to developers who want to experiment and push themselves, but they don’t necessarily pay as well – which is why most developers become proficient in multiple languages to boost their income.

The alternative is to specialise in a programming language that you know will earn you more money, but is less likely to push you once you’ve mastered it.

The verdict

Becoming a developer is an exciting career path that will always present you with new challenges and opportunities.

The decision to become a specialist in the modern climate is a risky one; while you may earn a better salary, you risk problems around demand for your skillset, a lack of mental stimulation, and the chance that your chosen language falls out of favour.

Learning multiple languages qualifies you for a broader range of projects, meaning you are always learning. You will have more choices to address problems, and are more likely to work on a satisfying range of tasks. You might struggle to get to a point where your salary is stable though, as you are essentially competing with a broader pool of devs with more experience in the language required.

Ultimately the decision is up to you, but the data suggests that spending your time becoming proficient in multiple languages is your best bet.

Thankfully, there are a number of courses available through HyperionDev that can get you started – including a full-stack web developer bootcamp that will get you fluent in multiple languages in no time.