Прошлые статьи с цифрами нашли положительный отклик среди читателей, поэтому — на этот раз нечто совершенно иное — ещё один статистический сборник: рынок труда в Java, цифры из вакансий, резюме и заработные платы. Сам наш hh.ru в большей части написан на ней — уже ~15 лет мы следим за всей экосистемой Java и за динамикой джавистов на рынке.
Под катом — сравнение Java с совокупным рынком, реальные/предлагаемые/ожидаемые зарплаты, конкуренция и общие тренды. 21 график, время чтения — примерно 7 минут.
![](https://habrastorage.org/r/w780q1/webt/k3/3x/ia/k33xiaujowyauhx6xnh-hpxghtq.jpeg)
Считали только те вакансии, в названии которых нашлась Java в сочетании с developer/разработчик/tech и так далее. Количество вакансий считается по дате публикации, i.e. вакансии, опубликованные в январе и дожившие до n числа февраля, попадают в статистику только по январю.
Помимо количества, в статистике по вакансиям есть ещё одна глобальная сущность — зарплаты. Не в каждой вакансии они есть. Существующих данных по зарплатам более чем достаточно для построения статистики, но отсутствие их в значительной части вакансий всё-таки влияет на объективность данных, как и факт существования отношений на рынке труда вне hh.ru. Далее по порядку.
Ниже — динамика вакансий для джавистов за последние 4 полных года, базис — 2013 год. Скачок 2016-го, в частности по Москве, быть может связан с посткризисным ростом. Санкционный год внёс некоторую смуту в поставки ПО из-за рубежа, отчасти стимулировал импортозамещение, ещё больше стимулировал экспорт и заставил посмотреть в сторону цифровизации ради экономии некоторые ранее далёкие от неё компании. Это касается не только Java, а в целом всей ИТ-отрасли, которая значительно опередила совокупный рынок весной 2016-го по росту кол-ва вакансий.
![](https://habrastorage.org/r/w1560/webt/h6/dg/kp/h6dgkprxdjp16tk_vwar4aam31a.png)
Только города-миллионники. Мы взяли все вакансии в стране за прошлый год и посчитали долю каждого города — почти половина всех вакансий пришлась на Москву. Нынешняя ситуация по доле вакансий для города, ключевые навыки из резюме и проч. в открытом доступе в расширенном поиске , если нужно.
![](https://habrastorage.org/r/w1560/webt/l8/gq/4m/l8gq4ms7lpqpzusevdvcuzhsiku.png)
Опять же миллионники, весь 2017 год. Работает так: в Новосибирске всего за год разместили 1000 вакансий (для продавцов/парикмахеров/почтальонов и т. д.), из этой тысячи — 16 вакансий для джавистов. Во всей России на Java-разработчиков приходится 5 вакансий из 1000. Для сравнения: официант — 17 вакансий на каждую 1000 всех вакансий в стране.
![](https://habrastorage.org/r/w1560/webt/ri/zh/od/rizhod9agew3neb2bndm9gf4yjs.png)
Учитывая специфику hh.ru, распределение не претендует на объективность относительно ситуации в России: в базе сервиса 84% всех вакансий для джавистов — фултайм. Однако, интересный факт — средняя зарплата в вакансиях разного типа: полный день — 114 424, гибкий график — 110 081, удалённая работа — 115 485. В рублях. Вся Россия.
![](https://habrastorage.org/r/w1560/webt/u5/vf/rp/u5vfrpriw-hkv4ty-xzdp1ecptm.png)
Требуемый опыт по всей России — почти половина работодателей хочет видеть джавистов с релевантным опытом от 6 лет. Вероятнее всего, на практике вопросы опыта решаются case-by-case не в годах, а составители вакансий используют дефолтные промежутки для фильтрации junior / middle / senior. Здесь уже данные по 2018 году.
![](https://habrastorage.org/r/w1560/webt/7p/qi/ka/7pqika4xkaefwvt-xb-5aweddx0.png)
Те самые цифры, которые не во всех вакансиях есть. Принять диапазоны опыта за привычные junior/middle — получается хорошо и понятно. Ниже в статье будут зарплаты по уровням, которые посчитаны иначе и чуть лучше отражают ситуацию конкретно для крупных компаний. Что такое квартили — коротко.
![](https://habrastorage.org/r/w1560/webt/7m/k3/54/7mk354cness6zxbcensphsovo9o.png)
Было время, средняя зарплата джавистов в Петербурге была выше, чем в Москве. С того же 2016 года (см. динамику вакансий) вместе с количеством вакансий стали расти и зарплаты, почти стабильно вверх до настоящего момента.
![](https://habrastorage.org/r/w1560/webt/im/7i/y1/im7iy1zah6hp-sxl8afk4hfasl8.png)
Здесь сравнение средних зарплат по вообще всем вакансиям в регионе с зарплатами в вакансиях джавистов. Показательное: в 2017 году в России средняя предлагаемая зп — 45к в среднем по рынку, в Java — в 2,5 раза больше.
![](https://habrastorage.org/r/w1560/webt/wo/a-/li/woa-li-phpuczdiwa2qlcc2idaa.png)
Есть у hh.ru проект (не пиара ради, а пользы для — кликать стоит, только если хотите глянуть демо или рассматриваете для компании), суть его — компании предоставляют фактические зарплаты своих работников, в общей выборке зарплаты обезличиваются. Сами компании привязываются к отрасли, региону и кол-ву сотрудников, типу капитала и т. д. Зарплаты привязываются к профессиям и уровню позиции. На выходе участник проекта видит, какие компании в отрасли уже предоставили данные, выбирает регион, специализацию и профессиональную область — в итоге получается отчет с общим значением зарплат по выборке.
Ниже — скриншоты банка по Java-разработчику в Москве, 4 шт. по уровням.
Медианная зарплата у Java-тимлида в Москве — 183к. Любопытна дельта диапазона фактических зарплат с ожиданиями из резюме и предложениями из вакансий. Сами диапазоны — интерквартильный размах . Уточню, зарплатные ожидания — это цифры, которые указывают соискатели, зарплатные предложения — это цифры из вакансий, а фактические зарплаты — это данные банка.
![](https://habrastorage.org/r/w1560/webt/yp/i9/sn/ypi9snkcv0cmc4toncn3hsjwbme.png)
У «сеньоров» медианные значения фактических зарплат всё-таки ниже предложений и ожиданий.
![](https://habrastorage.org/r/w1560/webt/24/eb/c8/24ebc8uhp7jzavbi7cguocg-ksy.png)
Если вы мидл в Москве на Java — это примерно соточка. Больше — лучше.
![](https://habrastorage.org/r/w1560/webt/di/-v/rj/di-vrjm2uvwlxpgksz3jx8imvts.png)
Фикс для джуна в Москве — 34к рублей, или средняя зарплата в Волгограде.
![](https://habrastorage.org/r/w1560/webt/dm/te/nw/dmtenwnkpxhmu4ftux1-jg1efjm.png)
По резюме данных совсем немного, тем не менее. Метод фильтрации тот же, что и у вакансий, — названия и ключевые навыки с упоминанием Java/Java dev и проч.
Половина всех джавистов — в возрасте 26-35 лет. Как и в случае с зарплатой в вакансиях, возраст можно не афишировать, но в данном случае влияние отсутствующих данных о возрасте на объективность — вопрос спорный.
![](https://habrastorage.org/r/w1560/webt/ub/_x/t1/ub_xt1sqcwicdmn6mnt5ilonadc.png)
Не самая показательная статистика. Учитывается весь опыт, вне зависимости от того, Java или не Java, разработка или не разработка.
![](https://habrastorage.org/r/w1560/webt/co/0y/7q/co0y7qolmvh1waxzjwqrlo7am1w.png)
Всё-таки без базовых знаний совсем тяжко, английский — он ведь к обязательным ключевым навыкам, вне зависимости от стека, туда же к Google-searcher — advanced.
![](https://habrastorage.org/r/w1560/webt/dw/fi/_8/dwfi_8zvrab3oft7sm-vnfgcp3m.png)
hh.индекс показывает конкуренцию — соотношение количества активных резюме и вакансий. Чем выше, тем неприятнее для соискателей. В среднем в России по совокупному рынку hh.индекс равен 7. То есть в стране на одну вакансию приходится 7 соискателей на общем рынке труда, а на одну вакансию Java-разработчика приходится чуть больше одного Java-разработчика.
![](https://habrastorage.org/r/w1560/webt/pm/ps/jz/pmpsjzo4p4bo7gs1p_ftwdn0-ru.png)
Ниже — всё, что не относится к категоризации выше или конкретно к Java, но имеет место.
Здесь учтены все резюме, где last_change_time с 2010 года, любые из языков программирования есть в названии, либо в key_skills.
![](https://habrastorage.org/r/w1560/webt/o3/a2/ok/o3a2ok_fywmku0l0m_etrcfdkdg.png)
Соотношение количества запросов в соискательском поиске в прошлом году к позапрошлому. Блокчейн на слуху, конечно.
![](https://habrastorage.org/r/w1560/webt/vn/f-/mw/vnf-mwk3bjoqkgiskg2ru_4jn2a.png)
Здесь мы взяли количество всех запросов к поиску от авторизованных соискателей, в резюме которых есть ключи разработка/разработчик/developer и т. д., и посчитали отношение к количеству запросов по ключам ниже.
![](https://habrastorage.org/r/w1560/webt/jg/-q/rm/jg-qrmuxs4p6ewmum52rvvcsdt4.png)
Здесь показано, насколько доля скила в возрастной группе отличается от той же самой доли в оставшейся выборке. Ну, практически. Подробнее про интерпретацию odds ratio.
![](https://habrastorage.org/r/w1560/webt/fc/bp/on/fcbponhvgsmtidersnjtguofcd0.png)
То же самое, что и выше, только в группировке по опыту работы.
![](https://habrastorage.org/r/w1560/webt/tz/an/n6/tzann6zxhu69yum8gvjjia9sxqa.png)
На этом всё. Данные, приведённые в статье, мы с sovushkasolnce собрали ещё к Jpoint 2018. Спустя месяц очнулись и сделали пост.
Комментарии приветствуются. Спасибо!
Под катом — сравнение Java с совокупным рынком, реальные/предлагаемые/ожидаемые зарплаты, конкуренция и общие тренды. 21 график, время чтения — примерно 7 минут.
![](https://habrastorage.org/webt/k3/3x/ia/k33xiaujowyauhx6xnh-hpxghtq.jpeg)
Вакансии
Считали только те вакансии, в названии которых нашлась Java в сочетании с developer/разработчик/tech и так далее. Количество вакансий считается по дате публикации, i.e. вакансии, опубликованные в январе и дожившие до n числа февраля, попадают в статистику только по январю.
Помимо количества, в статистике по вакансиям есть ещё одна глобальная сущность — зарплаты. Не в каждой вакансии они есть. Существующих данных по зарплатам более чем достаточно для построения статистики, но отсутствие их в значительной части вакансий всё-таки влияет на объективность данных, как и факт существования отношений на рынке труда вне hh.ru. Далее по порядку.
Как менялось количество вакансий для Java-разработчиков с 2013 года
Ниже — динамика вакансий для джавистов за последние 4 полных года, базис — 2013 год. Скачок 2016-го, в частности по Москве, быть может связан с посткризисным ростом. Санкционный год внёс некоторую смуту в поставки ПО из-за рубежа, отчасти стимулировал импортозамещение, ещё больше стимулировал экспорт и заставил посмотреть в сторону цифровизации ради экономии некоторые ранее далёкие от неё компании. Это касается не только Java, а в целом всей ИТ-отрасли, которая значительно опередила совокупный рынок весной 2016-го по росту кол-ва вакансий.
![](https://habrastorage.org/webt/h6/dg/kp/h6dgkprxdjp16tk_vwar4aam31a.png)
В каких городах чаще искали Java-разработчиков в 2017 году
Только города-миллионники. Мы взяли все вакансии в стране за прошлый год и посчитали долю каждого города — почти половина всех вакансий пришлась на Москву. Нынешняя ситуация по доле вакансий для города, ключевые навыки из резюме и проч. в открытом доступе в расширенном поиске , если нужно.
![](https://habrastorage.org/webt/l8/gq/4m/l8gq4ms7lpqpzusevdvcuzhsiku.png)
Доля вакансий для Java-разработчиков от общего числа вакансий по регионам
Опять же миллионники, весь 2017 год. Работает так: в Новосибирске всего за год разместили 1000 вакансий (для продавцов/парикмахеров/почтальонов и т. д.), из этой тысячи — 16 вакансий для джавистов. Во всей России на Java-разработчиков приходится 5 вакансий из 1000. Для сравнения: официант — 17 вакансий на каждую 1000 всех вакансий в стране.
![](https://habrastorage.org/webt/ri/zh/od/rizhod9agew3neb2bndm9gf4yjs.png)
Доля вакансий по типу занятости
Учитывая специфику hh.ru, распределение не претендует на объективность относительно ситуации в России: в базе сервиса 84% всех вакансий для джавистов — фултайм. Однако, интересный факт — средняя зарплата в вакансиях разного типа: полный день — 114 424, гибкий график — 110 081, удалённая работа — 115 485. В рублях. Вся Россия.
![](https://habrastorage.org/webt/u5/vf/rp/u5vfrpriw-hkv4ty-xzdp1ecptm.png)
Распределение количества вакансий по требуемому опыту работы
Требуемый опыт по всей России — почти половина работодателей хочет видеть джавистов с релевантным опытом от 6 лет. Вероятнее всего, на практике вопросы опыта решаются case-by-case не в годах, а составители вакансий используют дефолтные промежутки для фильтрации junior / middle / senior. Здесь уже данные по 2018 году.
![](https://habrastorage.org/webt/7p/qi/ka/7pqika4xkaefwvt-xb-5aweddx0.png)
Заработные платы в зависимости от опыта работы
Те самые цифры, которые не во всех вакансиях есть. Принять диапазоны опыта за привычные junior/middle — получается хорошо и понятно. Ниже в статье будут зарплаты по уровням, которые посчитаны иначе и чуть лучше отражают ситуацию конкретно для крупных компаний. Что такое квартили — коротко.
![](https://habrastorage.org/webt/7m/k3/54/7mk354cness6zxbcensphsovo9o.png)
Динамика заработных плат в вакансиях Java-разработчиков
Было время, средняя зарплата джавистов в Петербурге была выше, чем в Москве. С того же 2016 года (см. динамику вакансий) вместе с количеством вакансий стали расти и зарплаты, почти стабильно вверх до настоящего момента.
![](https://habrastorage.org/webt/im/7i/y1/im7iy1zah6hp-sxl8afk4hfasl8.png)
Предлагаемые заработные платы в городах-миллионниках
Здесь сравнение средних зарплат по вообще всем вакансиям в регионе с зарплатами в вакансиях джавистов. Показательное: в 2017 году в России средняя предлагаемая зп — 45к в среднем по рынку, в Java — в 2,5 раза больше.
![](https://habrastorage.org/webt/wo/a-/li/woa-li-phpuczdiwa2qlcc2idaa.png)
Банк данных заработных плат
Есть у hh.ru проект (не пиара ради, а пользы для — кликать стоит, только если хотите глянуть демо или рассматриваете для компании), суть его — компании предоставляют фактические зарплаты своих работников, в общей выборке зарплаты обезличиваются. Сами компании привязываются к отрасли, региону и кол-ву сотрудников, типу капитала и т. д. Зарплаты привязываются к профессиям и уровню позиции. На выходе участник проекта видит, какие компании в отрасли уже предоставили данные, выбирает регион, специализацию и профессиональную область — в итоге получается отчет с общим значением зарплат по выборке.
Ниже — скриншоты банка по Java-разработчику в Москве, 4 шт. по уровням.
Team leader
Медианная зарплата у Java-тимлида в Москве — 183к. Любопытна дельта диапазона фактических зарплат с ожиданиями из резюме и предложениями из вакансий. Сами диапазоны — интерквартильный размах . Уточню, зарплатные ожидания — это цифры, которые указывают соискатели, зарплатные предложения — это цифры из вакансий, а фактические зарплаты — это данные банка.
![](https://habrastorage.org/webt/yp/i9/sn/ypi9snkcv0cmc4toncn3hsjwbme.png)
Senior
У «сеньоров» медианные значения фактических зарплат всё-таки ниже предложений и ожиданий.
![](https://habrastorage.org/webt/24/eb/c8/24ebc8uhp7jzavbi7cguocg-ksy.png)
Middle
Если вы мидл в Москве на Java — это примерно соточка. Больше — лучше.
![](https://habrastorage.org/webt/di/-v/rj/di-vrjm2uvwlxpgksz3jx8imvts.png)
Junior
Фикс для джуна в Москве — 34к рублей, или средняя зарплата в Волгограде.
![](https://habrastorage.org/webt/dm/te/nw/dmtenwnkpxhmu4ftux1-jg1efjm.png)
Резюме
По резюме данных совсем немного, тем не менее. Метод фильтрации тот же, что и у вакансий, — названия и ключевые навыки с упоминанием Java/Java dev и проч.
Распределение резюме по возрасту
Половина всех джавистов — в возрасте 26-35 лет. Как и в случае с зарплатой в вакансиях, возраст можно не афишировать, но в данном случае влияние отсутствующих данных о возрасте на объективность — вопрос спорный.
![](https://habrastorage.org/webt/ub/_x/t1/ub_xt1sqcwicdmn6mnt5ilonadc.png)
Распределение резюме по опыту работы
Не самая показательная статистика. Учитывается весь опыт, вне зависимости от того, Java или не Java, разработка или не разработка.
![](https://habrastorage.org/webt/co/0y/7q/co0y7qolmvh1waxzjwqrlo7am1w.png)
Распределение по уровню владения английским языком
Всё-таки без базовых знаний совсем тяжко, английский — он ведь к обязательным ключевым навыкам, вне зависимости от стека, туда же к Google-searcher — advanced.
![](https://habrastorage.org/webt/dw/fi/_8/dwfi_8zvrab3oft7sm-vnfgcp3m.png)
Количество резюме на одну вакансию в городах-миллионниках
hh.индекс показывает конкуренцию — соотношение количества активных резюме и вакансий. Чем выше, тем неприятнее для соискателей. В среднем в России по совокупному рынку hh.индекс равен 7. То есть в стране на одну вакансию приходится 7 соискателей на общем рынке труда, а на одну вакансию Java-разработчика приходится чуть больше одного Java-разработчика.
![](https://habrastorage.org/webt/pm/ps/jz/pmpsjzo4p4bo7gs1p_ftwdn0-ru.png)
Заключительное
Ниже — всё, что не относится к категоризации выше или конкретно к Java, но имеет место.
Количество резюме по языкам программирования
Здесь учтены все резюме, где last_change_time с 2010 года, любые из языков программирования есть в названии, либо в key_skills.
![](https://habrastorage.org/webt/o3/a2/ok/o3a2ok_fywmku0l0m_etrcfdkdg.png)
Изменение количества запросов в соискательском поиске
Соотношение количества запросов в соискательском поиске в прошлом году к позапрошлому. Блокчейн на слуху, конечно.
![](https://habrastorage.org/webt/vn/f-/mw/vnf-mwk3bjoqkgiskg2ru_4jn2a.png)
Доля ключевых запросов от общего числа обращений соискателей-разработчиков к поиску
Здесь мы взяли количество всех запросов к поиску от авторизованных соискателей, в резюме которых есть ключи разработка/разработчик/developer и т. д., и посчитали отношение к количеству запросов по ключам ниже.
![](https://habrastorage.org/webt/jg/-q/rm/jg-qrmuxs4p6ewmum52rvvcsdt4.png)
Наиболее популярные ключевые навыки среди специалистов по возрастным группам
Здесь показано, насколько доля скила в возрастной группе отличается от той же самой доли в оставшейся выборке. Ну, практически. Подробнее про интерпретацию odds ratio.
![](https://habrastorage.org/webt/fc/bp/on/fcbponhvgsmtidersnjtguofcd0.png)
Наиболее популярные ключевые навыки среди специалистов по опыту работы
То же самое, что и выше, только в группировке по опыту работы.
![](https://habrastorage.org/webt/tz/an/n6/tzann6zxhu69yum8gvjjia9sxqa.png)
На этом всё. Данные, приведённые в статье, мы с sovushkasolnce собрали ещё к Jpoint 2018. Спустя месяц очнулись и сделали пост.
Комментарии приветствуются. Спасибо!