June, 15th 2021 • 4 min read
Many of you have probably faced a dilemma: which programming language is worth learning? Where to start? Where to look for help? There is a lot of programming languages, as well as technologies "related to programming". Frontend, backend, environments, databases, tools... Entering the phrase "where to start in programming" into a well-known search engine we will be overwhelmed by links to numerous forums or articles.. The answer is very simple: "every programming language is good to start with, but not every language is worth learning in our particular case".
One important question
First of all, you should ask yourself: why do I want to learn how to code? Most of the participants of programming courses come to us because they want to change their current career path or start a career at all. Most often they are guided by numerous articles praising the IT industry or reports about high salaries associated with this profession. In short, it can be summarized this way - the key factors are financials. So they reach for general statistics on the popularity of a given technology such as Tiobe, less often browsing the job offers on classifieds portals or asking friends developers. While the last method may indeed be useful, each of them, especially the first two, are fraught with a high chance of misreading actual market needs.
Why is that?
1) Reports about the popularity of a language are true, but they apply to the entire market or a significant portion of it.
2) Job advertisements are always true for a given moment in time, by the time we enter the market the situation may be radically different.
3) Information received from friends are often a reflection of their preferences and subjective experiences.
My first programming language
So how to choose your first programming language? Start with some research on the LOCAL market where you will later look for your first internship or job. In times of pandemic and remote work, your local market can be quite large. The best way to get your first job is through referrals, so limit yourself to an area where you are likely to get one. How to do it? Analyze what companies are present on it, look through their websites looking for information about technologies they use. Next, use a tool such as LinkedIn. Thanks to it, after entering the profile of a given company, you can see what positions developers are employed in and what technologies they have listed in their skills. Remember to pay special attention to junior developers and junior automated testers. Just because a company has a lot of mids and seniors with JAVA language, does not always mean that the company is looking for juniors with this technology. It may turn out that, for example, it maintains an older product with their help, and develops new ones in a completely different language, such as C# or Python, and it is for these projects that it is willing to hire people with less experience.
Find your dream company
Another point worth noting are job advertisements. They show only temporary situation on the market. For example, today a company is looking for many C# developers, because it starts a new project in this technology. But will they look for such skills in a few months, when we enter the market? Maybe yes, maybe not. How then can we "predict" what will be happening in the market some time from now? This is very difficult and it is worth coming up with your own initiative here. Projects do not fall from the sky. Often companies have an "outline" of future needs long before a specific project starts and recruitment opens. So get in touch with HR via e-mail, Linkedin or spread the word among your friends employed in companies that interest you. The message is simple: "I like what your company does and how it does it, I know what your work culture is like. Today I am starting to learn and I am faced with the dilemma of what technologies you will need in six months. I want to dedicate myself completely to programming so I can meet your expectations in the future." Don't be discouraged if most companies don't write back. There are bound to be some that will respond. And this will give you a reference point.
Collect information from people around you
A final consideration that influences our choice of a programming path is the feedback from friends who are already in the industry. Their words are the most valuable. However, even here we must take into account several issues. In what company does our friend work, is it a large corporation, or a smaller software house? How much experience does he/she have? What kind of projects does he/she carry out and finally - what is his/her environment like? Let's assume your friend is a JAVA developer. He started his career on the market 5 years ago, he works in a large company in product maintenance. What will he tell you? That only JAVA language (or other JVM languages) is worth learning. Is he right? To a large extent yes, but you need to ask more questions here. Does he have mostly JAVA programmers in his team, does he have knowledge about other current and planned projects in his company, does he not recommend JVM languages because he knows this environment best and he tells us this a bit by sentiment and habit? Doesn't he refer back to his own beginnings in the industry, talking about what we can expect when we start out ourselves? My point is to talk to as many friends in the industry as possible rather than limiting ourselves to just one or two. It will definitely give us a much better picture.
If you don't know what programming language to start with, you should take some time to learn about the local market and its needs. This effort will really pay off. Remember: at the end of the day, a programming language is just a form of expression. All the experienced programmers I know would eventually find their way in most technologies, and it would just take them a lot of extra time to learn the nuances. That's because the very logic of the developer's profession remains the same at its core. So no matter what programming language you choose, learn how to code. Why? Because it's worth it.
Written by Dominik Olszewski ( Linkedin)Back to Blog