Today there are a huge number of programming languages, and it is difficult to choose a specific one to study. To do this, you should evaluate several factors, including your preferences, and be interested in the technology industry and current trends. Entrepreneur Michael Garbade assessed a number of sources and identified the three most in-demand languages ​​in 2018.

The three most popular programming languages ​​in 2018

Anna Samoydyuk

1. JavaScript

JavaScript is a dynamic programming language that basically allows you to add interactivity to websites. Many people advise starting to learn programming with it.

Stack Overflow, a popular site where programmers share their skills, surveys programmers every year and compiles statistics ranging from salaries to favorite technologies. In January 2018, the site surveyed more than 100 thousand developers.

Graph of the most popular programming languages, according to Stack Overflow:

JavaScript tops the list for the sixth year in a row.

GitHub, the largest web service for hosting IT projects, also calls JavaScript the most popular programming language.

According to a Stack Overflow survey, JavaScript developers earn about $55 thousand per year. Programmers in the US who use this language earn about $98 thousand per year.

Editor Olga Evsikova told us specifically for the Netology blog how to choose a language to study.

There are many reasons to become a developer. Programmers make a lot of money, create new products and change the world. Are you eager to become one of them, but don’t know how to take the first step? This article will help you figure it out.

The PYPL (Popularity of Programming Languages) rating system is based on the number of searches for tutorials on Google. They, together with GitHub, compiled the top programming languages ​​for 2017.

Since 2005, Java has been the most popular programming language around the world. Over the past 5 years, the most interest has been shown in the language, and PHP is losing popularity, but is not inferior to its pursuer C#. The top languages ​​also include JavaScript, C++, along with C, R and Ruby.

TIOBE index

Another system for assessing the popularity of programming languages, TIOBE, is formed based on the frequency of searches in Google, Baidu, Wikipedia, Yahoo and YouTube.

Java is again in the lead, but only occupies fourth position; JavaScript and . And the top twenty starts with Ruby.

Decide on a direction

Choose a language based on the software you want to create.

It is the process of creating websites and applications. This could be anything: from a social network to a landing page for a sports club.

Front end web development is called . First, a page is created using markup. It is this markup that is responsible for the structure of the page. Then the appearance of the created page is changed using cascading style sheets - CSS and interactivity is added in the language.

Back-end is the server part. This is where all the magic of interacting with the interface happens, and often we only see the result of work on the server side. An important part of working with a server is knowing how to use databases. If you are interested in this direction, feel free to learn the database management language SQL, MySQL and get acquainted with the Oracle framework. The backend can be written in Ruby, Python, Java, .

Large resources always use several tools, since it is necessary to support the operation of several data centers, servers and the system of interaction between these servers. This is the product of the work of a large team: programmers, engineers and system administrators. Thus, the social network VKontakte used for its work a translator from the Facebook company - HipHop, which turns the source PHP language into C++ to speed up work. Later, VKontakte created their own translator and called it Kitten PHP.

Mobile applications

If you are planning your own project, it will be useful to find out what operating system your target audience uses. But any project that seeks development goes beyond one platform.

To develop for the iOS system, they write in Swift and Objective-C. For Android - Java and C++.


Mobile applications on Google Play Market

Desktop applications or desktop

This could be a desktop version of a mobile application. For example, Viber messenger. Or the Skype video calling service, created at a time when applications for mobile devices were not yet so popular. And in general, any programs for everyday tasks that can be run from a laptop or computer.

For Windows they write in C++, C# and Java. For Mac OS - Objective-C. For development under Linux they write in C and C++.


Desktop apps on the App Store

Game development or gamedev

To create games, you need not just to play them, but to understand the features of their creation. This is how game development differs from other areas, and it is placed in a separate category.

Mobile games for Android are written in Java and C++, for iOS - Swift and Objective-C. Online browser games can be played on social networks. This is where knowledge of web development in or Flash will come in handy. Computer games are often written in C++. This low-level language is most suitable when it comes to developing complex things.

Thus, one of the most successful games in the world, Minecraft, is written in Java, but specially rewritten in C++ for Android.

Special game engines such as Unity (C# and Java Script) and Unreal Engine (C++) are also used to create games. They simplify the process of creating games and allow you to create 2D and 3D games on Mac OS, Linux, Windows and PlayStation, Xbox consoles.

Social networks and the media are wondering how to effectively use the data that has been accumulated in server storage for years and continues to flow. Large volumes of data make it possible to find out how a user interacts with services, model situations and make predictions.

In Russia, the Big Data market is just emerging, but banks and telecommunications companies have already shown great interest. A new profession has appeared - . There are programming languages ​​like R that are designed specifically for working with large amounts of data. They also use C, Java and Scala.


Big Data in a study by MegaFon and Strelka Institute

Assess the market

If programming is not just a hobby for you, it is better to estimate the salary level of developers in advance. You can find various statistics on the Internet. For example, this one.


My Circle data

Statistics show that the highest paid programmers, on average, are those involved in mobile development or software. Otherwise, programmers rarely earn less than 80 thousand rubles. For example, according to a report by the analytical company App Annie, the global mobile application market is expected to grow by 28.6% in 2017 and reach $166 billion.

But often one programming language is not enough, and potential employers require knowledge of several languages ​​and frameworks. This happens because only one part is written in one language, and the rest in others.

Choose what you like

Regardless of the chosen area of ​​programming, you should like the language. Try it.

To assess the prospects of their efforts, every programmer should regularly look at ratings of programming languages. It often happens that some fashionable language appears that everyone starts writing about, but then this language quietly disappears. Those programmers who rushed to learn this language suddenly see that their efforts were in vain.

For example, in the mid-80s the Prolog language became very popular, but then its popularity declined sharply. And now almost no one writes on it. And Python took the place of the popular newcomer.

How to find out the rating of programming languages? There is no overall ranking because there is no easy way to collect such statistics. But there are different ways to assess the popularity of programming languages. Let's look at the most popular ratings.

The TIOBE Index rating is based on evaluating the results of search queries containing the name of the language. The logic of this index is very simple: “If a language is searched in search engines, then it is popular.” Of course, this statement is controversial, because professional programmers will extremely rarely search for the name of a programming language in a search engine. They are more likely to look for a solution to a specific problem. But the huge advantage of this rating is that it fairly objectively shows interest in a particular language.

The TIOBE index shows the most popular programming languages, information about which was sought on the 25 most popular search engines, that is, queries like: “+” programming". The index is calculated every month.

The TIOBE index for January 2020 looks like this:

TIOBE also named C the 2019 Programming Language of the Year.

The graph of index changes clearly shows how the popularity of programming languages ​​has changed. But at the same time, the first and second place are constantly shared by the two languages ​​Java and C. Although Java is actively promoted by Oracle, no one promotes the C language.

And what’s also interesting is that C++ has never been able to surpass C in popularity.

2. Wappalyzer rating for web applications

The Wappalyzer service uses various methods to identify web technologies. The rating of programming languages ​​for website development for January 2020 looks like this.

PHP is clearly the leading language in web programming; more than 80% of websites are written in this language.

4. IEEE Spectrum rating

The annual IEEE Spectrum Top Programming Languages ​​ranking uses 11 metrics from 8 sources, including search queries, Twitter mentions, and even mentions in programming job postings. On the one hand, this rating uses more data, but on the other hand, in many sources the data is of a related nature. The more vacancies for a certain programming language are published, the more requests there will be in search engines. That is, new languages ​​have a better chance of getting to the top of the rankings.

5. Stack Overflow Rating

Stack Overflow is a place where developers can ask and answer programming questions. This site has approximately 40 million visits per month. There is a Russian version of the site: ru.stackoverflow.com

This rating is calculated based on a survey of developers. In 2019, more than 90,000 developers were surveyed and a ranking of programming languages ​​was compiled. Rather, it is a ranking of languages ​​that raise questions. JavaScript became the leader in this ranking.

This popularity is understandable; JavaScript is now rapidly developing and each new feature raises a lot of questions, so programmers go to Stack Overflow to ask questions.

It's interesting that C didn't even make it into the top ten.

6. Jobs on Head Hunter

You can approach the ranking of programming languages ​​from the other side and see which languages ​​are listed in vacancies and how much they are going to pay. One of the most popular platforms for finding jobs in the IT field is the HeadHunter website. There is a separate section there - vacancies for programmers.

At the bottom of the page you can see a list of similar requests and make sure that employers have slightly different requests.

Here you can see that a programmer who knows Pascal (Delphi environment) is still in demand.

7. Google Books Ngram Viewer

And finally, let’s look at the extremely useful Google service, where you can look at the use of keywords in publications. Therefore, you can look at the popularity of not only programming languages, but any technology.

At the beginning of this article are graphs of the use of Prolog and Python words. Now let's introduce JavaScript, Python and PHP.

You can see how in 1992 interest in JavaScript appeared and it quickly overtook Python and PHP.

Many people not connected with the IT field, at the beginning of their journey, think about the topic: what programming language should they learn? After all, there are a lot of languages, about a thousand. However, there is no one right answer to the question of which programming language is the best. Each language was created to solve specific problems. Over time, some of them lost relevance, and accordingly these languages ​​faded into the background. The leading positions were taken by languages ​​that meet the needs of large corporations and businesses operating on the Internet platform. Ratings of programming languages ​​will help you find out the demand for a language in the IT technology market, and also simplify the task of choosing if you decide to start programming.

What is a rating?

Programming language rating is a measure of its popularity, determined based on one or more criteria. For example, language requests of users on the Internet, the amount of downloaded software, the number of discussions on forums, the number of vacancies on the market. Here, for example, is how you can calculate the rating of Java among four languages ​​based on user requests on the Internet:

Where n is the number of user requests for a language on the Internet.

What are the ratings?

The rating does not answer the question of which programming language is better; rather, it characterizes the popularity of its use. Below are ratings from various companies that have been monitoring the popularity of programming languages ​​for a long time. Company rating TIOBE Software(Fig. 1). Analysis of ranking results includes data based on search results from 25 major search engines, including Google, Ebay, YouTube, Yahoo!, Wikipedia, Amazon, Bing. Figure 1. Rating from TIOBE Software Rating Red Monk(Fig. 2) uses data from GitHub and StackOverFlow to compare languages. The parameters by which the rating is compiled are the frequency of discussion and use of language in projects. Figure 2. Rating from Red Monk Rating PYPL(Fig. 3) is based on an analysis of the frequency of searches for language documentation on Google. The more requests, the more popular this language is considered. Source data comes from Google Trends. Figure 3. PYPL rating Rating compiled by the Institute of Electrical and Electronics Engineers IEEE Spectrum (Figure 4). It uses data from 12 sources, including Google, GitHub, StackOverFlow, Reddit, Twitter, Career Builder, Dice, IEEE Xplore. Figure 4. IEEE Spectrum Rating for 2017 Figure 5 shows the leaders among language queries on StackOverFlow (data as of the end of June 2018). Figure 5. Language queries on StackOverFlow And Fig. 6 shows the dynamics of the popularity of language queries from Google Trends over the past 12 months (data as of the end of June 2018). Figure 6. Dynamics of requests for languages ​​Java, C++, Python, JavaScript, C#

Analyze ratings and narrow the search

What conclusions can be drawn by analyzing these ratings? Despite some differences in the distribution of languages, the leaders are Java, JavaScript, Python, C. It is these four languages ​​that occupy about 60% of the total use of programming languages ​​in the world. Therefore, by choosing one of them, you will be in the technology trend.

Let's take a closer look at the "candidates"

So which programming language should you learn if you choose from these four? To decide, you need to consider several important points. If you want to make money through programming and be treated as a serious developer, take a look at Java and the C family of languages. By studying one of these languages, you will master the basic concepts and fundamentals of programming necessary for any programmer: variables, types, return values, methods, functions, expressions, initialization and life cycle, algorithms, input/output streams. C++ is worth learning if you want, for example, to write various application programs or games. C is closer to the hardware and is used for low-level programming. Suitable, for example, for writing drivers and operating systems. The C# language is created in the image and likeness of Java, only with a syntax even closer to C++ and is used primarily for developing software products for the NET.Framework and Windows platforms. As for Java, it has established itself as a fast (Fig. 7), reliable and platform-independent language, which makes it the best programming language for developing enterprise applications - enterprise-scale applications. Java has held a leading position in the programmer job market for a long time. This is evidenced by the results of monitoring vacancies from IEEE Spectrum over the past 4 years, as well as data from Indeed:

The Java language was created to simplify the work of programmers and reduce the requirements for their qualifications, so it is simpler and “fault-tolerant” to use compared to the C and C++ languages. To program correctly in C or C++, you need to have a fairly high qualification, since these languages ​​have the ability to use low-level programming tools. With insufficient knowledge, the likelihood of writing unsafe and confusing code that is difficult to debug using these languages ​​is much higher than in Java. Java is an easy language to learn, which can be mastered “without leaving home”, thanks to the huge amount of material on the Internet and various online educational resources, so I advise you to take a closer look at it as the first language to learn. Thanks to the existence of forums such as StackOverFlow, Javatalks, and Cyberforum, when learning Java, you can easily find the answer to any question on the topic of programming. Additionally, Java developers are some of the highest paid programmers. You can read more about this.

Let's summarize

So, if you have not yet decided on the first language to study, follow these steps:
  1. Think about what you would like to do in the future (web development, development of application programs and software for games, mobile development, development of server enterprise applications)
  2. Look at two or three main language ratings and review the popularity of languages ​​on the Internet
  3. Study the job market and salaries in your region (for example, on job search sites)
  4. Assess your strength and time that you can devote to learning programming

Java is the best choice

Why is Java the best programming language for the vast majority of beginners?
  • Knowing Java, there is a high probability that you will develop enterprise applications. This work pays well, because the customers are corporations, banks and large business players.
  • Knowledge of Java gives you the opportunity to engage in promising, actively developing and also decently paid mobile application development.
  • The vast majority of running enterprise server applications in the world are written in Java, so the language, even in the most pessimistic scenario, will be supported for many years to come.
  • For many years, Java has been the leader in the number of vacancies. Often employers are large companies, and it is easier for a “junior” to develop in a large company than in a small one.
  • Java is quite easy to learn. Once you master it, you will master the fundamental principles of programming needed for any programmer. At the same time, after this it is quite easy to learn JavaScript or Python and it is much easier to approach the relatively complex C++.
  • The Java language is easier to use compared to the languages ​​of the C family. At the same time, knowledge of Java allows you to rightfully be considered a professional developer.
  • Last but not least, Java development pays well.

The end of the year is a traditional time for summing up results. We did not stand aside: we talk about the popularity of languages, the global and Russian employment market in the IT sector, and the prospects of juniors.

What programming language was popular in 2017?

TIOBE regularly publishes the popularity rating of the language and the dynamics of its changes. It is formed based on the number of search queries mentioning a language of the form “name of language + programming”. At the end of 2017, the top five most popular languages ​​were Java, C, C++, Python and C#.

Additionally, based on the rating data, you can understand which languages ​​quickly gained or lost popularity over the year. R, MATLAB, and Scratch made big leaps forward. Assembler, Perl, and Visual Basic dropped significantly in the rankings.

Popularity evaluates and PYPL index (Popularity of Programming Language Index). It shows how popular the programming language is among those still learning. The index is calculated based on search queries for educational materials on Google.

The PYPL rating is also topped by Java, followed by Python, PHP, JavaScript and C#. The most popular language for learning in 2017 was Kotlin , which was nearly six years in the making before its first release last year. Kotlin is fully compatible with Java and can be used to develop Android applications.

In second place in the search for educational materials is TypeScript is a language developed by Microsoft for creating complex web applications. Essentially, it is a JavaScript add-on.

Other languages ​​that have grown in interest this year include JavaScript, R, VBA, and Rust.

When comparing interest in language learning over the past 10 years, one can see:

    stable interest in Java, JavaScript;

    growing to Python, Swift, C#;

    declining to PHP, Perl, C++.

A non-standard popularity ranking is compiled by Stack Overflow. Since 2011, he has annually conducted a survey of programmers from all over the world. In 2017 in research 64 thousand people took part. One of the questions is: “Which language do you love most/are terrified of working with/would like to use more often?”

The answers in 2017 were distributed as follows:

They love

They are horrified

Want to use more often

Rust

Visual Basic 6

Python

Smalltalk

JavaScript

TypeScript

CoffeeScript

Swift

VB.NET

MATLAB

Java

Python

Objective-C

TypeScript

Elixir

Assembler

Perl

Swift

Scala

Ruby

Clojure

Hack

Rust

JavaScript

Groovy

Common Lisp

Scala

Haskell

Dart

Erlang

Haskell

Julia

Java

Ruby

Assembly

Ruby

Java

Elixir

Julia

Objective-C

Clojure

Erlang

Erlang

Dart

Haskell

CoffeeScript

Common Lisp

Groovy

JavaScript

Perl

Rust language takes first place for the second year in a row, although it is ranked 43rd in the TIOBE rankings. In the PYPL rating, interest in its study is growing. The language is likely little known in programming circles, but those who work with it appreciate its capabilities.

The languages ​​that programmers want to learn better and use more often in their work are Python, JavaScript, Go, C++ and Java. All languages ​​except Go occupy the top positions in the TIOBE ranking.

Overview of the employment of programmers in the world

According to Stack Overflow research, the average employment rates for programmers are as follows:

Employment type. More than 83% of programmers work full time on the company's staff. Moreover, at the time of the survey, only 1.3% were looking for work. That's about 470 people out of 36,000 study participants.

Company size. Programmers work in companies of different sizes: the majority of respondents (22.1%) work in companies with personnel from 20 to 99 people, 18.7% - in companies with personnel from 100 to 499 people and 14.6% - in large companies with over 10 thousand employees.

Job search. Of the 33 thousand respondents, only 13.1% are actively looking for work. But 62.1% of respondents are ready to change their job for a more interesting offer. Only 24.8% or 8,000 people are loyal to their current employer and are not interested in changing jobs.

When distributed by country, the smallest share of programmers looking for work is in France - 8%, the largest number is in the USA, 12.7%.

Applicants' specialization . The largest share of applicants are specialists in related fields: machine learning and data science. Together they make up 27.5%, a third of all respondents-applicants in the IT field. This may be due to two reasons: insufficient market demand for such specialists and/or unmet salary expectations.

average salary . 12 thousand people took part in the survey on the level of payment. The first four places were taken by a popular DevOps professional and three positions related to big data processing.

It is noteworthy that when distributed across English-speaking countries - the USA, Canada, Great Britain - specialists in machine learning and data scientists also lead in salaries. In France, the highest paid specialist is a tester, and in the USA and Canada this is the lowest paid position. In Germany and India, embedded systems developers have the highest salaries, and in the UK such specialists are at the bottom.

Dependence of salary on work experience . There is a direct dependence on work experience and receiving the highest possible salary. For example, specialists related to Big Data must have 7-8 years of experience, a web developer - 7 years, a graphic designer - 6 years. The maximum work experience expected from DevOps specialists is 9-10 years.

The situation with programming languages ​​is a little different. Programmers with language skills above the blue line earn more, even with little experience. Programmers with languages ​​under the blue line earn less, even with many years of experience. This is due to the total number of programmers using the language. Go, Rust or Hack languages ​​are in demand, but there are few developers for them. This creates a shortage of specialists and leads to competition between employers. Visually, the number of developers in each language is shown using the size of the circle.

Distant work . 44 thousand programmers took part in the study on remote work. Russia has become the absolute leader in the number of specialists working remotely permanently. In second place is Brazil. Together they account for almost 40% of all respondents surveyed.

The large number is due to the lower standard of living than in other countries and the vast territory. The low level forces people to look for places of work with better conditions, and large territories make it difficult to move. In the case of Russians, a work visa is still required to move and work full-time in another country. Usually, obtaining it causes certain difficulties, so Russian programmers often work remotely.

Not everyone can work remotely. The most common specialists in remote work are graphic designers and graphics developers.

Overview of the labor market in the IT sector in Russia

The IT labor market grew less than last year. For comparison, analytics for last year are presented in the material “ " Labor market statistics in Russia are compiled based on statistics from the HeadHunter portal, which has been conducting a research project since 2016 hh Index .

Dynamics of vacancies . The number of vacancies for IT specialists decreased almost throughout the first half of 2017. The growth in vacancies began only in June and reached 31% by the end of the year compared to the same period in 2016.

For comparison, the overall increase in all vacancies in the first half of the year was generally negative, but by the end of the year it was +28%.

Increase in vacancies not homogeneous across industries. In 2017, the demand for civil servants, workers and security officers doubled. IT jobs are at the bottom of the list: +31%. Less accountants, HR people, advertisers, teachers and sales people are required than programmers.

Employers are looking for salespeople most of all - 34% of vacancies from the total number of all posted vacancies on the HeadHunter portal. In second place are IT specialists: 12% of all vacancies.

Dynamics of resume. The number of resumes of IT specialists practically did not increase in the first half of the year: +1-2% compared to the previous year. There was a significant increase in July and August, but decreased by mid-autumn. In percentage terms, the increase in the number of resumes is almost four times less than the number of vacancies, 8% versus 31%. This means that new vacancies are opened more often than new applicants enter the market.

The total number of resumes for other vacancies increases and decreases in the same way as for IT specialties.

At the end of 2017, the share of resumes of IT specialists in the total number of applicants was only 5%. Most of all, the HeadHunter applicant bank contains current resumes for jobs without experience and sales.

Competition between applicants. The HeadHunter portal monthly calculates the hh-index, which shows the ratio of the number of open vacancies to the number of active resumes or the number of applicants per vacancy. In IT there are usually from two to 3.5 applicants for each vacancy. For comparison, in general, for all vacancies this figure is 5.5-8.5, i.e. 2-3 times higher.

If we compare by industry, 1.3 candidates apply for one vacancy in insurance, 2 in medicine, 4.1 in real estate, and 7.6 in accounting. For every vacant lawyer position there are 9.5 candidates, for the civil service - 10.3 and for every top manager position - 12.5 applicants.

There are 2.9 applicants for one IT vacancy in Russia.

Statistics by city. The increase in employers and job seekers is not uniform across cities. In Moscow, the number of vacancies increased by 23%, the number of resumes remained the same. The situation is the same in Samara: only the number of vacancies has increased by 28%. Of the cities reviewed, only in Kazan and Omsk the number of applicants is growing much faster than employer offers.

The field of “Information technology and the Internet” is famous for its high salaries: from 150,000 rubles. to infinity. This is the level of remuneration for highly qualified specialists and managers. But across the industry, wages are generally higher for all types of specialists.

The highest average salary in the IT sector in Moscow is 83,500 rubles. It is followed by St. Petersburg - 66,700 rubles, Novosibirsk - 62,800 rubles. and Yekaterinburg - 56,000 rubles. In other cities it is approximately equal and ranges from 43,100 rubles. (Krasnoyarsk) up to 51,800 rub. (Nizhny Novgorod).

The number of people per vacancy varies greatly. The largest number of applicants are in Moscow, Ufa and Krasnoyarsk. The fewest are in Novosibirsk and Yekaterinburg, 2 and 1.9 people, respectively. The less competition among candidates, the higher salaries companies offer. Therefore, the salary in these cities is at the level of St. Petersburg: Novosibirsk - 62,800 rubles, Yekaterinburg - 56,000 rubles. In cities with higher competition, salaries are lower: Krasnoyarsk - 3.2 people per place and salary - 43,100 rubles, Ufa - 3.3 people per place and salary - 44,100 rubles.

Portrait of the applicant The average for Russia is as follows:

    man (81%);

    work experience - 3-6 years (26%).

Salaries in IT always high compared to other sectors of the economy. The SuperJob portal generates the SJI salary index, which shows changes by month.

Overview of vacancies for the Junior position in Russia

Vacancies. Without work experience, 1,800 specialists are required for vacancies in the field of programming and web development. Geographically, the most vacancies are located in Moscow - 18.1% and St. Petersburg - 9.1%.

The majority of vacancies involve full-time work in the employer's office. Only 4% of vacancies offer remote work, 11% offer flexible hours. Less than 1% offer internships. The average salary is 40,500 rubles.

Applicants are expected to have a good knowledge of theory, a desire to learn and work in a team. Practical skills are often not necessary, but if you have them they will be an added advantage.

Applicants. At the end of 2017, 4,100 applicants applied for the junior position. All have up to one year of experience. Thus, the number of applicants per resume is 3 people.

Typical portrait of a candidate:

    man (89%);

    age is 18-30 years (86%);

    knowledge of English (93%).

The main share of candidates live in Moscow and the region - 35.4% and St. Petersburg - 16.7%.

Every third candidate would like to work remotely. But 81% are willing to work full-time in an office.

Applicants' skills overlap. Most candidates know HTML (24%). JavaScript and CSS know 20% each. The smallest number is among junior C programmers - only 6%.

Salary expectations . US students expect a salary of more than $33 thousand per year at their first job. Junior specialists with less than a year of work experience also expect the same salary. If we translate the annual salary in the USA at the current exchange rate, the salary level will be 160 thousand rubles per month. In Russia, senior-level specialists receive this salary.

Salary expectations for potential juniors in Russia are much more modest. The expected average salary is RUB 38,600. It is even 5% lower than employers are willing to offer. Moreover, only 7% of applicants expect a salary of 50,000 rubles. and higher.

Results

    Popular programming languages ​​according to TIOBE rating: Java, C, C++, Python and C#, according to PYPL rating: Java, Python, JavaScript, PHP and C#. According to the Stack Overflow survey, favorites: Rust, SmallTalk, TypeScript, Swift and Go, and desired in work: Python, JavaScript, Go, C# and Java. In three ratings, the three leaders coincide: Java, Python, C#.

    In 2017, the outsiders are Assembler, Perl and Visual Basic. Their positions decreased over the year by four, four and six points, respectively. They are also among the top 10 programming languages ​​that are “horrible” to work with, according to Stack Overflow research. According to PYPL ratings, interest in learning Perl has declined significantly over the past 10 years. The world is also losing interest in learning PHP and C++.

    According to a Stack Overflow study, 83% of programmers work full-time, while only 10.2% are completely freelance. Most work in medium-sized organizations (from 20 to 100 people). Only 13% are actively looking for work. Every fourth person does not want to move to a new place at all. The leaders in remote work are Russia and Brazil, 22% and 17% of all respondents, respectively.

    The highest salaries now go to specialists working in DevOps and Big DATA. Highly paid specializations vary by country: in the USA and Canada, in the UK - DevOps and Big DATA, in France - tester, in Germany and India - embedded systems developer.

    The ability to receive the highest salary depends on work experience. Each specialization has its own experience. However, in programming languages ​​the situation is different. Developers working on young and in-demand programming languages ​​receive higher salaries, regardless of experience. Developers in old, well-known languages, even with many years of experience, will receive less. This is due to competition among monolingual programmers.

    The growth of IT vacancies in Russia began in the second half of this year and is now +31% more than vacancies in November 2016. There was a significant increase in the number of resumes of IT candidates in July and August and decreased by mid-autumn. Now it is +8% compared to 2016. The overall increase in the number of resumes is four times less than the increase in vacancies. This means that more vacancies are being opened than specialists are being released to the market. The total number of resumes of IT specialists in the total volume is only 5%.

    Competition among applicants is low - 2.9 people for each open vacancy. The highest competition in Russia is in Moscow, Ufa and Krasnoyarsk: in two cities - 3.3, and in the last - 3.2. The lowest competition is in Novosibirsk - 2 candidates and Yekaterinburg - 1.9.

    The average salary in the IT sector in Russia is 58,900 rubles. The highest is in Moscow - 83,500, the lowest in Voronezh - 40,900 rubles. The salary level depends on the competition among applicants. The higher it is, the lower the average salary.

    At the end of 2017, the ratio of the number of applicants to the number of vacancies for the junior position was 3 to 1. The overwhelming number of vacancies awaits specialists to work in the office (85%). 18% of vacancies are located in Moscow, 9% in St. Petersburg. The average salary for junior is 40,500 rubles.

    There are 4,100 active resumes with up to a year of work experience. 35% of applicants live in Moscow and the region, 16% live in St. Petersburg. Every fourth applicant speaks HTML, CSS and JavaScript. Junior applicants for Python - 8%, C - 6%, Java, PHP, C# - 12% each. The average expected salary is RUB 38,600.