What programming language you should learn?
Do you know what programming language to start? Let me help you!
First of all, it is important to say that this is just my opinion. So, my goal is not to make a decision for your career or say that something is wrong or right. My goal was to create an article to talk about some topics you should think about it before you choose a programming language to learn. In my opinion, you need to understand why you are doing something in your life and I hope this article helps you to make your own decisions.
I guess, especially when we are starting our career or just searching to do some projects, we need to deal with a lot of insecurity due to the huge amount of options that we have. But, in my opinion, the first approach you should consider is that you need to see the language as a tool that you will use to do something for yourself. Some people keep stuck in a language because they don’t open their minds to think about it and sometimes you have better options to do some work or project, but these people start to put emotions on it, saying like “Javascript is perfect”, “Python is perfect”, etc.
Programming languages are tools, just tools. They have advantages and disadvantages, all of them. Unfortunately, that kind of people, choose one to support as a football team and stuck to them until they realize this is a bad idea (I will explain to you why later).
In addition, you already know that Technology is not a small field, so you are lucky to be able to have many options to choose to follow. For example data science, cybersecurity, front end developer, back end developer, full stack, etc. As we have so many options, the second approach you should consider is: What field I want to follow? Do I have a specific field that I like? If yes, it will be easier for you to choose your language. If no, that’s okay, you will need to experiment and search about the fields in technology to find the most interesting for you. In my opinion, the best way to know the answer to that question is to test it.
You need to know more about yourself too. So, if you don’t know your field yet, I will call that a bonus task. So, I would highly recommend for you to do projects in different areas, search about them, watch some conferences and talks to help you find the answer and later the tools you should learn.
For those who already know the field or are less lost about it, it’s a great strategy to look for open jobs. What tools are they requesting? What kind of languages should you know to be working there? That’s a great way to approach a programming language that you will probably use to work in the future. That’s the third approach in my opinion to know the language you might learn.
As I said before, some people keep stuck in a programming language and I will explain now why I think this is a bad habit. I am absolutely sure that technology will not stop in time, we are in a field that constantly needs to improve and works on solving problems better and faster.
There are many examples of programming languages that stayed in the past or have been gradually replaced by other programming languages. Now, imagine a person who just memorized what he/she does and only knows how to work with this language that is becoming disused. It will be more difficult to change for another one. And, that’s why you need to understand that programming languages are just tools to solve problems.
So, the fourth approach that you should know, and for me, it’s the most important one is that you need to focus on the foundation. What I mean is that it’s more important to focus on algorithms than choosing one language to learn, if you can develop yourself with a great foundation you will be able to learn any language or change the field you are in if you want. We always want to make the right choices in our lives, but of course, we can’t make sure we will get right all of them, so if you make a bad decision or just wants to try something new in your career (that’s pretty okay), it will be easier.
Remember: Stop focusing on tools and give more importance to foundations. The foundations will make a tool useful. I will give to you a good example.
Let’s imagine that you want to be a Data Scientist. You will need to spend your energy/time learning probability, statistics and please not on asking yourself if you need to learn R or Python (not anymore, right?), it doesn’t really matter. They are just tools to do your job. If you create your foundation well, you will be able to learn both of them. Is it possible to be a data scientist without knowing probability and statistics? Of course not, that foundation will be important to manipulate data and use some tool to extract insights from this data. If you don’t know how to interpret that data, who’s going to do that job for you? Python? R? It would be awesome, but nobody.
The tool is simple when you know the foundation because you know how things work and understand the results a tool gave to you. At some moment, of course, if you want to be a data scientist you will need to learn Python or R (or both), I am not saying that you should forget about it, but what makes a good Data Scientist is not the knowledge of Python or/and R. It’s how they interpret the data and get insights from them.
Moreover, I know that depending on your life stage, you will be required to learn a language. Remember: It’s important to understand which field you want to work in, what kind of topics you need to learn to create a great foundation in that field, and how this tool will be used, right?
Finally, I pretty comfortable to say that you will be able to create a great foundation and also learn the tool you find more useful. It’s important to say one more thing. As we have many topics to cover, study and understand please don’t try to learn all of them at the same time. Patience and discipline are very important, you can’t learn everything. The best approach, in that case, is to be consistent, learn a little bit every day, and respect your time. I hope you got the point of view of this article. Be patient on your journey and keep your passion for learning!