К основному содержимому
Исследование

ML job market

Что DS- и ML-вакансии просят на самом деле, где допускают удалёнку, что видно в открытых вилках и что пишут сами кандидаты. Это один квартал открытых вакансий и обезличенных агрегатов по резюме; у каждой цифры ниже есть база, а где можно — погрешность (±).

3 772 вакансий июль–октябрь1 966 DS/ML-вакансий730 работодателей11 238 резюме20 проверенных выводов
01
Коротко

Что знать о рынке.

20проверенных выводов

Главное о рынке DS/ML-работы по открытым вакансиям — каждая мысль с цифрой и ссылкой на главу, где её можно проверить. Формулировки ровно такой силы, какую выдерживают данные.

Сводка

Что стоит знать о DS/ML-рынке

± — погрешность оценки
ВыводЦифраГлава
Удалёнка в DS/ML не кончилась: вне зелёного гиганта её допускает около половины вакансий, у самого зелёного гиганта — почти никто.вне зелёного гиганта 50,9% · у него 3,7%Удалёнка · M01
В большинстве вакансий грейд не назван; формальную планку «1–3 года» ставит примерно каждый третий работодатель.без грейда 57,1% · «1–3 года» 35,4% работодателейГрейд и опыт · M02
Под словом ML — две профессии: LLM требует большинство работодателей ML-инженеров и лишь меньшинство работодателей DS-моделистов.81,1% против 16,2% работодателейДве профессии · M03
Зарплату показывает меньшинство вакансий, и почти только небольшие работодатели; о вилках бигтеха и банков открытые вакансии не говорят ничего.17,4% всех · 1,7% у работодателей с 21+ вакансиейДеньги · M05
Примерно каждую четвёртую DS/ML-вакансию разместил зелёный гигант — поэтому у долей на этой странице по два числа.28%Как читать · M06
Надбавки за LLM в вилках не видно; деплой связан только с нижней границей вилки, и после поправки на множественность это лишь намёк.LLM −7,4% · деплой +17,3%Деньги · M07
Среди открытых вилок вакансии вне Москвы платят примерно на четверть меньше; удалёнка оплату почти не меняет.−24,2% ±8Деньги · M08
LLM-работу прямо требует около половины DS/ML-вакансий, а в названии она стоит у меньшинства — поиск по названию её пропускает.требуют 54,2% · в названии 22,6%Две профессии · M09
Резюме описывают CV и классический ML чаще, чем их просят вакансии, а мониторинг и промптинг — реже.резюме на вакансию: CV ×2,37 · мониторинг ×0,71Резюме · M12
Оговорки
  • Это открытые вакансии одного квартала и обезличенные агрегаты по резюме, уровень от «1–3 года» опыта; базы, погрешности и оговорки — в главах.
  • Где написано «работодателей», каждая компания считается с равным весом.
02
Как читать

Чей это рынок и как его считать.

28%DS/ML-вакансий разместил зелёный гигант

Это не перепись рынка, а отобранный срез одного квартала. Большую долю DS/ML-вакансий в нём даёт одна компания, разметчик навыков сменился по ходу работы, а «резюме на вакансию» задаёт сам отбор. Без этих трёх поправок остальные главы читаются неверно.

В выборке — открытые вакансии, отобранные по DS/ML-, аналитическим и инженерным запросам, и обезличенные агрегаты по резюме. Все выводы о вакансиях считаются на одном окне, июль–октябрь 2026: 3 772 вакансии, из них 1 966 — DS/ML. Политика корпуса заранее убирает однозначный junior и вакансии без опыта, вилки ниже порога и объявления старше трёх месяцев, так что это срез уровня «от года опыта и выше», а не весь рынок.

Есть и более ранняя выборка февраля–марта, но она отобрана другим способом, по другим запросам и с другой разметкой. Смешивать его с осенним окном значит сравнивать разные инструменты, поэтому в выводы он не входит и упоминается только здесь: 525 вакансий.

вакансий июль–октябрь
3 772
из них DS/ML
1 966
групп работодателей в DS/ML
730
резюме, по одному на человека
11 238
Корпус

Из чего состоит окно июль–октябрь

роли пересекаются, сумма больше 100%
ПоказательЗначениеБаза
Июль472 вакансийиз них DS/ML — 271
Август749 вакансийиз них DS/ML — 464
Сентябрь1 456 вакансийиз них DS/ML — 737
Октябрь (неполный)1 095 вакансийиз них DS/ML — 494
Роль: DS/ML52,1%1 966 из 3 772 · вакансии июль–октябрь
Роль: Аналитик24,8%937 из 3 772 · вакансии июль–октябрь
Роль: Дата-инженер16,1%606 из 3 772 · вакансии июль–октябрь
Москва78,9%2 975 из 3 772 · вакансии июль–октябрь
Санкт-Петербург7%264 из 3 772 · вакансии июль–октябрь
Опыт в вакансии: Без опыта0,9%18 из 1 966 · DS/ML-вакансии июль–октябрь
Опыт в вакансии: 1–3 года24,9%489 из 1 966 · DS/ML-вакансии июль–октябрь
Опыт в вакансии: 3–6 лет57,7%1 134 из 1 966 · DS/ML-вакансии июль–октябрь
Опыт в вакансии: 6+ лет16,5%325 из 1 966 · DS/ML-вакансии июль–октябрь
Новая разметка навыков1 828 вакансийиз 3 772; остальные — старая

Самая важная поправка — концентрация. Зелёный гигант вместе с брендами своей экосистемы разместил 28% DS/ML-вакансий окна. Это не дубли одного объявления: у 550 его вакансий 430 разных названий. Остальной рынок, наоборот, раздроблен: большинство работодателей разместили всего по одной DS/ML-вакансии. Доля зелёного гиганта среди DS/ML по месяцам — от 33,9% в июле до 23,3% в октябре.

M06 · надёжность высокая

Какую долю DS/ML-вакансий дают крупнейшие работодатели

накопленная доля DS/ML-вакансий
работодателей с одной DS/ML-вакансией
489 из 730
групп покрывают половину DS/ML-вакансий
42
индекс концентрации HHI
0,081
зелёный гигант без экосистемы · среди всех вакансий окна
26,9% · 24,2%

Почему это меняет картину: зелёный гигант устроен иначе остального рынка. Удалёнку он почти не допускает, вилку почти не показывает, а LLM требует чаще. Простая доля по вакансиям — во многом портрет одной компании. Поэтому в каждой главе рядом с ней стоит доля, где каждая компания весит одинаково, или доля без зелёного гиганта.

Пример — удалёнка. По вакансиям её допускает 37,8% DS/ML-вакансий, а если каждый работодатель весит одинаково — 48%. Читая любую долю, стоит смотреть, какое из двух чисел перед вами.

M06 · надёжность высокая

Зелёный гигант и остальной DS/ML-рынок

доли среди DS/ML-вакансий
ПоказательЗелёный гигантОстальные
Допускают удалёнку (среди известного формата)3,7% · 20 из 54050,9% · 713 из 1 400
Показывают вилку3,8% · 21 из 55020,4% · 289 из 1 416
Требуют LLM69,1% · 380 из 55056,4% · 799 из 1 416

Вторая ловушка — время. Доля DS/ML-вакансий с LLM-требованием растёт от июля к октябрю, но рост совпал со сменой разметчика: по ходу работы навыки начала размечать новая модель по полному тексту вакансии. Внутри старой разметки ряд почти не меняется. А новая разметка у тех же работодателей в том же месяце даёт в среднем на 14,8 п.п. больше (−15 / +17) — оценка неточная, её погрешность захватывает ноль.

Доля LLM в названиях вакансий от разметки не зависит — и тоже не растёт. Значит, роста LLM-спроса внутри квартала не видно. Сказать «спрос вышел на плато» тоже нельзя: погрешность по месяцам слишком большая. Временные ряды по навыкам корректны только внутри одного разметчика и у тех же работодателей.

M18 · надёжность средняя

LLM-требование по месяцам: рост совпал со сменой разметки

доля DS/ML-вакансий с LLM-требованием, %

Третья поправка — про конкуренцию. Отношение резюме к вакансиям в выборке задают поисковые запросы, по которым её отбирали, а не рынок.

Codex проверил каждое резюме и вакансию этого среза: нерелевантных (маркетинг, продажи, бэкенд без ML) — около 7% резюме и 8% вакансий, и их удаление почти ничего не меняет. Поэтому в таблице — диапазон трёх способов счёта: по ролям из исходной разметки, без нерелевантных и только по строгому совпадению роли. При любом способе у ML/AI-инженера меньше всего резюме на вакансию: для соискателя это самая «просторная» роль по числу резюме. Порядок остальных ролей от способа зависит, поэтому мы их не ранжируем.

ВыводЧитая любую долю, проверяйте, что перед вами: доля вакансий или доля работодателей, где каждая компания весит одинаково. Разница между ними — это и есть зелёный гигант.

M17 · надёжность средняя

Резюме на вакансию по ролям

три способа счёта
РольРезюме на вакансию
ML/AI-инженер1,6–1,9
Data Scientist2,3–2,5
Аналитик2,1–3,5
Дата-инженер2,5–3
Оговорки
  • Доля объявлений — не доля найма: одна вакансия может закрывать несколько позиций, а часть найма идёт мимо открытых вакансий.
  • Группы работодателей склеены эвристически по бренду и юрлицу; экосистема зелёного гиганта — одна группа.
  • Разметка навыков менялась: 1 828 вакансий размечены новой моделью по полному тексту, 1 944 — старой; уровни навыков поэтому подаются диапазонами.
  • «Плато» LLM-спроса данные не показывают: погрешность по месяцам слишком большая (глава «Было → стало», W04).
  • Резюме: 12 834 строк схлопнуты до 11 238 людей; у 65,3% резюме обновлены с июля.
  • Ряды старой и новой разметки на графике по месяцам показаны только при 30+ вакансиях в месяце; LLM там и в сравнении с зелёным гигантом — широкое определение.
  • Резюме в выборке — не все кандидаты рынка и не те, кто реально претендует на конкретные вакансии.
  • Проверка релевантности резюме и вакансий — модельная оценка (Codex gpt-6.1-sol medium), а не ручная разметка.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
03
Две профессии

Под словом ML — две профессии.

81,1%работодателей ML-инженеров требуют LLM

Под словом ML в открытых вакансиях стоят две профессии с разным ядром — LLM-инженерия и классический DS. LLM-спрос прячется в вакансиях без LLM в названии и ближе к программной инженерии, чем к MLOps. А «Python и SQL» хватает только аналитике.

Первое решение для соискателя и для автора курса — какая из двух профессий нужна. В вакансиях чистого ML-инженера LLM-навыки требует 81,1% работодателей, в чистом DS-моделировании — 16,2%. С классическим ML всё наоборот: его конкретику — модели, признаки, валидацию — у ML-инженеров просят немногие работодатели, а в DS — около половины работодателей.

Поэтому усреднённая картина вводит в заблуждение: смесь «LLM примерно у половины, классика у меньшинства» не совпадает ни с одной из веток, и план «Python, бустинг и чуть-чуть LLM» не попадает ни в одну из них. Гибридные вакансии, где нужны обе роли, есть, это примерно 23,3% DS/ML. Близко в обеих ветках только глубокое обучение и дата-инженерия.

M03 · надёжность высокая

Чего требуют две ветки ML-вакансий

доля работодателей; «≈» — ветки близки
M03 · надёжность высокая

Где ветки расходятся

доля работодателей
БлокML-инженерDS-моделированиеВывод
LLM и генеративные модели81,1%16,2%заметно чаще у ML-инженеров
Классический ML (кроме основ)3,7%53,4%заметно чаще в DS
Основы ML8,4%60,1%заметно чаще в DS
Градиентный бустинг0,6%10,7%заметно чаще в DS
Глубокое обучение34,3%34,2%примерно поровну
Математика и статистика3,8%29,7%заметно чаще в DS
Python56,8%77,6%заметно чаще в DS
SQL27,4%44,4%заметно чаще в DS
Архитектура ПО43%2,4%заметно чаще у ML-инженеров
ML system design30,6%20,4%заметно чаще у ML-инженеров
MLOps: деплой, мониторинг, CI/CD62,3%49,4%заметно чаще у ML-инженеров
Дата-инженерия18,1%19,6%примерно поровну
M03 · надёжность высокая

LLM-требование по ролям

доля работодателей с LLM в требованиях
LLM у работодателей с опытом «1–3 года»
65,9% ±5
LLM у работодателей с опытом «3–6 лет»
57,6% ±4
LLM у работодателей с опытом «6+ лет»
58% ±8

LLM при этом — сквозной навык, а не отдельная должность. Прикладную LLM-работу — RAG, агентов, дообучение, оценку, промптинг — прямо требует около половины DS/ML-вакансий; точный уровень зависит от разметчика. А LLM, GenAI, NLP или «агент» в названии стоит у меньшинства.

Отсюда практический вывод: искать LLM-работу по названию — значит пропустить большую её часть. У 63,7% вакансий с LLM-требованием в названии об LLM ничего нет. Особенно часто LLM просят в вакансиях, названных просто «инженер» или «разработчик»; у «ML-инженера» и «Data Scientist» без LLM в названии — заметно реже.

M09 · надёжность средняя

Где LLM: в названии или в требованиях

доля DS/ML-вакансий
M09 · надёжность средняя

LLM-требование в вакансиях без LLM в названии

только вакансии без LLM в названии
требуют LLM, по вакансиям
54,2% (−7 / +4)
то же, каждая компания с равным весом
55,4% ±4
без зелёного гиганта
50,5%
требуют LLM среди вакансий с LLM в названии
87,2%

Какой LLM ждут работодатели. Если сравнить LLM-вакансии с остальными ML-вакансиями при той же подроли, широте требований, опыте, разметке и длине текста, профиль смещается к программной инженерии: чаще архитектура ПО и асинхронность Python, реже классический ML, CI/CD, оркестрация, трекинг экспериментов и даже деплой. Для классического ML разница −10,7 п.п., для архитектуры ПО — +6,7 п.п.: LLM-вакансии просят не «больше», а другое.

Устройство трансформера вакансии прямо называют редко — у 6,9% LLM-вакансий, а на собесах его спрашивают заметно чаще; об этом — в пейпере о ML-собесах.

M11 · надёжность выше средней

Чем LLM-вакансии отличаются от остальных ML-вакансий

разница в п.п.: LLM-вакансии против прочих ML

Наконец, минимальный набор. «Только Python и SQL» в DS/ML-вакансиях почти не встречается — 1,4%. Медианная вакансия просит сверх этой базы ещё 5 жёстких тем, чаще всего деплой, LLM, агентов, RAG и ML system design.

В аналитике всё иначе: там базы из Python, SQL и инструментов хватает в 35,8% вакансий. Если «Python + SQL» — это всё, что есть, честнее идти в аналитику и добирать ML оттуда, чем ждать ML-вакансию под такой набор.

M13 · надёжность высокая

Сколько жёстких тем вакансия просит сверх Python и SQL

доля вакансий, %
M13 · надёжность высокая

Что DS/ML-вакансии просят сверх базы чаще всего

доля работодателей с темой
работодателей DS/ML: хватает базы
1,8%
DS/ML-вакансий: три темы сверх базы и больше
83,9%
DS/ML-вакансий явно просят SQL
30,6%
работодателей аналитики: хватает базы
41,6%

ВыводВыберите ветку, потом учите её ядро. LLM-модуль нужен ML-инженеру и инженеру-разработчику в DS/ML-вакансиях, а не только «LLM-инженеру»; DS-моделисту важнее классика и основы ML.

Оговорки
  • Подроль и навыки размечены языковой моделью по тому же тексту вакансии, поэтому резкость разделения на ветки отчасти задана определением.
  • Отсутствие метки не значит «не нужно»: Python явно отмечен лишь в 69,3% DS/ML-вакансий, хотя нужен почти везде.
  • Уровень LLM-требования зависит от разметчика: 47,9% в старой разметке, 61,5% в новой.
  • Классификатор названий грубый: «AI-инженер» и похожие названия считаются отдельно, широким вариантом.
  • «Требование» — формулировка в тексте вакансии, а не доля рабочего времени.
  • Про вход в профессию с нуля корпус молчит: вакансии без опыта в него не попадают.
  • «LLM в названии» — LLM, GenAI, NLP или «агент»; «LLM-требование» — прикладная LLM-работа (RAG, агенты, дообучение, оценка, промптинг) в требованиях.
  • Профиль LLM-вакансий сравнивается с прочими ML-вакансиями при равных подроли, широте требований, опыте, разметке и длине текста; бледные точки — разницы не найдено или она не держится после поправки на множественность сравнений.
  • «База» — Python, SQL, стек данных, инструменты разработки и поведенческие темы; аналитика и дата-инженерия на графике по ролям — вакансии без ML-роли.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
04
Грейд и опыт

Senior чаще не написан.

57,1%DS/ML-вакансий не называют грейд

В большинстве DS/ML-вакансий грейд не назван, а когда назван — это senior и выше. Формальную планку «1–3 года» ставит примерно каждый третий работодатель. Рост к lead — это проектирование систем и управление, а не длиннее стек.

Прошлая версия пейпера говорила, что рынок хочет senior. На квартальном корпусе картина другая: в 57,1% DS/ML-вакансий грейд не назван вовсе. Но когда он назван, это, как правило, старший уровень: среди таких вакансий senior и выше — 81%.

Что это значит для человека с полутора–тремя годами опыта. По полю опыта в вакансии «1–3 года» ставит 35,4% работодателей, если каждая компания весит одинаково; по вакансиям меньше, потому что крупные работодатели ставят её реже. Небольшие компании открыты заметно чаще крупных, у зелёного гиганта — реже, чем у остальных. Искать стоит среди вакансий без грейда и с явным middle: в вакансиях со словом «senior» в названии «1–3 года» почти не бывает.

M02 · надёжность высокая

Какой грейд называют DS/ML-вакансии

доля DS/ML-вакансий
senior и выше среди 712 вакансий с грейдом
81%
из них ровно senior
45,9%
явный senior и выше среди всех DS/ML
29,3%
прошлая версия: «senior среди вакансий»
57,8%
M02 · надёжность высокая

Кто ставит планку «1–3 года»

доля вакансий с опытом «1–3 года»
работодателей с хотя бы одной вакансией «1–3 года»
40,4% · 295 из 730
«1–3 года» у вакансий с senior в названии
5,7%

Грейд и требуемый опыт связаны слабее, чем кажется. В вакансиях, где назван senior, чаще всего стоит «3–6 лет» — 72,1%, а «6+» заметно реже. У middle «1–3 года» встречается часто, но таких вакансий мало и оценка неточная. Ярлык грейда не говорит, сколько лет нужно: смотреть стоит на поле опыта.

M02 · надёжность высокая

Какой опыт просят при каждом грейде

каждая строка — 100%

Чем выше грейд, тем больше в вакансии проектирования и управления, а список технологий почти не растёт: в среднем от 7,9 до 8,1 тем на вакансию на всех уровнях. ML system design просят 63,2% lead-вакансий против 26,7% у middle, и этот скачок держится внутри одной компании; soft skills и управление у lead тоже заметно чаще.

Между middle и senior внутри одной компании разницы не найдено ни по одной из тем — правда, middle-вакансий мало и погрешность большая. И «есть прод» сеньора не отличает: деплой описан уже примерно у половины видимых ML-резюме со стажем меньше трёх лет.

M10 · надёжность выше средней

Что добавляется к требованиям с ростом грейда

доля вакансий грейда с темой, %
M10 · надёжность выше средней

Что меняется от middle к lead

доля вакансий; вывод — внутри одной компании
ТемаMiddleSeniorLeadВывод
ML system design26,7%34,3%63,2%у lead чаще, чем у middle
Архитектура ПО23%30,6%38,8%разницы с middle нет
Soft skills и управление51,9%45%81,6%у lead чаще, чем у middle
Деплой и сервинг моделей48,1%58,7%58%у lead реже, чем у middle
LLM и генеративные модели51,9%55,4%62,8%разницы с middle нет

Требуемый опыт меняет набор тем ещё меньше, чем грейд: вакансии «6+ лет» против «1–3 года» внутри одной компании различаются только по темам «ML system design» (чаще), «Архитектура ПО» (чаще), «Soft skills и управление» (чаще), «Деплой и сервинг моделей» (чаще).

ML-резюме с деплоем, стаж до 3 лет
50,7%
ML-резюме с деплоем, 3–6 лет
69%
ML-резюме с деплоем, 6–10 лет
66,2%
ML-резюме с деплоем, 10+ лет
57,2%

Последний барьер — порог «3+ года». Его ставят 63,1% работодателей. Среди видимых ML-резюме с ML-названием должности у 53% профильный стаж меньше трёх лет.

Но около половины из них добирают три года общего стажа — в разработке или аналитике — и по полю опыта в вакансии попадают в «3–6 лет». Засчитают ли этот опыт при отборе, данные не говорят. Практический вывод скромнее: не отсеивать себя самому и подробно описывать смежный опыт, который относится к ML.

M19 · надёжность средняя

Профильный и общий стаж в ML-резюме

доля резюме, %
работодателей ставят «3+ года»
63,1% ±3
работодателей ставят «6+ лет»
11,9%
ML-резюме без ML-названий должностей
22,5%
ML-резюме с профильным стажем от 6 лет
9,4%
лет — медиана профильного стажа в ML-резюме
2,8

ВыводДля роста — проектировать систему и уметь рассказать о решении. В резюме описывайте дизайн и его компромиссы, а не список фреймворков; с полутора–тремя годами опыта ищите вакансии без грейда и с явным middle.

Оговорки
  • Корпус исключает однозначный junior и нулевой опыт, поэтому доля «1–3 года» — нижняя граница открытости рынка.
  • Шкала опыта в вакансиях грубая: «3–6 лет» выбирает и тот, кому нужно четыре-пять лет.
  • Грейд размечен языковой моделью, точность разметки отдельно не измерена; бакет опыта — заявление работодателя, а не реальная планка отбора.
  • Явный грейд — у меньшинства вакансий, middle среди них мало (135 DS/ML-вакансий июль–октябрь), поэтому лестница middle → senior неточная.
  • Профильный стаж в резюме считается по названиям должностей и занижен для ML-работы под титулом «программист»; засчитают ли смежный опыт при отборе, данные не говорят.
  • В лестнице грейдов lead считается вместе с head; сравнения с middle — внутри одной компании, с поправкой на подроль, разметку, длину текста, удалёнку и Москву.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
05
Удалёнка

Где можно работать из дома.

50,9%вакансий вне зелёного гиганта допускают удалёнку

Удалёнка в ML не кончилась — её почти нет у зелёного гиганта, а у остального рынка её допускает около половины вакансий.

Миф «удалёнка в ML кончилась» держится на одной компании. Вне зелёного гиганта удалёнку среди допустимых форматов указывает 50,9% DS/ML-вакансий, у самого зелёного гиганта — 3,7%. Полностью удалённых вакансий, без офиса и гибрида как вариантов, заметно меньше — это меньше половины.

Где искать: чаще всего удалёнку допускают продуктовые IT-компании и заказная разработка, реже — компании, где IT не основной бизнес. Кандидату не из Москвы и Петербурга формально доступно 46,1% DS/ML-вакансий, и большую часть этой доступности дают удалённые форматы.

M01 · надёжность высокая

Кто допускает удалёнку

доля работодателей, допускающих удалёнку
M01 · надёжность высокая

Удалёнка в DS/ML: одно явление, пять чисел

среди вакансий с известным форматом
СрезДопускают удалёнку
Все DS/ML, по вакансиям37,8% (−14 / +17)
Все DS/ML, каждая компания с равным весом48% ±3
Без зелёного гиганта, по вакансиям50,9% ±5
Зелёный гигант3,7%
Только удалёнка, без других форматов20,9%
DS/ML доступно вне Москвы и Петербурга
46,1%
то же без зелёного гиганта
60,7%
этой доступности дают удалённые форматы
81,9%
удалёнка вне зелёного гиганта, опыт «1–3 года»
41,6%
удалёнка вне зелёного гиганта, опыт «3–6 лет»
54%
удалёнка вне зелёного гиганта, опыт «6+ лет»
56,4%

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

Оговорки
  • «Допускает удалёнку» значит, что удалёнка есть среди форматов вакансии; это не полностью удалённая работа и не гарантия согласия работодателя.
  • Региональная доступность — прокси: удалёнка или офис и гибрид вне Москвы и Петербурга по месту работы в вакансии.
  • Тип бизнеса неизвестен у 16,1% DS/ML-вакансий.
  • Погрешность доли удалёнки «по вакансиям» широкая из-за одного крупного работодателя.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
06
Деньги

Что видно в вилках.

17,4%вакансий показывают зарплату

Прежде чем читать вилки, нужно понять, чьи они: зарплату показывают в основном небольшие работодатели. Среди раскрывших регион платит заметно меньше Москвы, ML — больше аналитики, а деньги предсказывает требуемый опыт и роль lead, а не ярлык senior. За LLM надбавки не видно.

Сначала — селекция. Зарплату в вакансии указывает меньшинство работодателей, и почти только небольшие. У компаний с одной вакансией в корпусе вилку показывает 37,5%, у работодателей с 21 и больше вакансиями — 1,7%.

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

M05 · надёжность высокая

Кто показывает зарплату

доля вакансий с вилкой, по числу вакансий компании
M05 · надёжность высокая

Чьи вакансии и чьи вилки

доля работодателей каждого размера
вакансий с вилкой, по вакансиям
17,4% (−5 / +6)
то же, каждая компания с равным весом
31,9%
DS/ML: зелёный гигант · остальные
3,8% · 20,4%
модель при прочих равных: 1 вакансия · 21+
32,9% · 4,9%
M05 · надёжность высокая

Что ещё связано с раскрытием вилки

при прочих равных, в п.п.
ФакторРаскрываютОценка
Опыт «1–3 года» (к «3–6»)чаще+10,7 п.п. ±6
Senior, lead или head (к прочим)реже−7,8 п.п. ±5
Кадровый посредник (к компаниям, где IT не основной бизнес)чаще+25,9 п.п. ±21
Вакансия вне Москвы и СПб (к Москве)чаще+14,7 п.п. ±10
Удалёнка допускается (к офису и гибриду)разницы нет+4,5 п.п. ±6

География. Среди раскрывших при том же опыте, грейде и роли вакансии вне Москвы платят примерно на 24,2% меньше, а удалёнка меняет оплату слабо: в московских вакансиях удалённые вилки лишь немного ниже офисных. Для регионального кандидата удалённая вакансия с московской привязкой — заметно лучше оплачиваемый сегмент, чем местный офис.

Кандидаты из регионов и сами просят меньше московских при том же стаже — на 12%. Это меньше регионального дисконта вакансий, но часть разницы может давать отсечка ожиданий ниже порога корпуса.

M08 · надёжность выше средней

Город и удалёнка в открытых вилках

изменение вилки при том же опыте и роли, %
M08 · надёжность выше средней

Медиана вилки по городу и формату

сырые медианы, без поправок
Город и форматМедиана вилки
Москва, офис или гибрид209 тыс. ₽
Москва, удалёнка238 тыс. ₽
Вне Москвы, офис или гибрид120 тыс. ₽
Вне Москвы, удалёнка175 тыс. ₽
ожидания вне Москвы к московским, тот же стаж
−12% ±3
резюме в выборке — не из Москвы
63,2%
вакансий — не в Москве
21,1%

ML против аналитики. При равных опыте, грейде, городе и удалёнке DS/ML-вакансии с открытой вилкой предлагают примерно на 30,3% больше аналитических, но дата-инженерам — столько же: +29,2%.

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

M14 · надёжность средняя

Вилки по ролям

тыс. ₽ на руки; усы — средняя половина вилок
DS/ML к аналитике при равных условиях
+30,3% ±13
дата-инженерия к аналитике
+29,2% (−16 / +17)
ML к аналитике внутри одной компании (16 работодателей)
−1,7% (−11 / +25)

Опыт против ярлыка. Требуемый опыт из поля вакансии объясняет разброс вилок заметно лучше грейда (таблица ниже). «6+ лет» к «1–3 года» — +106%, то есть примерно вдвое. При том же опыте lead получает реальную надбавку — +30,5%, а senior от middle статистически не отличим.

Ожидания кандидатов растут со стажем и после восьми–десяти лет почти выходят на плато. Старого «после десяти лет просят меньше» не видно.

M15 · надёжность средняя

Опыт и грейд в открытых вилках

изменение вилки, %
M15 · надёжность средняя

Какая модель лучше объясняет вилку

доля объяснённого разброса вилки (R²)
ПоказательВсе 615С грейдом
Город, роль, удалёнка, тип вилки0,345—
+ требуемый опыт0,5530,501
+ грейд0,40,377
+ опыт и грейд0,567—
M15 · надёжность средняя

Ожидания в резюме по стажу

к стажу 0–2 года, при том же городе и роли, %
медиана ожиданий ML/DS, стаж 0-6 лет
250 тыс. ₽
медиана ожиданий ML/DS, стаж 6-10 лет
300 тыс. ₽
медиана ожиданий ML/DS, стаж 10+ лет
300 тыс. ₽
R²: базовая модель → с опытом
0,345 → 0,553

За что платят. Надбавки за LLM в вилках не видно: при равных опыте, роли, городе, удалёнке и широте требований оценка — −7,4%, и её погрешность захватывает ноль. Премию больше +6,5% данные исключают, но и ноль не доказан. Кандидаты с LLM-опытом просят столько же, сколько остальные.

С более высокой нижней границей вилки связан деплой — +17,3%, но после поправки на множественность сравнений это лишь намёк. И держится он на вакансиях «только от», а на верхнюю границу не переносится. В резюме кандидаты, описавшие деплой, MLOps и ML system design, просят больше.

M07 · надёжность средняя

Навыки и деньги: вилки и ожидания

вилка — в вакансиях, ожидание — в резюме, %
LLM: сырая разница → при контролях
+14,9% → −7,4%
LLM к верхней границе
−5,1% (−12 / +13)
деплой к верхней границе
+3,7% ±9
деплой в вакансиях «только от»
+31,2%
прошлая версия: MLOps к зарплате
+51%
W03 · не доказано

Ширина вилки и «только от»

во столько раз верх вилки обычно больше низа (у половины — от ×1,2 до ×1,6)
×1,3
вилки «только от» к середине сопоставимых
−21,9% ±6
резюме указывают ожидаемую зарплату
20,5% · 2 302 из 11 238

ВыводLLM — входной билет примерно на половину рынка, а не надбавка. Аргумент для торга — прод и проектирование систем, а ориентир по деньгам у крупных компаний — не открытые вилки.

Оговорки
  • Корпус отрезает вилки с известным верхом ниже 150 тыс. ₽: нижний хвост срезан, а разрыв по размеру работодателя консервативен.
  • «Размер работодателя» — число его вакансий в корпусе, а не размер компании.
  • Скрытые зарплаты не наблюдаются: что крупные работодатели платят больше или меньше, не доказано.
  • Выборка раскрывающих мала и отобрана; обе стороны вилки усечены, поэтому коэффициенты смещены к нулю.
  • Навык в требованиях может маркировать невидимую сложность позиции; фиксированные эффекты работодателя для навыков невозможны — слишком мало вакансий на компанию.
  • Ожидание в резюме — не оффер. «Город» — area вакансии. Грейд назван лишь у 144 вакансий с вилкой; стаж в резюме — общий.
  • Сравнение ожиданий с вилками условно (глава «Было → стало», W03).
  • Раскрытие вилки — модель на DS/ML-вакансиях при размере работодателя, опыте, роли и городе; грейд сам по себе раскрытие не предсказывает (p от 0,055 до 0,623).
  • Город и удалёнка — 615 вакансий июль–октябрь с вилкой, 432 работодателя; две нижние строки — из модели с взаимодействием «город × формат». Вилки по ролям — сырые, 340 вакансий июль–октябрь с одной основной ролью.
  • Опыт — 615 вакансий июль–октябрь с вилкой; грейд — 144 вакансий с явным грейдом, при том же опыте. Ожидания — 2 122 резюме с ожиданием в рублях.
  • Навыки и деньги: «вилка» — нижняя граница вилки DS/ML-вакансии (239 DS/ML-вакансий июль–октябрь), «ожидание» — запрос в ML/DS-резюме (1 387 ML/DS-резюме), обе при прочих равных; навыки реже 30 упоминаний не показаны; бледные точки — разницы не найдено или она не держится после поправки на множественность.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
07
Резюме

Что пишут кандидаты.

55,3%ML/DS-резюме описывают работу с LLM

Резюме перегружены классическим ML и узкими специализациями и недописывают мониторинг и промптинг; деплой и LLM — уже норма. Популярные инструменты часто стоят только строкой в списке. В ML приходят сразу или из разработки, а LLM-опыт одинаков у новичков и опытных.

Как читать сравнение резюме с вакансиями. Резюме описывает всю карьеру, а вакансия — одну позицию, поэтому почти любая тема в резюме встречается чаще, чем в требованиях: медианное отношение «резюме к вакансиям» по темам — 1,57. Важен не абсолютный индекс, а ранг темы среди остальных.

На чём не выделиться. Метрики, бустинг, рекомендательные системы, временные ряды и компьютерное зрение резюме описывают в разы чаще, чем их требуют вакансии; отчасти потому, что базовое в вакансиях не перечисляют, — для CV и RecSys вывод надёжнее. Деплой и LLM в целом — паритет (×1,07 и ×1,05): «есть прод» и «есть LLM» уже норма, а не отличие.

Что стоит дописать, если это правда: мониторинг моделей и промпт-инжиниринг. Их резюме описывают реже, чем просят вакансии (×0,71 и ×0,67), и это держится во всех четырёх независимых расчётах. Агенты — неустойчиво: в одних расчётах их недописывают, в других нет.

M12 · надёжность средняя

Темы в вакансиях и в резюме

доля работодателей и доля резюме с темой
M12 · надёжность средняя

Что резюме описывают чаще или реже, чем просят

×1 — поровну, ×2 — в резюме вдвое чаще
ТемаРезюме на вакансиюВывод
Метрики качества моделей×6,81в резюме чаще
Градиентный бустинг×4,09в резюме чаще
Рекомендательные системы×3,81в резюме чаще
Spark×3,61в резюме чаще
Временные ряды×3,23в резюме чаще
Табличный ML×2,48в резюме чаще
Компьютерное зрение×2,37в резюме чаще
Классический ML (кроме основ)×2,37в резюме чаще
ML system design×1,42в резюме чаще
RAG×1,35в резюме чаще
Деплой и сервинг моделей×1,07примерно поровну
LLM в целом×1,05примерно поровну, неустойчиво
MLOps: деплой, мониторинг, CI/CD, трекинг×1,02примерно поровну
LLM-агенты×1,01примерно поровну, неустойчиво
Мониторинг моделей×0,71в резюме реже
Промпт-инжиниринг×0,67в резюме реже

Строка в списке — не опыт. У инструментов «Spark и bigdata-экосистема» и «PyTorch» около половины упоминающих резюме ничего не говорят об использовании в опыте — навык стоит только в списке. Задачи — деплой, мониторинг, RAG, агенты — почти всегда описаны в опыте, отчасти потому, что их редко пишут списком. Совет простой: описывать, что сделано на инструменте, а не перечислять его.

M22 · надёжность ниже средней

Навык только в списке, без описания в опыте

доля упоминающих резюме

Пути в ML. Около половины ML-специалистов с ML-должностью указывают её первой записью в опыте — вероятно, это завышено: ранние непрофильные работы часто опускают. Из пришедших с другой работы больше всего бывших разработчиков.

Среди тех, чья первая ML-должность с 2025 года — AI- или LLM-инженер, бывших разработчиков 65,3% против 30,3% у остальных, кто пришёл в ML в те же годы. Аналитиками начинали немногие нынешние ML-специалисты; вероятность перехода из аналитики в ML по этим данным оценить нельзя — неудачные переходы не видны.

M20 · надёжность средняя

Откуда приходят в ML: первая запись → первая ML-должность

толщина — число людей
M20 · надёжность средняя

Переходы в цифрах

ПоказательЗначениеБаза
Медиана до первой ML-должности: разработка45 месn = 778
Медиана до первой ML-должности: аналитика39 месn = 365
Медиана до первой ML-должности: наука29 месn = 151
Бывшие разработчики среди пришедших: пришли в ML до 202146,9%119 из 254
Бывшие разработчики среди пришедших: 2021–202348,4%274 из 566
Бывшие разработчики среди пришедших: 2024–202654,9%450 из 819
До LLM/NLP-должности была классическая ML-должность41,5%196 из 472
первая запись: сразу с ML
49,9%
первая запись: разработка
23,8%
первая запись: аналитика
11,2%
первая запись: наука
4,6%
первая запись: другое
10,6%

LLM — не «молодая» ниша. Опыт применения LLM описан примерно в 55,3% ML/DS-резюме — одинаково у кандидатов со стажем до трёх лет и от шести (разница +0,1 п.п. ±4). Разницу задаёт роль: у ML-инженеров такой опыт описывают большинство кандидатов, у DS — меньшинство кандидатов. Лёгкого входа в LLM для новичков нет: там те же опытные конкуренты.

M21 · надёжность средняя

LLM-опыт в резюме по стажу и роли

доля резюме с опытом LLM; стаж — общий

ВыводЕсли вы это делали, описывайте мониторинг моделей и промптинг — их вакансии просят, а резюме недописывают. Выделиться бустингом, метриками и словом «LLM» уже не получится.

Оговорки
  • Это сравнение текстов, а не дефицит людей и не шанс найма.
  • Резюме и вакансии размечены разными проходами разметки.
  • Резюме в выборке — не все кандидаты рынка; меры предложения считаются по одной однородной подвыборке.
  • Видны выжившие: неудачные переходы в ML в данных не видны. Классификация должностей грубая.
  • Полнота разметки резюме неравномерна по стажу; контраст «инструменты против задач» во многом механический — задачи редко пишут списком.
  • Как работодатели реагируют на то или иное резюме, данные не показывают.
  • Вакансии на графике тем — доля работодателей (1 966 DS/ML-вакансий июль–октябрь), резюме — доля ML/DS-резюме, обновлённых с июля (3 774 ML/DS-резюме); порядок тем в двух списках близок, ранговая корреляция 0,79. «Неустойчиво» — четыре расчёта на разных выборках резюме расходятся в направлении.
  • В графике «только в списке» бледные строки — задачи: их почти не пишут списком; задачи с малыми ячейками объединены. Потоки в ML меньше 10 человек не показаны.
  • «26,7% ±8» значит: настоящее значение с вероятностью 95% лежит примерно между 19% и 35%; «(−9 / +8)» — когда вниз и вверх погрешность разная. Слова «большинство», «меньше половины», «редко» выбраны с учётом погрешности; «оценка неточная» — погрешность слишком широкая для слова.
08
Было → стало

Что изменилось с прошлой версии.

11 из 11старых выводов не подтвердились или читаются иначе

Прошлая версия верно ловила часть направлений, но часть центральных цифр не воспроизводится на корпусе в несколько раз больше и с поправкой на работодателя.

Прошлая версия пейпера опиралась на данные на 10.03.2026: 654 вакансии и 873 резюме. Часть её цифр разошлась с новыми не потому, что рынок изменился, а из-за метода. Грейд тогда ставился каждой вакансии, даже если в тексте его не было; доли не учитывали, что одна компания даёт заметную часть вакансий; часть оценок стояла на выборках в несколько вакансий; спрос и предложение сравнивались другой мерой.

Что подтвердилось: компьютерное зрение в резюме описывают чаще, чем его требуют. Остальное в таблице ниже — с вердиктом и ссылкой на главу, где лежит новая оценка с базой и погрешностью.

Было → стало

Тезисы прошлой версии на новом корпусе

± — погрешность новой оценки
ТезисБылоСталоВердиктГлава
Рынок хочет seniorSenior среди вакансий: 57,8% (n = 650)грейд не назван у 57,1%; среди названных senior и выше — 81%читается иначеГрейд и опыт
Ожидания кандидатов и вилкиМедиана ожиданий в резюме: 270 тыс. ₽ (n = 146); Медиана вилок в вакансиях: 265 тыс. ₽медиана ожиданий 270 тыс. ₽ (−20 / +10); к середине вилки +10,7%, к верху +1,4%читается иначеДеньги
Доля NLP/LLM в спросеNLP/LLM — доля спроса: 44,5% (n = 654)LLM-требование 54,2% (−7 / +4)читается иначеДве профессии
Спрос на LLM выше предложенияСпрос на NLP/LLM выше предложения: +9,3 п.п.резюме на вакансию по LLM ×1,05 ±0,07не воспроизводитсяРезюме
MLOps и CV: вакансии против резюмеВакансии на резюме: MLOps: ×2,39; Вакансии на резюме: CV: ×0,38резюме на вакансию: CV ×2,37, MLOps ×1,02, мониторинг ×0,71читается иначеРезюме
MLOps резко повышает зарплатуMLOps к зарплате: +51% (n = 8)деплой в вилке +17,3% (−16 / +18); MLOps в ожиданиях +12,4%опровергнутоДеньги
Прод-опыт отличает seniorПрод-опыт у middle: 38,6% (n = 404); Прод-опыт у senior: 75,1% (n = 346)деплой в резюме: стаж до 3 лет 50,7%, 3–6 лет 69%не воспроизводитсяГрейд и опыт
Кандидаты недописывают деплой и мониторингДеплой: резюме минус вакансии: −3,2 п.п.; Мониторинг: резюме минус вакансии: −3,6 п.п.резюме на вакансию: деплой ×1,07, мониторинг ×0,71опровергнутоРезюме
После 10 лет стажа просят меньшеОжидание при стаже 6–10 лет: 380 тыс. ₽ (n = 29); Ожидание при стаже 10+ лет: 310 тыс. ₽ (n = 30)ожидание к стажу 0–2 года: 6–8 лет +51%, 8–10 лет +61,9%, 15+ лет +68,7%не воспроизводитсяДеньги
Приток в ML особенно LLM-направленNLP/LLM — главный домен свежих когорт (0–2 года): 35,1% (n = 251); NLP/LLM — главный домен средних когорт (3–5 лет): 33,8% (n = 148)LLM-опыт: стаж до 3 лет против 6+ — +0,1 п.п. ±4не воспроизводитсяРезюме
Медиана вилки — ориентир рынкаМедиана вилки как ориентир: 265 тыс. ₽вилку показывают 17,4% вакансий; работодатели с 21+ вакансией — 1,7%читается иначеДеньги
Не доказано

Что звучит правдоподобно, но данными не подтверждено

Тренд март → осень (W01). По сырым долям PyTorch упал с 44,9% до 24,7%, а агенты выросли с 27,3% до 48,1%. Но март и осень отобраны разными способами; внутри одного способа разница по агентам — +1,1 п.п. ±6, разницы не найдено.

Ожидания и вилки (W03). Похоже, кандидаты просят между серединой и верхом открытой вилки: к середине +10,7% ±5, к верху +1,4% ±5. Но сравнение условно: ожидание — не оффер, а вилки отобраны.

ML system design и A/B в вилке (W06). На всём корпусе оценки положительные — +10,6% (−11 / +12) для ML system design (разницы не найдено) и +19,9% (−17 / +20) для A/B-тестов (больше — лишь намёк после поправки на множественность). В окне июль–октябрь A/B в вилках встречается слишком редко, поэтому оценка — по всему корпусу.

«Только LLM без классики» (W07). Доля зависит от того, что считать классикой: при узком определении — только LLM 52,9%, есть классика 22,9%, ни того, ни другого 24,2%; при широком — только LLM 26,6%, есть классика 64,1%, ни того, ни другого 9,3%.

Плато LLM-спроса (W04) — см. главу «Как читать»; недописанные агенты в резюме (W05) — см. главу «Резюме».

Оговорки
  • «Было» — опубликованные значения прошлой версии; сравниваются две оценки на разных корпусах, а не одна величина во времени.
  • «Не воспроизводится» не значит «доказано обратное»: новая оценка просто не поддерживает старую.
09
Ограничения

Чего эти данные не скажут.

150тыс. ₽ — ниже этого порога вакансии и резюме не попадают в корпус

На кого переносятся выводы и чего эти данные сказать не могут.

Выборка — результат отбора по поисковым запросам и фильтрации языковой моделью, а не перепись рынка. В ней вакансии уровня «от года опыта» без однозначного junior, не старше 3 месяцев, и резюме — по одному на человека, только в виде агрегатов. Выводы переносятся на публичный DS/ML-рынок открытых вакансий этого уровня, а не на весь найм.

Рынок сконцентрирован: зелёный гигант даёт заметную долю DS/ML-вакансий, поэтому почти каждая доля приведена дважды — по вакансиям и с равным весом работодателя. Погрешности (±) — кластерный бутстреп по группам работодателей (1 000 повторов) или по аккаунтам для резюме; у моделей — кластерные ошибки, при множестве сравнений — поправка Бенджамини–Хохберга.

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

Все «надбавки» и «скидки» — ассоциации с явными контролями, а не причинные эффекты. Что дальше: повторная выборка с одним разметчиком, исходы найма и ручная проверка разметки — тогда можно будет говорить о трендах и о том, что реально повышает шанс на оффер.

ВыводИспользуйте эти цифры как карту рынка — где спрос, где удалёнка, что видно в вилках, — а не как прогноз для конкретной вакансии.