A language is a tool that helps a programmer solve certain tasks. Like a welding machine for a welder or paints for an artist. Therefore, when choosing a field of study, you can rely on the field in which you plan to work. For example, if you want to make games, you should study the requirements in game development. And for those who dream of becoming a mobile developer, it makes sense to understand the specifics of creating applications for different devices.
The distribution of popular languages between development areas generally looks like this:
If you have not yet decided on a specialization, the best solution is to choose one of the universal programming languages. Beginners are often advised to The best programming languages to learn in 2023 | Voting / Habr start with Python or JavaScript. They have a simple syntax and extensive libraries where you can spy on ready-made solutions while studying. And then you can switch to something more specialized - knowing several languages, it is easier to replenish your portfolio with interesting cases and increase income.
If you dream of becoming a developer, but you still can't decide on a specific direction, you can start with a free Workshop course "What profession in programming should I choose". It is also suitable for those who have already outlined a career plan and want to learn more about their chosen specialty. Yandex Practicum teachers will tell you how the labor market in development works, what skills different programmers need, what their work routine consists of, and how much they will have to study to become part of the industry.
Learn moreAccording to various estimates The head of the "Savings Bank" German Gref: the shortage of specialists in the IT field of the Russian Federation is more than 1 million people / Habr there are about a million IT specialists missing in the Russian market. At the same time, the demand for languages is uneven. For example, only in Moscow now more than 3 thousand Java developers are looking for, whereas C++ is mentioned in only 1.5 thousand ads of metropolitan companies. But this does not mean that the latter is not in demand. The Java language is almost Java / Britannica 30 years old, so specialists are needed, among other things, to work with long-existing products. And because of its versatility, there may be competition among juniors, whereas C++ is more often used in the middle and senior positions.
Job aggregators should be used as a source of data on the current market situation, but it is important not to limit yourself to them. IT is a dynamic industry, and the languages that are popular today may give way to the top in a couple of years. To understand trends, you can follow the analytics of large Russian companies. For example, one of the recent reports says Overview of the Russian infrastructure software market and prospects for its development / Strategy Partners that the demand for cybersecurity specialists will grow. This means that you can look at C, which is used to create malware, and SQL for working with databases.
It is unlikely that the level of future salary will be a decisive factor in choosing a language, but it is also impossible not to take into account the monetary side of the issue. Moreover, the income of IT specialists is a kind of litmus test that can tell a lot about the industry.
For example, in 2023, Russian companies paid the most Salaries of IT specialists in the first half of 2023: +10% at the expense of the regions / Habr for programmers working on Objective-C. This is the language in which products for iOS and macOS are written. According to data for the first half of the year, their median earnings reached 337 thousand rubles. Scala, the language that is most often used for development in a web environment, turned out to be the fastest growing in terms of salaries. It jumped by 37% and brought those who own it an average of 274 thousand rubles.
If you are just looking at IT, it is important to remember that such figures should not be counted on from the start. The calculations take into account the income of not only beginners, but also advanced professionals who are willing to pay above the market. And the salary level is also influenced by agreements with the employer and even the region in which the company is located.
Objectively sorting programming languages by complexity is unlikely to work: even to learn something universal and "friendly" to beginners, different people need different amounts of time. Someone will spend more on diving into the basics, someone will stall in practice. But it is still possible to estimate the time frame, focusing on the duration of online programs from scratch. On average, the indicators are as follows:
By the way, some languages were originally created in order to simplify existing ones. For example, the intuitive and concise Kotlin appeared as a simplified version of Java, and different schools take 2-3 months on average to study it. But at the same time, Java has a lot of frameworks — ready-made blocks of code for standard tasks that can be immediately used in projects.
You can speed up the process of learning any language if you regularly practice basic skills in practice and in special simulators (there are especially many of them for JavaScript, for example). It would be useful to look at thematic forums where beginners and experienced developers share their problems and findings in the study of development.
The most reliable way to learn programming languages is with the help of professionals. For example, Yandex Practicum offers courses frontend and backend development from scratch. The duration of each is less than a year, and the average workload is 20 hours per week. A team of mentors and reviewers helps to sort out the difficulties. During their studies, each student performs projects for a portfolio, which will later be useful for employment. By the way, more than half of the graduates of the Workshop found a new job during their studies and in the first 2 months after graduation.
Choose a specialty