How to choose which programming language to learn

The IT sector is changing incredibly fast. Technologies and programming languages that are trendy today will become obsolete tomorrow. Trends come and go, and the job market is also constantly evolving. So, how do you choose which programming language to learn next? To find the right answer, you need to consider many things, such as:

  • industry trends,
  • the job market,
  • your current skill set,
  • your project requirements,
  • the availability of learning resources,
  • and many others.

In this article, we’ll look at a couple of tips on how to choose the next programming language to learn. These are not strict rules but flexible guidelines that you can apply based on your needs.


Before doing anything else, the most important thing you need to do is determine your goals. Think about why you want to learn a new programming language and what end result you want to achieve. The number one question you need to ask yourself is whether you want to expand your skills vertically or horizontally.

If you want to step into a new area, you need to expand your knowledge horizontally. A typical example is when you are a front-end developer and want to become a full-stack developer. Or, when you are familiar with a back-end language like Java and want to learn another one like Python. In this case, you’ll need to set up a learning path that starts at the beginner level.

However, if you want to gain specific knowledge in an area you already know, you need to think vertically. This happens, for example, when you are a Python developer and want to learn something like machine learning. In this case, you don’t need to start from a beginner level. Many times, you don’t even need to learn a new programming language but only new methodologies, frameworks, libraries, or other tools based on the knowledge you already possess.


Once you’ve set your goals, the next step is to decide how to best achieve them. Since there are many programming languages and technologies, you often have multiple paths to achieve the same learning goal.

For example, if you want to become a full-stack developer, you can choose from various back-end languages like PHP, Java, Python, or NodeJS. However, if you already know a C-based language, it’s easier to learn another one. Or, if you are an expert in front-end JavaScript, you can learn NodeJS much faster than a completely new language like Python or Java.

The best way to get a realistic picture of your current knowledge is to make a list of all the languages, frameworks, tools, and technologies you know. If you want to learn a new programming language to find a job, your skills list can also serve as a basis for your resume.

If you know your goals and what knowledge you already have, you can move on to the next step: conducting thorough market research.


Knowing your goals and being aware of your current abilities is one thing, but what about the market? It can easily happen that you’ve set the right goals and chosen a language that aligns with your skills, but maybe there’s no real demand for it…

To avoid wasting your precious time learning a new programming language that no one cares about, you need to conduct market research. Here are the most important resources worth checking.


The TIOBE Programming Community Index is often used as an industry standard to determine the popularity of programming languages. It is published every month and shows how different programming languages have gained or lost traction compared to the previous month. They also publish a short industry analysis every month summarizing the most important changes you need to know.


GitHub Octoverse is an annual report summarizing the most important trends on GitHub. It provides you with a wealth of information such as:

  • the popularity of programming languages,
  • languages that are growing rapidly,
  • top open-source projects,
  • the most active organizations,
  • popular tags,
  • trending topics,
  • and many more…

It’s an excellent resource and definitely worth a look before deciding how to proceed with your learning. In addition to the annual Octoverse report, GitHub also has an Explore page. Here, GitHub daily publishes the trendiest repositories, topics, apps, and frameworks.


You can find a lot of useful information on which programming language to choose in the Stack Overflow Insights subdomain. Without a doubt, the most important material here is Stack Overflow’s annual developer survey containing everything you might want to know about the industry.

For example, in 2019, almost 90,000 developers participated in the 20-minute survey covering various topics, from their favorite technologies to job preferences. In addition to the annual survey, you can find in-depth analyses, featured reports, and archived datasets also on Stack Overflow Insights.

Google Trends can help you choose which programming language to learn in three different ways:

  1. You can check historical data up to 2004, specified by location.
  2. You can compare the popularity of two or more programming languages. For example, you can run a query for C# vs. Java.
  3. In addition to programming languages, you can also search for the popularity of related technologies like JavaScript libraries, frameworks, or WordPress themes.

Indeed, Google Trends is a powerful research tool that allows you to run queries and comparisons completely unique to you, as many as you want, and all for free.


Job platforms are not only helpful if you are directly looking for a job, but you can also use them to research industry trends specific to the field you are targeting. For example, if you want to learn cloud app development, you can check related jobs to see which programming languages, skills, and tools employers are looking for.

In addition to traditional job sites like Subito or Indeed, you can also look for programmer jobs in the following places:

After researching a couple of jobs related to the field you want to explore, you’ll have up-to-date knowledge on what companies are looking for.


Now that you know your goals, your skills, and have also studied the market, there’s only one thing left to do. You need to check the availability and quality of educational materials related to the programming languages or technologies you are interested in. Popular languages like Java or JavaScript have extensive online learning resources, while newer technologies or frameworks are not always well-covered.


Which programming language to learn, first and foremost, depends on your professional goals and current skills. Additionally, you also need to consider market trends and the availability of learning resources.

However, if after a while you find out that you don’t like a particular programming language, it’s a good idea to consider switching to a different one. What works for one person might be a nightmare for another and vice versa, it all depends on your needs.

If you want to check out other learning resources for developers, you can also take a look at the Guides section of the blog.

Happy coding!