Как все было. Сначала список языков — логико-интуитивно собрал n языков, убрал штуки вида TypeScript, React, CSS и проч. Мысленно готов к холивару по теме отсутствия Cobol`a или ещё чего (при составлении списка что-то мог упустить, а что-то пропустить).
Assembler
C
C#
C++
Clojure
CoffeeScript
Cuda
Delphi
Erlang
Fortran
Golang
Groovy
Haskell
Java
JavaScript
Kotlin
Lisp
Lua
Matlab
Objective-C
OpenGL
Pascal
Perl
PHP
PL/SQL
Prolog
Python
R
Ruby
Rust
Scala
Solidity
SQL
Swift
Visual Basic
Visual Basic.NET
1. Когда название языка встречается в любом месте вакансии, будь то описание, название или требования. Пример вакансии:
Название: Java-разработчик
Описание: … приветствуем знание скриптовых языков, например, Python …
Такая вакансия будет учтена в статистике и по Java, и по Python.
2. Когда название языка встречается только в названии вакансии. Это означает, что вакансия из примера выше будет учтена только в статистике по Java. Всё это нужно для того, чтобы примерно отделить core subj от сопутствующих навыков и получше понять, что к чему на рынке).
В случае с такими языками, как например, 1С или Assembly, искал названия языка вместе со словами developer or engineer или синонимы.
Ещё несколько важных ремарок:
- период: первое полугодие 2018 (01.01.2018 – 30.06.2018),
- сравнивал с аналогичным периодом в 2017 году,
- искал по всей России без привязки к городам,
- архивные и скрытые вакансии и резюме учтены.
Топ-20 языков по количеству вакансий (упоминание в любом пункте вакансии)
Как писал выше — в количестве вакансий по JavaScript могут учитываться вакансии с названиями вида «Python-разработчик», если JS где-то в теле таких вакансий упомянут. JS и SQL в статистике ниже абсолютные лидеры, т. к. их чаще прочих указывают в дополнение с пометкой «плюсом будет». Кстати, языки здесь не все из списка — например, Solidity: новая штука для блокчена и смартконтрактов, только 160 вакансий в первом полугодии 2018 (ниже будут зарплаты, там будет статистика по нему).
Топ-20 языков по количеству вакансий (упоминание в названии)
Конечно, у нас нет правила «если ищете разработчика на Java — в названии так и пишите», поэтому нельзя сказать, что здесь всё (т. е. вакансий с названием вида «Senior backend developer» в этой статистике нет вообще). Итого: PHP лидер (специфика отечественного рынка?), Java следом (рынок труда в Java описан здесь.
Изменение количества вакансий по отношению к предыдущему году
Соотношения количества вакансий из первого графика (где искался язык по всей вакансии) к первому полугодию 2017 года (аналогичный период, тот же алгоритм поиска). Оказалось, что спрос на знающих в котлине вырос в 7 раз, а то ли ещё будет.
Топ-20 языков по количеству резюме (упоминание в любом пункте резюме)
Важно: резюме != человек, т. к. у всех есть возможность создавать несколько резюме в рамках одного соискателя. Тем не менее, около 100к соискателей знают SQL (хорошо), ещё столько же знают 1С (учтены только те, кто называют себя программистами). Любопытный пример: на две тысячи вакансий с golang приходится восемь тысяч разработчиков.
Топ-20 языков программирования по количеству резюме (упоминание в названии резюме)
Теперь только те резюме, где язык указан в названии. 1С снова лидер, SQL только восьмой (чаще всего основным не является, что можно сказать также про vb, R и, возможно, JS). PHP не лидер (не любят писать о нем в названии резюме, видимо).
Зарплаты по убыванию
Дальше две таблицы. При всей нелюбви к таблицам, иного способа показать зарплаты не вижу. Итак, предлагаемые (из вакансий) — без скобок, и ожидаемые (из резюме) в скобках. Значения в тысячах рублей, медианные. Отсортированы по убыванию предлагаемых. Scala, Solidity и Haskell абсолютные лидеры по предлагаемым зп. У clojure в Петербурге и у fortran везде указано “Н/Д” — это значит, что тридцати вакансий (минимум для анализа) с указанной зарплатой по ним не нашлось в 2018 году.
Доля вакансий и резюме в России
Здесь интересно. Показана доля от общего количества — например, на Москву приходится 41% от общего количества вакансий в Java и 39% резюме (в скобках). Также отсортированы по убыванию доли Москвы.
На этом всё. Вопросы приветствуются. Спасибо!
Комментарии (74)
kir_rik
01.08.2018 10:27Статистика по названиям вакансий едва ли корректна. Чем менее популярен язык критически необходимый для вакансии, тем больше шансов что его назовут. И наоборот, кто будет писать что им нужен javascript разработчик?
Nkvlk Автор
01.08.2018 11:12Определённо есть корреляция дефицита разработчиков по языку и частотность упоминаний в названии, но 1) все-таки указывают JS в названии — 2907; 2) считалось по названиям, т.к. есть случаи, когда тот же JS упоминается, как плюс, поэтому хотелось выделить вакансии, где он основной.
qpwoei
01.08.2018 15:10+1есть дефицит специалистов а не разработчиков — первых очень мало, вторых очень много.
У нас на позицию Spark + Scala искали людей которые просто умеют думать мозгами (ЗП от 180 тыс руб в эквиваленте) с инструментами мы их сами прокачали за 2 недели до уровня проектной необходимости.
Режим прокачивания — показать пальцем как это делается, что бы потратил не 20 минут, а 2 минуты.
na9ort
01.08.2018 10:48+1У меня есть вопросы по последней таблице.
Что это за «интересная» выборка?
Смотрим по Москве:
Java — 41%
JavaScript — 35%
Python — 53%
PL/SQL — 53%
Я как разработчик, пишущий на PL/SQL, не могу согласиться с этими цифрами. Я неделю назад ради интереса сравнил количество вакансий Java/Python с вакансиями PL/SQL. В первом случае вакансий 2-3 тысячи, во втором 2-3 сотни. Такое соотношения вакансий не только в Москве, но и в Питере, и даже за рубежом. Тут даже не надо идти на специализированные ресурсы по поиску работы, чтобы понять, что программисты на Java/Python явно более востребованы, чем программисты на PL/SQL.
В общем странные цифры.Bukvva
01.08.2018 10:52Это разбивка по регионам, а не по языкам.
Сумма строки = 100 %Nkvlk Автор
01.08.2018 10:57Верно. В последней таблице не сравнивается количество вакансий по языкам. Показано, какой % составляет сущность (Москва / СПб / Россия без Москвы и Петербурга) от общего количества вакансий.
na9ort
01.08.2018 10:59Оу, меня и смутило, что в столбце не получается 100% процентов.
Не заметил. Прощу прощения.
JobberNet
01.08.2018 12:04Это потому что популярная вакансия «Java + PL/SQL», идёт в статистике как вакансия по PL/SQL, хотя это фактически вакансия по Java.
nikitasius
01.08.2018 14:41Я как-то был на такой. В довесок получил корппортал, так как текущий админ ушел через 2 недели после моего прихода к ним.
Я был молод и легко соглашался на такие глупости..
exehoo
01.08.2018 11:02+1Учитывались ли в статистике дубликаты вакансий? Есть одна фирма, которой требуется 1 чел на текущую поддержку, но в хедхантере регулярно обновляются три их почти идентичных объявления. Есть много фирм, которые дублируют одно объявление на все более-менее крупные города при поиске одного-двух спецов на удаленке или согласных на переезд. Есть фирмы, чьи объявления дублируются кадровыми агентствами.
И, к слову, есть объявления вида «набираем сразу 10 человек»Nkvlk Автор
01.08.2018 12:09Хороший вопрос. Дубликаты попали в статистику как отдельные вакансии. Это погрешность, но в разрезе выборки эффект не критичный.
Про 10 человек — да, бывает и такое. Но оба примера чаще относятся к массовым позициям.
werklop
01.08.2018 11:05Забавные цифры в последней таблице: Мск и регионы — сплошной дефицит резюме по сравнению с вакансиями, в Питере же с точностью до наоборот(за исключением Kotlin и C#). Если я правильно понимаю, то получается, что в Питере фактически переполнение рынка разработчиков
exehoo
01.08.2018 17:05У крупных работодателей достаточно часто встречается политика сбора кандидатов «про запас». Т.е. фактически часть публикуемых вакансий не предполагает прием на работу в ближайшее время. При этом даже штатная единица может быть свободна на случай, если случайно подвернется гуру за 3 копейки. Это как в резюме «неспешно подыскиваю...».
werklop
01.08.2018 17:07«неспешно подыскиваю...» — благодарю за новую для меня фразу, теперь я знаю, как отвечать на предложения соответствующего характера)
ghosthope
01.08.2018 11:08Сколько не мониторю вакансии по JS, есть существенно количество вакансий где JS так же далек от обязанностей как Земля от Альфа-Центавры. В таких вакансиях чаще всего JS упоминается по принципу — «пусть будет», что в конечном итоге засоряет список интересующих вакансий. Увы. :(
UJIb9I4AnJIbIrUH
01.08.2018 12:20Звезда (на самом деле не совсем звезда) называется не Альфа-Центавра, это звезда в созвездии, которое называется Центавр, которой присвоили порядковое обозначение «альфа». Следующая будет Бета Центавра, ну и так далее. Тут можно меня очень сильно поправлять, так как в целом я не астроном.
P.S. Прошу простить моё космическое занудство.Neikist
01.08.2018 12:27И я маленько позанудствую — то что вы написали никак не делает исходный комментарий неверным) У нас есть земля, есть некий объект который именуется «Альфа Центавра», и идет сравнение с расстоянием между этими объектами. Главное что «Альфа Центавра» позволяет однозначно этот объект идентифицировать, а суть его не важна)
UJIb9I4AnJIbIrUH
01.08.2018 12:30Нет, безусловно, к самому посылу нет никаких вопросов и все понимают, что имеется в виду, да и я не айтишник, при всём желании не смог бы возразить, даже если бы там было что-то. Это просто занудная поправочка а-ля «ракетоноситель» и «кВт/ч».
UJIb9I4AnJIbIrUH
01.08.2018 13:03+8Просто родительный падеж от «Альфа Центавра» по идее будет не «Альфа Центавры», а «Альфы Центавра». Да, все всё поняли, но, по идее, так правильно.
Neikist
01.08.2018 11:48Интересно, количество вакансий считалось по всем или только тем у кого есть какой то опыт? Пока по ощущениям явный профицит программистов, хотя вроде как в реальности наоборот.
Nkvlk Автор
01.08.2018 12:15Количество резюме? Опыт не учитывался при подсчете, доверяем :). В реальности действительно дефицит, есть несколько факторов:
— одно резюме может быть в статистике по нескольким языкам
— резюме больше, чем реальных людей
— учтены все резюме (в т.ч. скрытые)Neikist
01.08.2018 12:16Да, количество резюме. Интересно сколько людей из этой выборки ищут свою первую работу.
Nkvlk Автор
01.08.2018 13:08Посчитал: от общего числа резюме с JS в первом полугодии 2018 резюме с пометкой «без опыта» составляют 11%.
Neikist
01.08.2018 13:19+1На удивление мало, учитывая постоянные возмущения нехваткой кадров и засильем новичков при недостатке специалистов + тренд «вайтивайти» казалось должно быть больше.
DarthVictor
01.08.2018 15:06Без опыта вообще или без опыта на JS?
Nkvlk Автор
01.08.2018 15:12К сожалению, опыт на JS оперативно посчитать не смогу.
11% — это те резюме, в которых соискатели указали «Нет опыта» в пункте «Опыт». Это относится ко всему резюме.
Т.е. возможно разработчик на JS с 5 со стажем в пять лет решил стать бухгалтером и в резюме бухгалтера указал, что опыта не имеет.
Polaris99
01.08.2018 13:47+2Не все программисты, находящиеся в поиске, являются нетрудоустроенными. Так что если они найдут новую должность, количество вакансий не уменьшится.
b0tanic
01.08.2018 11:50Для начала хотелось бы поблагодарить за проделанную работу.
При расчете медианы зарплат, как учитывались вакансии, в которых не указаны значения.
Допустим берем 1000 вакансий, в 300 из них "Н/Д".
Avg = (Sum / 1000) или (Sum / 700)?
В связи с этим следующий вопрос. Это число "1000" одинаково для всех языков?
Например, взяли 1000 вакансий Java и 1000 вакансий JS, в итоговый подсчет вошло 700 и 900 соответственно.
Java: Avg = (Sum / 700) и JS: Avg = (Sum / 900)
или
Java: Avg = (Sum / 700) и JS: Avg = (Sum / 700)?Nkvlk Автор
01.08.2018 12:26Расчет медианы только по вакансиям, где зарплата указана. Медиана соответствует центральному значению ранжированного ряда.
По вашим предположениям:
Рассчитывая среднее берём все вакансии по запросу с указанной зп и делим на количество вакансий. Если в вакансии указано «от n до z» считаем считаем среднее интервала и получившееся значение учитываем при расчете среднего по выборке.
tangro
01.08.2018 12:10Получилось что получилось.
Нарисовать КДПВ у вас не получилось. Размеры кружочков не соответствуют ни одному рейтингу.mapron
01.08.2018 16:28Я вообще пост из-за КДПВ и открыл, если честно, т.к. не увидел «С++» на кружочках, «неужели?» :)
Nkvlk Автор
01.08.2018 12:32Рад, что КДПВ сработала. Наблюдение верное — делал не пузырьками в excel, а фигурами в powerpoint. Размеры кружочков отдаленно соответствуют первому графику.
arcman
01.08.2018 13:26+3Что то я не понял — С\С++ везде есть кроме итоговых кружочков. Как так?
В тоже время Perl в кружочках есть, хотя везде уступает С++.
Или первая картинка с кружками — это просто КДПВ не имеющая отношения к статье?Nkvlk Автор
01.08.2018 13:41Это просто КДПВ, всё основное в графиках и таблицах.
Впредь буду соблюдать достоверность везде, т.к. уже второй такой комментарий)
klim76
01.08.2018 13:38Как мне кажется уже давно пора для вакансий вводить обязательную для заполнения графу «навыки»(так же как и для резюме ужа давно сделано). Сделать 1-2 основных навыка и до 5 вспомогательных — это улучшит и поиск и аналитику.
Nkvlk Автор
01.08.2018 13:45Нормализованные навыки есть в вакансиях, но к заполнению необязательны. Не принуждаем, но хотим сделать заполненные навыки в вакансиях хорошим тоном.
SopaXT
01.08.2018 15:30-1Solidity
Лопнет это всё скоро, ИМХО — как в своё время dot-com.
Ну не может же эта хрень быть так востребована…PsyHaSTe
01.08.2018 17:43Люди и так страдают, дайте им хотя бы денег…
Сам пишу в том числе и на Solidity, это действительно возможно единственное утешение.
JekaMas
01.08.2018 18:52Лопнет. А технологии останутся и на пепелище начнут расти предприятия с продуктом.
Так было и с доткомами. Почти все большие и крутые it родились после того кризиса.
Если история повторится, то это будет хорошо.SopaXT
03.08.2018 10:22А вот тут я хочу отметить, что в отличие от интернета, блокчейн™ не особо выделяется перед другими решениями.
Вот, например (англ.): davidgerard.co.uk/blockchain/2018/04/05/debunking-but-bitcoin-is-like-the-early-internet.JekaMas
03.08.2018 12:50Причем здесь Интернет? Или вы как-то умудрились связать кризис доткомов и интернет? Пока не понятно и трудно что-то сказать на неясное рассуждение.
Про технологии. Ну отличные ВУЗы уже больше внимания распределенным технологиям уделили: Беркли например. И это хорошо и это останется у обученных студентов вне зависимости от кризисов.
Ну и главное, блокчейн это с одной стороны частные деньги, а с другой не только и не столько про деньги, сколько про распределенные технологии. И первое и второе свою полезность давно доказали.
Но лучше перевести разговор в более формальный с тезисами и их подкремлением. Не хочется оставаться на уровне форумов и "слышал звон, да не знаю где он".
avraam_linkoln
01.08.2018 15:36Автор не подумал о таком варианте что js это больше фронт-энд, чем что то другое, и чаще всего ищут именно фронтэндщиков, так что в названии вакансии js может не упоминаться, но в 2018 году это 100% в первую очередь js, а не только верстка, так что если бы автор искал по слову frontend, то может біло бі вакансий больше чем по php и java вместе взятым
Nkvlk Автор
01.08.2018 15:43Отчасти верно, но смысл как раз-таки в том, чтобы точно посчитать спрос на JS (речь о статистике из названий вакансий). Вариант с поиском по 'Frontend' не подходит по причине того, что в выборку все-таки могут попасть css и html без упоминания о JS.
avraam_linkoln
01.08.2018 17:06Такая вероятность крайне мала. Так же встречаются вакансии типа Angular developer или Magento developer, что тоже следовало бы посчитать
Nkvlk Автор
01.08.2018 17:211. Кол-во вакансий с frontend developer в названии 6167 в России в первом полугодии 2018. Медианная зп 85 000.
2. Не вижу смысла добавлять в статистику фреймворки (angular).
3. Magento тоже здесь не к месту. Написан на php.avraam_linkoln
02.08.2018 13:483. Magento тоже здесь не к месту. Написан на php. — прикол в том что слов php или javascript может не быть в названии вакансии а быть просто angular или Magento. И тогда такие вакансии проходят мимо статистики
trigun117
01.08.2018 15:40+2Любопытный пример: на две тысячи вакансий с golang приходится восемь тысяч разработчиков.
восемь тысяч разработчиков скорее всего получилось потому что Go суют в дополнительные языки в резюме, вместе с HTML, SQL и т.д.
Vantela
01.08.2018 17:40ABAP вообще отсутствует?
Ну-ну.Nkvlk Автор
01.08.2018 18:36Да, его нет. Расскажу здесь:
Всего вакансий с упоминанием ABAP в России в первом полугодии 2018: 1402 (Москва — 760).
Медианная предлагаемая зарплата: 110к (Москва — 180).
Всего резюме за тот же период в России: 2516 (Москва — 1452).
Медианная ожидаемая зарплата: 150к (Москва — 180).
Cheater
01.08.2018 18:55Интересно смотреть расхождения между ожидаемой и реальной зп.
Питерские хаскелисты скромняшки такие.
firedragon
01.08.2018 23:49Мне с большим трудом представляется «чистый специалист»
C# sql git
C sql sh
php sql html
Логичней делить на core skill, hard skill, soft skill and pa3noe
yushkevichv
02.08.2018 00:44А в выборке 1с точно слово «Битрикс» в его вариациях исключается? А то подозрительно часто встречается. Нет ли тут подвоха.
antarx
02.08.2018 04:16Отлично посчитано! Только Go чаще так и пишут, а не golang. Например, по IT+Москва 300 против 160 вакансий (мусор в первом списке в рамках погрешности).
khdavid
02.08.2018 08:24В первой картинке нету шарика для C++. А в сводной таблице он достаточно высоко стоит.
Nookie-Grey
02.08.2018 14:50CoffeeScript, вы серьёзно?
А учитывались фреймворки? Например React разработчик — это JS.
pyJIoH
03.08.2018 12:19Насчет популярности JS, пересматриваю кучу Sr. Java Developer вакансий и почти везде или nice to have или must have: JavaScript (Angular, React etc.)
PTM
Ужас… Москва и Питер в среднем сосредоточили более 50% предложений для программистов.
Vlad_IT
По сумме зарплат более 80%.