How Many Programming Languages Should I Learn?

How many programming languages should the average developer learn? While most programmers are expert in one or two languages, how many should they be familiar with?

There isn’t a limit to the number of programming languages that any one person can learn. Your memory can expand infinitely inward, but that doesn’t make it easy. Just like with natural languages, different people have different natural capacities for learning. Some folks will quickly and easily gain fluency in any language, while others will struggle with the fundamentals of a second language.

As a working programmer, you’ll be “proficient” in one to two languages, with basic familiarity in many other languages. A basic familiarity means that, given some time to refresh your knowledge, you could begin working in that language at a basic level.

There is a natural benefit to knowing a greater number of programming languages.As Mr. Tom Whale, the marketing manager for the prestigious Oxford Summer School points out, “Having a selection of coding languages to draw on can be useful when learning a new one. Similarities and terms that share meanings across the languages will ensure that your education accelerates.” It improves your flexibility as a programmer, providing a diversity of methods for accomplishing a particular goal. The greater your experience, the more flexible you can be.

Don’t try to learn “all” of a language. It’s possible to go your entire career without knowing “all” of an expansive language like C or Java. Once you know the basics of a language, focus on building a particular project.

The quickest way to discover gaps in your knowledge is to attempt to build a real project in a new language.

What Language Should I Learn Next?

If you already have some experience, you’ll want to focus on languages that fit your area of interest and intention. If you’re most interested in working with web application, languages like PHP, JavaScript, and Go offer the best utility. If you’re interested in coding system libraries, then C-type languages are a natural fit. If you have no idea what you want to do, learning one of the perennially popular languages like Java, PHP, Ruby, SQL, or Python will never be a bad use of your time.

You could also take an alternative approach, seeking to expand your knowledge by focusing on your deficits. If you’re most proficient in a dynamically-typed language like JavaScript or Ruby, you might learn more about statically-typed languages like C. Even if you don’t have much use for such a language, it provides a deeper understanding of computer science in general, providing a broader range of thought technologies for troubleshooting and problem-solving.

Looking for a job?

how many programming languages job listingsby language
The seven most popular language have been relatively fixed over recent years.

In theory, the more languages you know, the more impressive your resume. But you don’t want to give the impression of a dilettante with only surface-level familiarity with each language. You can indicate your proficiency with each language on your resume, and focus on those that are most important to your experience and your potential employer’s needs.

When seeking employment, some languages are more valuable than others. Languages like JavaScript, Java, Python, Perl, PHP, and C/C#/C++ are in constant demand, and most technology companies use those languages in one way or another. Newer languages like Swift and Go are quickly becoming more popular as well.

If you’re seeking a job, research the value of tech skills and the languages used by your dream employers to improve your chances of being hired.

The Importance of Life-Long Learning

Anyone who seeks to be successful in their field knows they need to keep learning. If you stop learning, you’ll be quickly outpaced by your colleagues and even your reports. This kind of mental expansion typically means you’ll want to stay on top of industry news.

In programming, it means staying up to date with newer languages, like Rust and Swift. It pays to code a practice project to discover the pluses and minuses of new languages, and that can often be enough to discover if the language is better for your problem domain than your current favorite.

To keep learning, professional educational resources are the best bet. Computer science, in particular, is an easily-accessible field with a structural belief in openness. There are more freely-available college classes in computer science than there are for any other subject. Some folks have even created a four-year Bachelor of Computer Science curriculum to help guide your instruction for self-motivated learners.

These classes represent the best resources for learning, but they can be excessive for those that are already experienced. Educational resources like Codecademy, Lynda, Treehouse and Coding Dojo can all be useful overviews. In general, paid resources provide better instruction than free resources, especially when it comes to depth and breadth.

Most importantly, you need to create habits that support education. With a disciplined approach, you can move from “novice” to “proficient” in a language in six months.

Author: Alex Fox