Востребованность и доходность языков программирования: изучаем белорусский рынок

Спор о том, какой язык программирования лучше, длится, пожалуй, столько, сколько эти самые языки существуют. Приверженец каждого языка приведет вам множество аргументов — порой весьма убедительных — указывающих на то, что данный язык является самым лучшим (мощным, быстрым, удобным, простым, распространенным). И спор этот не утихает.

Данный холивар является благодатной почвой для всякого рода рейтингов языков программирования. Исследователи ранжируют современные языки программирования по популярности, легкости в освоении, доходности и другим качествам. При этом используются самые разнообразные методики: кто-то подсчитывает суммарное количество строк кода, написанных на том или ином языке, кто-то анализирует поисковые запросы для выяснения популярности языка

Попробуем и мы внести свою лепту в составление рейтингов языков программирования. Для этого изучим белорусский рынок труда и выясним, какие языки программирования являются наиболее востребованными у работодателей и какие приносят наибольший доход программисту.

Этот обзор может быть полезен тем молодым людям, которые пока только выбирают профессию и присматриваются к сфере информационных технологий. Возможно, что-то полезное для себя почерпнут и бывалые программисты, которые возможно хотят сменить язык программирования или расширить свой профессиональный кругозор и приобрести новые навыки.

Чтобы выяснить востребованность конкретного языка, изучим как часто он встречается в вакансиях минских компаний на некоторых наиболее популярных веб-ресурсах для поиска работы. Кроме того, обратим внимание и на зарплату, которую предлагают работодатели специалистам по различным языкам программирования. Опираться будем на список языков, которые входят в ТОП-20 языков программирования по версии авторитетного рейтинга TIOBE.

Все данные по белорусскому рынку труда приводятся по состоянию на 30 марта 2015 года.

Самые востребованные

Для изучения были взяты сайты jobs.tut.by, praca.by и rabota.by. Рассматривались и некоторые другие сайты, где работодатели размещают свои вакансии, но количество вакансий там невелико и по многим из рассматриваемых языков программирования вакансий попросту не находилось. Поэтому и было решено остановиться на этих трех сайтах.

После подсчета вакансий "нарисовалась" следующая картина (таблица 1).

Таблица 1

Количество упоминаний языков программирования
в вакансиях компаний г. Минска.

Место в рейтинге

Язык

Место в рейтинге TIOBE

Количество упоминаний в вакансиях на сайтах:

Общее количество упоминаний

jobs.tut.by

praca.by

rabota.by

1

JavaScript

7

237

18

43

298

2

SQL

14

227

18

49

294

3

Java

2

153

6

15

174

4

PHP

6

111

19

39

169

5

C

1

97

12

32

141

6

.NET

9

111

10

6

127

7

C#

5

82

4

22

108

8

C++

4

69

8

15

92

9

Python

8

62

0

12

74

10

Ruby

18

34

6

13

53

11

Objective-C

3

21

0

12

33

12

PL/SQL

17

28

1

0

29

13

Perl

12

20

1

3

24

14

Delphi/Object Pascal

13

7

1

2

10

15

ABAP

16

8

0

0

8

16

MATLAB

19

3

2

2

7

17

Visual Basic

10

6

0

0

6

18

F#

11

0

0

0

0

19

Pascal

15

0

0

0

0

20

R

20

0

0

0

0

Для большей наглядности эти же данные представлены в виде диаграммы (рисунок 1).

Рисунок 1. Распределение вакансий по упоминаниям языков программирования.

Самые высокооплачиваемые

Любопытно узнать, как много готовы платить работодатели кандидатам со знанием тех или иных языков программирования. Для этого были проанализированы существующие вакансии на предмет предлагаемой заработной платы. Для этого были определены самые низкие и самые высокие предлагаемые ставки заработной платы по всем рассматриваемым сайтам, а затем рассчитано среднее арифметическое этих значений. Метод, возможно, и не самый правильный, но дающий общее представление о положении дел.

Зарплаты, указанные в иностранной валюте, переведены в белорусские рубли по текущему курсу Национального Банка Республики Беларусь. Результаты — в таблице 2.

Таблица 2

Средняя зарплата, предлагаемая кандидатам
со знанием языков программирования

Место в рейтинге

Язык

Место в рейтинге TIOBE

Количес-
тво ва-
кансий

Минимальная предлагаемая зарплата

Максимальная предлагаемая зарплата

Среднее значение зарплаты

1

C++

4

92

 6 000 000 Br

 73 600 000 Br

 39 800 000 Br

2

C

1

141

 4 000 000 Br

 73 600 000 Br

 38 800 000 Br

3

Objective-C

3

33

 11 776 000 Br

 51 520 000 Br

 31 648 000 Br

4

Java

2

174

 8 832 000 Br

 51 520 000 Br

 30 176 000 Br

5

JavaScript

7

298

 6 500 000 Br

 51 520 000 Br

 29 010 000 Br

6

SQL

14

294

 5 000 000 Br

 44 160 000 Br

 24 580 000 Br

7

.NET

9

127

 4 000 000 Br

 44 160 000 Br

 24 080 000 Br

8

Ruby

18

53

 5 888 000 Br

 41 216 000 Br

 23 552 000 Br

9

C#

5

108

 7 360 000 Br

 36 800 000 Br

 22 080 000 Br

10

Python

8

74

 14 720 000 Br

 29 440 000 Br

 22 080 000 Br

11

PHP

6

169

 4 416 000 Br

 30 000 000 Br

 17 208 000 Br

12

Delphi/Object Pascal

13

10

 11 776 000 Br

 22 080 000 Br

 16 928 000 Br

13

Perl

12

24

 8 600 000 Br

 22 080 000 Br

 15 340 000 Br

14

PL/SQL

17

29

 6 000 000 Br

 6 000 000 Br

 6 000 000 Br

15

Visual Basic

10

6

 0 Br

 0 Br

 0 Br

16

F#

11

0

 0 Br

 0 Br

 0 Br

17

Pascal

15

0

 0 Br

 0 Br

 0 Br

18

ABAP

16

8

 0 Br

 0 Br

 0 Br

19

MATLAB

19

7

 0 Br

 0 Br

 0 Br

20

R

20

0

 0 Br

 0 Br

 0 Br

Далеко не все работодатели указывают в объявлениях уровень заработной платы на конкретной должности. Отсюда и нули в таблице.

Кроме того, нужно понимать, что при небольшом количестве исследуемых вакансий возрастает погрешность в расчетах, так как в этом случае одна вакансия с очень высокой или очень низкой зарплатой может существенно изменить картину. Например, по аутсайдеру данной таблицы — языку PL/SQL была найдена только одна вакансия с указанием зарплаты, все остальные работодатели предпочли о зарплате умолчать. Итог — эта зарплата стала и минимальной и максимальной для данного языка, и, очевидно, не совсем точно отражает реальное положение вещей.

Более-менее реальную картину можно увидеть только по тем языкам, на которые существует высокий спрос и соответственно имеется большой объем данных для анализа. Поэтому для справки здесь приведено общее количество вакансий, соответствующих каждому языку, чтобы можно было понять, насколько данные о зарплате адекватны.

Приведем эти же данные в виде диаграммы (нулевые значения на ней опущены). См. рис. 2.

Рисунок 2. Распределение средней зарплаты по языкам программирования

Пояснения и рассуждения

Приведенный выше анализ (а скорее — беглый взгляд на ситуацию) не стоит воспринимать как догму, так как в ходе исследования могли возникнуть определенные неточности. В частности, имелись сложности с поиском по вакансиям языка C (Си) — не все поисковики на сайтах хотели выдавать адекватную информацию, норовя подсунуть вместо знания языка «С» требование владеть пакетом «1С». Приходилось просматривать результаты поиска и вручную отбрасывать ненужные. Тем не менее, этот анализ дает довольно корректное представление о белорусском рынке IT-профессий.

Кроме того, нужно отметить, что работодателю, как правило, нужны работники, которые не столько владеют конкретным языком программирования, сколько определенными фреймворками, технологиями, приложениями и т.п. Отсюда вытекает тот факт, что в вакансиях иногда вообще не упоминаются языки программирования. В то же время язык программирования является базой для фреймворков, технологий, приложений и т.п., и без его изучения нельзя научиться работать с названными инструментами.

Еще одно наблюдение. Наличие большого числа вакансий, скажем, для владеющих языком PHP, вовсе не означает, что такому соискателю будет легко найти работу. Ведь, несмотря на высокий спрос на PHP-специалистов, существует и высокое предложение таковых. Проще говоря, если вы являетесь разработчиком со знанием языка PHP, то вас ждет высокая конкуренция при трудоустройстве, несмотря на большое количество вакансий.

Экономическая теория учит, что любой рынок (в том числе и рынок труда) стремится к равновесному состоянию — когда спрос и предложение совпадают. Поэтому сферический рынок труда в вакууме со временем должен выровняться и спрос должен совпасть с предложением. Теоретически, со временем спрос и предложение по каждому из языков программирования должны будут совпадать.

Но на IT-рынке все сложнее. Здесь все меняется настолько быстро, что предсказать положение дел на ближайшие несколько лет практически невозможно. Появляются и исчезают новые языки программирования, технологии, задачи. В начале двухтысячных чуть ли не поголовно все писали на Delphi. Ну и где сейчас этот Delphi? На 13-й строчке рейтинга с 10-ю упоминаниями в вакансиях. Это я веду к тому, что выбирая язык для изучения нужно быть готовым к тому, что через некоторое количество лет он окажется невостребованным и придется снова садиться за учебники. Впрочем, те, кто работает в сфере IT, и так знают, что себя (а точнее свои знания) нужно держать в тонусе.

В свете этого привлекательно выглядят такие языки программирования как С и С++. Эти долгожители и сейчас держат марку как по доходности, так и по востребованности (во всяком случае не плетутся в хвосте).

А еще при выборе языка программирования стоит прислушиваться к себе, то есть изучать тот язык, который больше по вкусу и на котором вам нравится писать. А работа обязательно найдется!

Дмитрий Макарский

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя mike

Не сбивай с толку. Turbo Professionаl (TP) -- это торговый атрибут Борланда. И существовал он в разных ипостасях. В начале 90-ых это был пакет из ТурбоСи и ТурбоПаскаля. Можно было покупать по частям. Работал под DOS. Никаких VCL с оконными контролами тогда не было. Хотя и была библиотека модулей, упрощающих программирование. Именно это и имел в виду leo3. :))) Потом после выпуска Делфи и Билдера появился еще один TP. Уже с VCL.

И что интересно, мои софтины под ДОС для 286-ой машины с самодельной БД работали на 286 практически так же быстро, как на 2-х-ядернике с 7-кой и Firebird'ом. Но без удобств. :)

Аватар пользователя savely

А... Да, я-то вообще про Turbo Vision, оказывается... 

И, поскольку я до сих пор юзаю Object Professional от TurboPower (потихоньку-помаленьку портированный на DOS32 (FPC) и WIN32/64 (Delphi/FPC, без visual-компонентов)), у меня все Turbo/Object в кучу свалились. 

А Delphi у меня 5.0. Для моих задач в Win32 хватает, Win64 - Free Pascal.

Да, 64 бита появились в XE3 (да?), но слишком поздно для меня. Ну, и отлаживаться именно с 64-битами мне как-то не приходилось. Т.е. отлаживаешь 32-битную версию DLL в стареньком Delphi, собираешь компилятором FreePascal 64-битную из тех же исходников - она работает. 

А GUI я не пишу. 

Аватар пользователя mike

Делфи никогда не юзал. Мосх засох на "плюсах".

Считаю, что авторский подход "доходность" не верен. Доход приносит опыт. Нет его, и нет дохода. Поэтому самый доходный язык -- тот, которым уверенно владеешь. Под многие языки разработаны кучи библиотек и трюков. Владение ими -- это необходимое условие доходности. Никто сейчас не пишет софт на голом языке, как школота.

Аватар пользователя savely

Делфи никогда не юзал.

Я уже писал где-то, что Pascal/Object Pascal у меня родной, а C/C++ типа иностранный на уровне родного. Ну, и знание архитектуры и ассемблера позволяет не сильно утыкаться в конкретный ЯВУ. Но нативные C-шники по стилю всегда видят, что я "пасквилянт".

Но "на скорость не влияет", как говорится.

Главное, переключаться с "=" и "==" в if. И массивы с 0 нумеровать. И еще что-то, забыл.

Но немного - там правил 5-7 всего (из того, что не ловит компилятор на синтаксисе) при переключении/портировании с Pascal на С или наоборот :)))

> Никто сейчас не пишет софт на голом языке, как школота

:))) У тебя сбито понятие "школота", IMHO.

Если ты имеешь в виду школьников - так и напиши. А "школота" - IMHO, не они. 

Аватар пользователя mike

У тебя сбито понятие "школота", IMHO.

Не думаю. ИМХО это неофиты, которые лазят по Инету и пописывают об узнанном, пытаясь крутость показать.

Главное, переключаться с "=" и "==" в if. И массивы с 0 нумеровать. ... Там правил 5-7 всего

Не упрощай, а то кое-кто так и подумает.

Аватар пользователя Petro45

SQL -- язык, но не программирования.

Вот так иногда и проскакивает невежество в каких-то вопросах. Чего категоричничать-то и не читать первые две буквы? PL/SQL — язык программирования, процедурное расширение языка SQL, разработанное корпорацией Oracle. Базируется на Ада.

Не упрощай, а то кое-кто так и подумает.

Очередная фигня. Кому это ворчание нахрен упало? Всё одно объекты так не сравнить, нужен метод. В Java это переопределенный equals.

ИМХО это неофиты, которые лазят по Инету и пописывают об узнанном, пытаясь крутость показать.

Снова бессмысленное вечернее ворчание. Болит что-ли что-то? Дмитрий нормально пишет на Паскале. Человек  толковый. Но по профессии угадайте кто? Вот и написал то, что ему интересно. 

Аватар пользователя mike

Проскакивает невежество в каких-то вопросах. ...  PL/SQL — язык программирования

Я о SQL. См. табл. в статье. И не обзывайтесь.

Очередная фигня [упрощение].

Нет. В Obj Pascal нет нек. вещей кот. есть в С/С++. Напр., мне удалось втиснуть в компактфлэш контроллера на порядок больше инфы за счёт битовых полей в юнионах.

Дмитрий нормально пишет на Паскале.

И что? Подавляющее большинство задач Паскаль решает.

Кстати, вы в своей статье "Магия программирования" для какого языка привели примеры с классами?

Аватар пользователя leo3

Очень просто. Когда в Дельфи приложение проектируется путем перетягивания кнопок на форму -это лёгкий вариант.

:) Жутко забавная логика:) Ок, тогда, получается Дельфи шаг назад от ТП 7, в котором чтоб открыть пустое окошко нужно было страницу тупейшего описательного кода нафигулить:) Визуальные системы программирования - закономерный всеобщий переход к графическому интерфейсу... Ну глупо же руками выписывать многостраничным кодом типовые элементы:) ТП 7 - была последняя попытка архаичными средствами войти в новый мир...

Аватар пользователя leo3

Паскаль, вообще говоря, создавался Виртом как язык для обучения программированию и язык записи алгоритмов. Он рождался в эпоху функционального программирования и со своими функциями успешно справлялся. Как язык разработки он был особо популярен, по-моему, только в СССР. Хотя ничего плохого в этом языке нет. Нормальный универсальный язык программирования... судя по всему еще живой.

Аватар пользователя leo3

И кто будет программировать квазихаотические процессы, гиперупорядоченные программисты?:-)

:) Неймановские компьютеры на самом деле - это очень примитивные дискретные автоматы. справедливости ради, конечно, необходимо сказать, что они изменили лицо планеты, но они лишь первый шаг в создании машин - органопроекций мозга. Машины будущего уже не нужно и нельзя будет программировать. Они будут состоять из огромного количества взаимодействующих элементов, не будут неймановскими и буду обучаться сами. Человек будет только задавать некоторые начальные условия взаимодействия в их сетевых структурах. Это уже будет не программа, а что-то типа свода законов или правил. И то, наверное лишь на начальных этапах... в дальнейшем машины будут эволюционировать сами и их институции будут подвергаться квазидарвиновскому отбору. Я кое-что из своих мыслей уже передал в КВ:) Не знаю, правда, Вадим опубликует или нет:)...

Страницы