How to actually choose which programming language to learn
Tags: programming, languages, beginners, learning
Published: 2024-04-17 17:09:18


Picture this scenario and tell me if it sounds familiar. You've decided you're done with that job working retail. You want to go into something stable and up and coming. You've seen all the news about AI and tech developments and you think to yourself, 'hey that's something I'm interested in, maybe I should look into that'. So you go online and google how to become a software developer. They mention all the normal things about being computer literate, hardworking, able to solve problems and then you see the term, **'programming language'**. 
To be a developer/programmer, you need to know programming languages. Makes sense so far, so then you google what programming language should I learn. A bunch of titles pop up like:

"Top 10 best programming languages to learn"
"4 best languages"
"Top 100 languages this year"
and on and on.

A bit overwhelmed, you go onto Reddit to see if there's better input and then you run into a battlefield of arguments of 'Python is king' and 'Rust runs smoother' or 'Nothing can beat Java' and on and on. 
There's enough jargon and technical language to make your head spin.

![a fake tweet saying we're better than you and we know it](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3yxnbahs0h1v1ujrkg6t.png)

If you go to Youtube, it's not any better. There are guides, 'roadmaps', clickbait titles telling you to stop learning this language or that but no one is giving you a simple answer to the question that is now burning in your brain:

![<a href="https://www.freepik.com/free-vector/man-thinking-confused-illustration-isolated_88817859.htm">Image by djvstock on Freepik</a>](https://img.freepik.com/free-vector/man-thinking-confused-illustration-isolated_24911-115067.jpg?w=440)

## What programming language do I need to get a job?

Because that's what actually matters right? You didn't go into this because of your burning passion for coding that started when you took apart your dad's computer when you were 3 or something. You're here because you don't feel like folding shirts in the stockroom of a retail store anymore. You want a job.

And since no one is giving you an answer to this question, you just go with the most popular answers. 
That is where you make your **first mistake** so don't do it. 
Let's see if there's a better answer. One that these guides are avoiding because it's not a popular answer and that is, **it depends**.

It depends on a number of factors. 
<br />

## What are you actually interested in when it comes to software development? 

![<a href="https://www.freepik.com/free-ai-image/application-programming-interface-software_65693065.htm#fromView=search&page=1&position=2&uuid=da08a3a8-d909-4efd-9d57-1b0ba18a2b2a">Image by WangXiNa on Freepik</a>](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4eew8vqwc7frt5p8dm46.jpg)

<br />
The tech industry is enormous. There are so many different types of jobs in it that involve some form of coding and building. Understanding what you like and dislike before you dive into technical details will make your life now and for the next few months, much easier.

Do you enjoy looking at websites and if you do, do you think you would be interested in understanding things like:

- How does a website button work?
- How do you lay out the different elements on a web page?
- How do you make that mobile app look that way?

Or are you more interested in things like:

- What happens to the personal information I write into forms?
- Where are they storing all the photos I take on Instagram?
- How do they get the map to change every time I drag in Google maps?
![Person coding in different programming languages](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2hqo7b55nlxx4tfzqh4z.jpg)
Depending on how you answered these questions, the language you choose can change and this is just in regards to website development. I have yet to mention Machine Learning, Big Data, Hardware, Dev-ops, Cyber Security and Cloud Computing. All different areas that require possibly different programming languages. So it really does **depend** on what you're interested in.

But say you've already decided you want to go into back-end, which is a very popular choice. You still have a host of languages to choose from (Python, Java, Ruby, PHP, C# etc). This leads us to the next **'depends'**. 


<br />
<br />
## Location Location Location

This is the one that articles and influencers tend to ignore. It **depends** on where you live and what is available to you. You have access to all the learning resources for most if not all, programming languages but not every language is popular in the region you live in. 
Remember the key point of all of this: you want a job. And employers use different languages depending on their company's needs. 
<br />
![An example of job qualifications in ny](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xclv2hshol88rfbl7l8i.png)

For example, in New York, there are lots of banks and financial institutions. These places do not care about the next popular bundler and framework. They want something dependable that can scale, like C#, the .NET framework or Java and Spring. 

Find what's popular in your area. Do research and go into this with the mentality of I am here for a job. What do I need to know?
<br />
## Some Languages are harder than others

Finally, the argument can be made that choosing the wrong language will make the learning process harder for you but this argument is predicated on the idea that a programming language is inherently difficult. Programming languages are not built to be hard, they are built to deal with different problems that have come up in development. Each one has its strengths and weaknesses. Learning them you will grow in different ways but the end goal will be the same: to be a proficient developer who can build applications.

Besides, for a flexible developer, language agnosticism is the ultimate goal anyway. Once you have mastered programming fundamentals, you will begin to see the similarities in all languages and care less about which language you are building in and more about the applications themselves.

So choose thoughtfully. Don't follow the trends. Pick based on what you want to do and how the market is around you. You do that and you won't have problems choosing your programming language