Сеньоров не хватает, или Статистика зарплат JavaScript-разработчиков
У Headz есть Телеграм-бот Headz Analytics. Он мониторит зарплаты в IT-отрасли по 12 крупнейшим городам России. Мы собрали статистику за 2020 год, чтобы детально изучить, как обстоят дела у JavaScript-разработчиков: проанализировали данные по уровню зарплат от джуниоров до сеньоров в нескольких городах. Для большей достоверности посмотрели другие источники — исследования Яндекса и Хабр Карьеры, чтобы получить некую общую картину. И вот что получилось.
Кадровый голод — это не миф
В среднем по рынку разработки ПО ситуация с резюме и вакансиями обстоит так: в открытом доступе мы нашли 16 387 вакантных мест, на которые претендует 65 577 соискателей. Средний конкурс — 4 человека на место.
При этом JavaScript-разработчиков не хватает. На 1 716 рабочих мест претендует только 914 кандидатов. Получается, что две компании борются за одного человека в штат. Похожие цифры показывает и исследование HH совместно с Яндекс.Практимум (материал 2019 года по данным 2016–2018).
Примечание. Ссылка на исходное исследование Яндекса.
В данных Яндекса конкурс (отношение вакансий к резюме) находится в коридоре от 0,45 до 0,59. Это совпадает с нашими результатами — 0,53 или 914 резюме на 1716 вакансий.
Для сравнения статистика по рынку IT в целом.
Вернемся к JavaScript-разработчикам и рассмотрим подробнее. Больше всего ищут работу миддлы и джуниоры (436 и 384 соответственно). А вот сеньоры, похоже, трудоустроены: их число от общего количества соискателей — всего 10%. Возможно, что хороших сеньоров передают «из рук в руки» — они не успевают дойти со своим резюме до платформ с вакансиями?
Распределение резюме в зависимости от уровня.
Но если у сеньоров конкурс практически отсутствует, и компании стараются, чтобы заполучить специалиста, то джунам самим приходится конкурировать. В среднем это 1,7 человека на вакансию:
Так выглядит конкурс. Цифры по горизонтали — количество резюме на вакансию.
Что до городов, здесь без сюрпризов: больше всего ищут работу в Москве и Санкт-Петербурге — конкурс 0,66 и 0,64. Меньше всего соискателей в Рязани — 3 резюме, и в Томске, где на 7 резюме 45 вакансий в открытых источниках.
Распределение резюме по городам.
В Казани на 59 вакансий приходится 41 резюме.
Конкурс по городам. Самый низкий — в Сибири.
Больше всего вакансий и резюме ожидаемо в Москве, но и здесь конкурса нет: 0,66 человек на одно место.
Вакансии и резюме в Москве наглядно.
Посмотрим распределение уровней по некоторым городам из 914 резюме, что мы нашли в открытом доступе.
Примечание. В списках ниже не все города, чтобы не захламлять статью.
Сеньоры:
больше всего в Москве — 52 резюме;
в других городах число резюме падает в разы: в Санкт-Петербурге 20, в Уфе — 6, а в Красноярске — 4;
в Казани и Воронеже всего по одному резюме;
а в Томске и Рязани они отсутствуют.
Миддлы:
опять же, больше резюме в Москве — 180;
в Санкт-Петербурге 134;
в других городах уже кратно меньше: в Казани 19, в Нижнем Новгороде 12, а в Томске — 2;
в Рязани ни одного резюме.
Джуниоры:
больше всего в столицах: в Москве 214, в Санкт-Петербурге — 121;
в Казани и Новосибирске по 21 резюме;
меньше всего в Рязани — 3 резюме.
Средние зарплаты, медианные и коридоры
Среднее предложение зарплаты для JavaScript-разработчика по нашим данным — 110 000 рублей в месяц. Похожие цифры показывает и исследование HH и Яндекса (ссылки выше) — у них получилась цифра 114 900 рублей.
Для сравнения: исследование Хабр.Карьеры показывает среднюю зарплату по рынку — 113 313 рублей в месяц, а медианную — 100 000 рублей. В целом, все цифры похожи.
По данным агентства GetIT в Москве вилка зарплат по джунам 80–140 000 (в зависимости от уровня), у миддлов 160–220 000, сеньоров 240–320 000. В Санкт-Петербурге цифры примерно на 15–20 000 меньше.
Но средние цифры не всегда правдивы, поэтому рассмотрим также медианы и коридоры зарплат.
Скрин медианных зарплат с исследования Яндекса
Сравним наши данные и исследования Яндекса.
Предложения для джуниоров такие.
По нашим данным начинающим JavaScript-разработчикам предлагают оплату труда от 30 000 до 85 000.
По данным Яндекса медианное предложение — 60 000 рублей.
Мидлы.
По нашим данным предлагают оплату труда от 67 000 до 110 000.
По данным Яндекса — медианное предложение 150 000 рублей (взяли данные по специалистам с опытом 4–6 лет, но поправьте в комментариях, если следовало взять другой диапазон).
Для сеньоров разрыв в данных существеннее.
По нашим данным сеньорам предлагают от 108 000 до 160 000.
Яндекс говорит, что медианное предложение — 218 000 рублей.
По данным из открытых источников зарплатные ожидания заметно расходятся с реальностью. На графике видно, как пожелания превышают предложение.
График отображающий зарплатные ожидания и предложения на разных уровнях. Справа — с каким цветом соотносится каждый параметр. Красным цветом выделили максимальные зарплатные ожидания: ярче всего они выделяются у сеньоров.
Расшифруем, что на графике:
джуны хотят от 19 000 до 38 000;
мидлы от 78 000 до 126 000;
сеньоры — 144–222 000.
Самая большая разница у сеньоров — по верхней планке достигает 62 000. Но выделяются и джуны: то ли из-за высокой конкуренции, то ли из-за неуверенности в себе они готовы работать за меньшие деньги, чем предлагают работодатели.
Но если наложить данные Яндекса, что рассмотрели выше, на наши, то появляется интересный вывод, что у сеньоров нет завышенных ожиданий, они просто хотят столько, сколько им предлагает рынок. Второй вывод — Яндекс берет данные не из открытых источников, поэтому цифры отличаются.
Примечание. В целом, не во всех вакансиях указывают зарплату, при этом на рынке принято торговаться, и мы не всегда можем узнать реальные зарплаты из открытых источников. Ситуация похожа на рынок недвижимости — мы смотрим на объявления о продаже квартир (которые могут висеть месяцами) и думаем, что это и есть цены «в рынке». Но если эти квартиры не покупаются, значит их цена чем-то не устраивает. При этом мы не знаем на какие цены договаривались продавцы и покупатели тех квартир, что проданы. Поэтому представление о рынке по висящим объявлениям о продаже не совсем точное. Также и с вакансиями, цифры условны, как из открытых источников, так и из других. Рассматривая несколько источников мы пытаемся создать некое приближенное к реальности представление.
Зарплатные ожидания по городам
Зарплатные ожидания и реалии разнятся от города к городу. Самые амбициозные разработчики живут в Казани: их ожидания могут достигать 330 000 рублей в месяц, в то время как самая высокооплачиваемая вакансия в городе предполагает зарплату в 166 000.
Зарплатные ожидания в зависимости от города
В Москве минимальные ожидания предложения начинаются от 49 000, а ожидания от 277 000.
В Санкт-Петербурге коридор ожиданий 44–259 000, а предложения 47–189 000.
В Воронеже и Самаре минимальные предложения в открытой базе — по 30 000 рублей. Но даже с такой зарплатой ожидания все равно ниже — по 27 000 и 24 000.
Интересно, что в Воронеже максимальное ожидание превышает московское — 286 000.
В Самаре максимальные ожидания и предложения почти совпадают — по 168 000 и 161 000.
Меньше всего хотят в Екатеринбурге и Рязани — по 19 000 и 20 000. Хотя разработчикам могут платить в два раза больше — по 44 000 и 40 000 соответственно.
Предложения для разработчиков: максимум, минимум и в среднем по рынку.
Например, предлагаемая средняя зарплата выше всего в Москве — это 138 000 рублей. Ближе к этому значению Санкт-Петербург и Казань — 122 000 и 116 000. Самая маленькая средняя в Нижнем Новгороде — 67 700. Близко к нему Рязань и Воронеж — по 79 000 и 93 000.
Выводы
Компаниям явно не хватает JavaScript-разработчиков, особенно, миддлов.
Зарплаты этих специалистов не отличаются от средней ситуации на IT-рынке.
Не всегда ради высокой зарплаты нужно ехать в столицу: Казань наглядно это иллюстрирует.
Статистика из одного источника не точна, поэтому мы используем несколько.
JavaScript-разработчики, слово вам. Насколько данные совпадают с вашей реальностью? Ждем ваше мнение в комментариях.
Также можно почитать наши материалы о статистике зарплат в IT, например, «Цифры в IT за зиму 2019–2020», а подобрать работу — на headz.io. Подписывайтесь на Телеграмм-канал, чтобы следить за новыми статьями и вакансиями. Проверить все данные из статьи можете в боте, который берет всю информацию из открытых источников.