Table of Contents:
Option 1: Focus on the Most Popular Languages
Option 2: Learn a Language with a Special Focus
Option 3: Learn a Secondary Programming Language Totally Different from Your Primary Language
Option 4: Learn Assembly Programming
As a software developer, learning more programming languages is one way to advance your career. The more languages you know, the more attractive you'll be to employers and the higher the programming salary you can command, generally speaking.
But the question for many programmers is: What's the best "secondary" language to learn once you've mastered a primary language? In other words, if you currently excel in one language, which language should you take up next to complement your main programming skill set?
There's no single best answer to that question, but there are different strategies you might consider when choosing a secondary programming language.
Option 1: Focus on the Most Popular Languages
If you're a coder looking to be able to work on as many projects as possible, it's likely that your primary language ranks very close to the top of the list of most popular programming languages.
To increase your ability to work with widely used languages even more, it makes sense to go out and learn another top-ranked language as your secondary language.
An obvious example would be a programmer who currently specializes in Python (which is currently the most popular language) deciding to learn Java (another very popular language).
This strategy may not be the most interesting because you'll be learning what's popular, which is not necessarily what's most interesting to you. It also won't necessarily make you stand out in a particular way, given that programmers who know top-ranked languages are a dime a dozen.
Still, the reality is that there are billions of lines of code written in the most popular languages, and the more popular languages you know, the greater your ability to work on all that code.
Option 2: Learn a Language with a Special Focus
Another, more interesting strategy for choosing a secondary language is to learn one that caters to a specific type of need. This can work well if you currently know a popular general-purpose language but want to stand out from the crowd by being able to say that you can also cater to particular needs or use cases using your secondary language.
For instance, if your primary language is a top-ranked one like Python or Java, you might choose to learn Rust as a secondary language. Since Rust is a famously security-centric language, having Rust chops would allow you to claim a special ability to work on applications with tight security requirements while also bringing general-purpose programming skills to the table.
Option 3: Learn a Secondary Programming Language Totally Different from Your Primary Language
A third approach is to learn a secondary language that is totally different from your primary language.
For example, you could master COBOL or Fortran — languages that, although they may seem obscure and outdated, actually remain in high demand — to complement a specialization in more "mainstream" languages like C, Python, or Java.
The advantage of this strategy is that it allows you to become a specialist in distinct domains — and, by extension, to appear especially unique. There may be relatively few projects that require knowledge of both COBOL and Java, for example, but there are also very few programmers who can handle those types of projects. If you can, you'll stand far apart from the crowd.
Choosing a totally distinct secondary language also helps bolster your credibility as a well-rounded programmer capable of mastering multiple programming styles and techniques. It's not a huge leap to go from being, say, a Java programmer to a Python and Java programmer, so you won't impress many people by learning those two languages. You will impress more people if you learn, for example, Julia alongside a more conventional language.
Option 4: Learn Assembly Programming
A final path to consider is to learn to program in assembly code on a platform of your choice.
Learning assembly alongside a high-level language gives you depth that many programmers lack, in the sense that you can go "down the stack" to do lower-level coding that many developers are not capable of today. Assembly language also happens to be gaining popularity, so learning assembly as a secondary language might be an especially valuable choice right now.
Conclusion: Broadening Your Career with a Secondary Programming Language
There are many ways to go about choosing which secondary programming language to learn after you've mastered a first language. To decide which choice is right for you, consider your career goals, as well as how distinct you want to make yourself and how interesting you want your projects to be. Chasing the most popular languages makes sense under some circumstances, but you're likely to land more interesting types of work if you pursue a different path.
About the author
![Christopher Tozzi headshot](/sites/itprotoday.com/files/christophertozzi_97.jpg)