Сеньоров не хватает, или Статистика зарплат 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. Подписывайтесь на Телеграмм-канал, чтобы следить за новыми статьями и вакансиями. Проверить все данные из статьи можете в боте, который берет всю информацию из открытых источников.

    Комментарии 30

      +2
      Хотел во-первых бы спросить, про чём тут география?
      Если все на удалёнке?

      Во-вторых, для тех, кто уже работал с американцами/европейцами напрямую, там немного всё по-другому. Уровень ЗП совсем не тот.

      >JavaScript-разработчики, слово вам. Насколько данные совпадают с вашей реальностью? Ждем ваше мнение в комментариях.

      Больше, однозначно.
      (минимум 30$/h с нормальным языком, great verbal communications, huge work experience, для Senior).

      ЯП тут любой, можно пообщаться на тему PHP или С++.
      Depends on a experience.
        0
        $30/h это 360к₽ в месяц до налогов. Дальше можно спорить, тот уровень или не тот для синьоров.
        +2
        Зарплаты до налогов или после?
          +2
          Сеньоров не хватает
          Не хватает Senior'ов за определённую зарплату, а не просто Senior'ов.
          При таком "голоде" компании ещё и выбирают подешевле и получше. Отсюда и висят вакансии не подходящие под условия.
            –3

            Захожу в такие статьи погрустить о том, сколько мне наверное платили бы, если бы у меня ещё оставался запал что-то изучать и искать другую работу. Чувствую, что скоро будет 10 лет, как у меня будет продолжпть оставаться среднеджуниорская зарплата, зато без стрессов от смены работы и без перенапряжений от авралов.
            Но вдруг нигде нет авралов, я ж не проверял. Чем дальше, тем сложнее вернуть актуальность знаний, чтобы на что-то претендовать, банально нет моральных сил на это. Приходится портить статистику показателями из разряда "10 лет опыта, зарплата 40 тыщ".


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

              +3
              Нет ничего хуже для айтишника чем пристроится на одно место, не развиваться и потихоньку деградировать. Скорее всего вы не ту профессию выбрали для себя.
                0
                Я не прямо совсем не развиваюсь, ES6 я давно освоил, хотя не всё из него применяю, изменения в свежих ecmascript потихоньку посматриваю, чтобы начать применять, когда браузеры начнут нормально поддерживать (otional chaining вот жду, хотя можно и с babel, конечно), тот же хабр каждый день листаю. Но на радикально новые для меня технологии сил уже нет. То есть, освоить реакт просто на энтузиазме я, пожалуй, не смогу. Банально, потому что через месяц уже всё забуду, зачем зря тратить силы? Если на работе проведут обучение/ликбез/отправят на обучение, то это я с радостью, потому что это наверное будет не зря.
                А другой профессии у меня и нет. Я жертва стереотипного российского образования. По диплому инженер, а по факту — прослушал все лекции, но не познал дао, и на завод меня совсем не тянет, даже если я буду уверен, что смогу обучиться уже на месте.
                0
                А интересно, минусы за то, что я это написал, или за то, что высказал какой-то не тот подход? Если первое, то понятно, а если второй, то что было, то и высказал, я ж не соврал.
                  0
                  Это Хабр, тут принято минусовать по поводу и без
                  0

                  Вам явно надо выбрать что-то другое для себя

                    0
                    Таксист/официант/бариста? Потому что на квалифицированную работу в другой области у меня нет знаний.
                    А вдруг работодатель однажды решит, что пора платить среднерыночную зарплату. Иначе конкуренция же. С другой стороны, у нас есть новые работники, значит их устраивает. Жаль, мы не знаем их зарплат. Но всегда могут объяснить, что просто их уровень выше.
                  0
                  то джунам самим приходится конкурировать
                  Только это не потому что джунов много, а потому что вакансий мало. Для примера можно посмотреть Хабровскую же «Карьеру». Вакансий — 2522, из них джуны и стажёры суммарно 149, всего около 6%.
                  Вроде и ресурс где постоянно обсуждается важность выращивания кадров, а всё равно всем подавай минимум мидла.
                    0
                    Ищу в Казани на позицию джуна, ни разу не встречал вакансию ниже мидла.
                      0
                      Я frontend разработчиком уже год работу ищу, знаю и работал react, redux, typescript, styled-components, material ui. Наверное что-то не так со статистикой.

                        0

                        На скольки собеседованиях были и что не устроило?

                          0
                          Больше половины откликов на вакансии без ответа, я могу работать только удаленно, часть оферов требовало иногда появляться в офисе. Часть оферов после выполненного тз отвечали отказом через месяц ожидания фидбека. Часть собеседований была с целью снизить зарплату как можно ниже меньше 20к это смешно.(искали самого дешевого)
                          Ну вакансии яндекс практикум, html academy и хекслет тоже были оферы, быть преподавателем курсов за 12к это ни в какие ворота не лезет.
                            0

                            Я не совсем понял из сообщения какая ожидаемая ЗП? 20K? Разве сейчас такие зарплаты есть? Вроде бы совсем джуны от 40 начинаются или вы не в рублях назвали?

                              0
                              Где? в России от 40к совсем джун? очень смешно, в половине регионов за 40к уже мидла ищут. А в яндекс практикум, html academy и хекслет действительно платят копейки
                              Я рассчитывал на зарплату от 80к
                                0
                                Или в регионах совсем все плохо или вы что-то не то делаете\знаете. Просто я знаю много примеров как люди меняя профессию на программиста за пол года выходили на 60 тыс с нуля. И большинство потом шли дальше. 40 просили только люди вообще без опыта т.е. из серии «вам еще и учить меня придется с нуля».
                          0
                          Или с кадровиками.
                            0
                            Вы точно что-то не так делаете. Если вы действительно все это знаете, то HR вас просто спамить вакансиями должны. Может, вы резюме неудачно написали?
                              0
                              Вы точно что-то не так делаете.
                              Например, живёте не в Москве или Питере :)
                                0
                                Так и есть, каждую неделю новые предложения, но в некоторых нужно хорошие знания английского, а в других отказ из-за отсутствия гражданства или отсутствия ИП
                                  0
                                  А сколько вам лет примерно, если не секрет? А то некоторые фирмы по возрасту, бывает, дискриминируют.
                                    0
                                    30 лет
                                      0
                                      Вроде, норм. Не должно быть проблем.
                              +1
                              В реальности 60% вакансий мы вам перезвоним, часто даже резюме не читают, по остальным вакансиям могут отказать если живешь в другом городе.
                              У меня на позицию frontend developer (react), за этот год были такие причины отказа на hh ру:
                              — Вы не затипизировали (typescript) яндекс карты в тестовом задании
                              — У вас верстка не mobile-first (в тз простой блок карточки товаров 3 блока шириной 260px)
                              — У вас не адаптивная верстка, ну да она у меня responsive
                              — Оформите ИП, работу обещаем но не иногда
                              Вакансии где требуется знание и опыт работы с малоизвестными и сложными библиотеками для работы с текстом, аудио, видео, сложными графиками, схемами (не chart js), нет опыта — отказ.
                              Ну и количество вакансий где нужен не программист а менеджер со знанием английского разговорного, чтоб брать заказы с зарубежных фриланс бирж не счесть
                                +1
                                Лично мне показалась самой ценной картинка с медианными зарплатами, показывает рыночную ценность разных стеков в моменте, такую штуку делать ежемесячно было бы полезно.
                                Но не понятно — кто такой фулстек на картинке с медианами?
                                  0
                                  За месяц мало что меняется, на хабре за полугодие публикуют.
                                  0
                                  И делить вакансии по регионам уже не совсем имеет смысл в связи с удаленкой.
                                  А вот зарплатные ожидания кандидатов по регионам — полезная информация.
                                  Количество вакансий по стекам в дополнение к медианам зарплат — тоже интересный, полезный показатель.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое