Как я перебрал 2377 вакансий за неделю и исследовал рынок труда под мои уникальные хотелки

от автора

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

Я написал автооткликалку с ИИ‑анализом вакансий, потому что искал работу. Потом увлекся продуктовой разработкой, оставив сам поиск работы. Думал запустить бизнес.

Но я соло-разработчик и у меня стали кончаться деньги на содержание семьи, поэтому я решил что уже достаточно времени уделил разработке, остался только коммерческий запуск проекта – и его я могу (а точнее — должен) запускать параллельно с работой в найме. Я отпустил мой инструмент погулять с моим резюме по рынку.

Для тех, кто не читал мой первый текст: NN — это моя поделка, веб-браузер на Electron для поиска работы. Да, прямо браузер — устанавливается, запускается с отдельного ярлыка. Внутри автоотклики на вакансии, автоподнятие резюме, персональные исследования рынка (анализирует твоё резюме против запроса рынка и говорит, что поправить в резюме, а что в самом твоём рыночном предложении) и CRM для кандидата: воронка, статусы компаний, календарь интервью и дедлайнов по тестовым. Еще есть автопереписки с рекрутерами и автопрохождение тестов и анкет (на основе того, что ты написал в своем профиле). Еще есть компаньон для интервью, который в реальном времени транслирует на экран текстовые подсказки («веди разговор на эту тему», «ты с этим увлекся, тебя спрашивали о другом», «ты забыл упомянуть такой-то факт из своего опыта») чтобы ты не терялся и смог показать себя в лучшем свете.

Итак, вы ознакомились с продуктовым лендингом, теперь у меня большой охват, хи-хи.


Бюджет на ИИ-обработку заложен очень большой, каждая вакансия проходит щедрую трехступенчатую обработку через DeepSeek в режиме expert thinking. И есть у меня там такая штука как fit capsule — короткая записка о том, где я и вакансия сходимся, а где нет. По отдельности это мелочь. А вот когда таких записок накапливается пара тысяч, и ты сваливаешь их в одну кучу — начинает проступать картинка.

За неделю накопилось более двух тысяч обработанных вакансий и картинка проступила.

Сразу дисклеймер: это не общеиндустриальное исследование рынка труда. Выборка кривая, площадка одна, регион один, кандидат — я, со своими своеобразными хотелками. Это отчет о том, что видно из одной конкретной точки, если направить на нее достаточно данных.

Второй дикклеймер: я впервые занимаюсь статистикой, поэтому прошу не пинать за занудство и неоптимальные методики.


Для начала обо мне, чтобы понимать обо что я сталкивал рынок труда.

Сначала я искал исключительно удаленную работу и вот каковы были мои критерии, об которые ИИ сталкивал каждую вакансию:

Скрытый текст

## MY SITUATION

Кандидат активно ищет практичный оффер на 1-2 года, пока развивает собственный B2B SaaS. Цель — стабильный доход, 100% remote, разумная нагрузка и реалистичный шанс получить оффер. Идеальная вакансия не требуется: смежные роли и новые индустрии допустимы если кандидат в принципе способен справиться с работой. Приоритет — жизнеспособная сделка, а не престиж или идеальное совпадение всех пожеланий. Идеальная вакансия не требуется: смежные роли и новые индустрии допустимы, но только если сохраняется коммерческая релевантность. Критерий не “кандидат теоретически способен это делать”, а “в этой роли есть реальный leverage для его профиля: B2B/GTM/outbound/sales automation/technical or consultative sales/partnerships/account growth/process ownership”. Не приносить generic jobs из локального B2C, lifestyle SMB, розницы, салонов красоты, ивент-агентств, инфлюенсерских бизнесов и похожих low leverage бизнесов, даже если кандидат в принципе мог бы выполнять такую работу.

## OFFER

Sales leader с 10+ годами опыта и Master’s degree в лингвистике — что напрямую работает на переговоры, письменный аутрич и работу на англоязычных рынках (английский на уровне C2). Одинаково эффективен на старте (построить систему с нуля), в росте (масштабировать и оптимизировать работающее) и в зрелости (диверсифицировать и стабилизировать выручку). Покрывает полный цикл или любую его часть — в зависимости от задачи. Работает соло, нанимает и управляет командой или выступает играющим тренером — всё может, всё делал. За 10 лет — SaaS, cybersecurity, dev outsourcing, IoT, FinTech, MarTech, RPA; рынки US, Asia, Europe; B2B и B2C; сделки от тысяч долларов до семизначных сумм в долларах; стартапы и enterprise. Ключевая роль — sales architect: проектирует воспроизводимые системы продаж, которые работают без него, а не закрывает задачи руками. AI — не инструмент, а среда: с 2022 года строит workflows на LLM outreach pipelines, lead scoring, account research и funnel orchestration, автоматизируя целые функции отдела. Непрерывно обучается, как неформально, так и формально — например в 2024 купил и прошел курс Sandler Sales. Работает автономно, берёт ответственность за результат без микроменеджмента — подтверждено 11 рекомендациями на LinkedIn от руководителей и коллег. Совсем не сноб, готов и сам работать, готов и командой управлять, готов и совмещать (играющий тренер). Управлял командами до 10 человек. Вся техническая база и sales tech stack — само собой есть, высший уровень владения. Помимо продаж — сильная инженерная и продуктовая сторона: самостоятельно разработал и довёл до готового продукта собственный софтверный пет-проект, глубоко занимается технической реализацией sales-автоматизации, а не только её стратегией. Отдельная суперсила — скорость и качество генерации идей: там, где команде нужны дни обсуждений, выдаёт проработанное решение за минуты. Ключевая ценность кандидата раскрывается не в “просто продавать”, а в средах, где нужно проектировать воспроизводимую коммерческую систему: ICP, outbound, ABM, messaging, CRM, funnel metrics, sales playbook, hiring/training SDR/BDR, AI automation, RevOps/GTM architecture, complex or consultative sales.

## PRICE

Survival: Гарантированные ~$1500 net/month или ~$10/hour (1 USD = 80 RUB) — сумма ориентир, не жёсткий минимум: больше лучше, немного меньше терпимо если остальное устраивает, значительно меньше — нет. Это размер базы (он же фикс, он же оклад) — и оклад обязателен, pure commission неприемлема. Зарплата не указана вообще → обсуждаемо, не критично. Upside: equity или multi-year vesting; commission поверх базы; Head / VP Sales trajectory; B2B SaaS или смежный tech; ownership над ICP, outbound, ABM, automation и GTM-архитектурой. Но remote + приемлемая база — необходимые, но не достаточные условия. Вакансия, которая проходит по деньгам и формату, но проваливает коммерческую релевантность, всё равно не подходит. Не возвращать low leverage generic sales / local B2C / lifestyle SMB вакансии только потому, что там есть оклад или удалёнка.

## DEAL BREAKERS

Формат работы: 100% remote — без исключений. Бинарный параметр. Обязательный офис, гибрид, релокация, командировки, выезды к клиентам, посещение конференций, жёсткая географическая привязка — отказ. Вакансия с несколькими форматами на выбор или формулировкой «remote possible» — не проблема, если non-remote не указан как обязательный. | Деньги: Pure commission без базы неприемлема. Гарантированная оплата значительно ниже ~$1500 net/month / ~$10/hour — отказ. | Роль и нагрузка: Фундаментально чужая профессия (нулевой шанс — например, Kotlin Developer или Oil Rig Operator). All-day calling как основа работы, call-center. Явные сигналы перегрузки: обязательный time tracking, систематические переработки, звонки весь день. | Халяльные ограничения: Gambling, conventional banking / loans & bancruptcy / insurance, forex / trading, riba-based real estate, adult content, alcohol / tobacco / drugs, non-halal food production, esoteric & fortune-telling, idolatry, obscene media, организации с антимусульманской повесткой. При этом FinTech и Crypto допустимы, если явно не используются в харам-целях. Бинарный параметр, но применяется презумпция невиновности: флаг только при явном или вероятном нарушении. | Контекст компании и sales motion: Отказ от локальных/offline/низкочековых B2C-сервисов и lifestyle SMB, где роль сводится к низкоуровневым операциям, записи клиентов, обработке входящих, переписке в мессенджерах, продажам через соцсети, координации мероприятий или локальному клиентскому сервису. Сюда относятся несерьезные бизнесы типа салоны красоты, спа, косметология, фитнес-студии, детские бассейны, локальные школы/курсы, украшение праздников, воздушные шары, свадебные/ивент-агентства, рестораны, кафе, туризм, гостиницы, розница, локальные клиники, личные бренды, блогерские/инфлюенсерские агентства, entertainment/event promotion и похожие бизнесы. Исключение: допустимо, если работодатель — B2B SaaS/platform/tool/technical service provider, который продаёт этим индустриям, а не сам является таким локальным/lifestyle-бизнесом. |

Потом мы с семьей посовещались и решили что не прочь вспомнить старые добрые времена до удаленки и пожить и поработать в Казани/Альметьевске/Грозном/Махачкале (выбор городов связан с личными предпочтениями). И вот какие критерии заложил в новый поиск:

Скрытый текст

## MY SITUATION

Кандидат активно ищет практичный оффер на 1-2 года, пока развивает собственный B2B SaaS. Цель — стабильный доход, 100% remote, разумная нагрузка и реалистичный шанс получить оффер. Идеальная вакансия не требуется: смежные роли и новые индустрии допустимы если кандидат в принципе способен справиться с работой. Приоритет — жизнеспособная сделка, а не престиж или идеальное совпадение всех пожеланий. Идеальная вакансия не требуется: смежные роли и новые индустрии допустимы, но только если сохраняется коммерческая релевантность. Критерий не “кандидат теоретически способен это делать”, а “в этой роли есть реальный leverage для его профиля. Формат: оффлайн, но только в Казани, Альметьевске, Грозном и Махачкале и только при гарантированном фиксе от 150 000 ₽/мес; разъезды в пределах города приемлемы.

## OFFER

Sales leader с 10+ годами опыта и Master’s degree в лингвистике — что напрямую работает на переговоры, письменный аутрич и работу на англоязычных рынках (английский на уровне C2). Одинаково эффективен на старте (построить систему с нуля), в росте (масштабировать и оптимизировать работающее) и в зрелости (диверсифицировать и стабилизировать выручку). Покрывает полный цикл или любую его часть — в зависимости от задачи. Работает соло, нанимает и управляет командой или выступает играющим тренером — всё может, всё делал. За 10 лет — SaaS, cybersecurity, dev outsourcing, IoT, FinTech, MarTech, RPA; рынки US, Asia, Europe; B2B и B2C; сделки от тысяч долларов до семизначных сумм в долларах; стартапы и enterprise. Ключевая роль — sales architect: проектирует воспроизводимые системы продаж, которые работают без него, а не закрывает задачи руками. AI — не инструмент, а среда: с 2022 года строит workflows на LLM outreach pipelines, lead scoring, account research и funnel orchestration, автоматизируя целые функции отдела. Непрерывно обучается, как неформально, так и формально — например в 2024 купил и прошел курс Sandler Sales. Работает автономно, берёт ответственность за результат без микроменеджмента — подтверждено 11 рекомендациями на LinkedIn от руководителей и коллег. Совсем не сноб, готов и сам работать, готов и командой управлять, готов и совмещать (играющий тренер). Управлял командами до 10 человек. Вся техническая база и sales tech stack — само собой есть, высший уровень владения. Помимо продаж — сильная инженерная и продуктовая сторона: самостоятельно разработал и довёл до готового продукта собственный софтверный пет-проект, глубоко занимается технической реализацией sales-автоматизации, а не только её стратегией. Отдельная суперсила — скорость и качество генерации идей: там, где команде нужны дни обсуждений, выдаёт проработанное решение за минуты. Ключевая ценность кандидата раскрывается не в “просто продавать”, а в средах, где нужно проектировать воспроизводимую коммерческую систему: ICP, outbound, ABM, messaging, CRM, funnel metrics, sales playbook, hiring/training SDR/BDR, AI automation, RevOps/GTM architecture, complex or consultative sales.

## PRICE

Жёсткий бинарный порог — гарантированный фикс от 150 000 ₽/мес. Проверяется нижняя граница дохода, а не потолок: подходит только вакансия, где кандидат не способен получить меньше 150 000 ₽ ни в один месяц. Отказ, если: оклад ниже 150 000 ₽, даже если «с бонусами до 300 000»; вилка с нижней границей ниже порога («от 100 000 до 250 000»); пониженная ставка на испытательный срок; схема «оклад + KPI/штрафы», где выплата может просесть ниже 150 000 ₽/мес.

## DEAL BREAKERS

Формат работы: два допустимых варианта. (1) 100% remote — принимается всегда. (2) Офис, гибрид или разъездная работа — принимается только в городах Казань, Альметьевск, Грозный, Махачкала и только при выполненном денежном пороге (гарантированный фикс ≥150 000 ₽/мес); разъезды и встречи с клиентами в пределах этих городов приемлемы. Отказ: офис/гибрид/релокация в любом другом городе или стране; регулярные междугородние и зарубежные командировки, выезды в другие регионы, обязательные конференции и выставки — даже если базовый город подходит; оффлайн-вакансия в подходящем городе, но с фиксом ниже порога или без явно указанного фикса. Вакансия с несколькими форматами на выбор или формулировкой «remote possible» — не проблема, если non-remote не указан как обязательный. | Деньги: Pure commission без базы неприемлема в любом формате. Remote — отказ при гарантированной оплате значительно ниже ~$1500 net/month / ~$10/hour. Оффлайн — отказ при любой схеме, где гарантированный фикс ниже 150 000 ₽/мес. |. | Роль и нагрузка: Фундаментально чужая профессия (нулевой шанс — например, Kotlin Developer или Oil Rig Operator). All-day calling как основа работы, call-center. Явные сигналы перегрузки: обязательный time tracking, систематические переработки, звонки весь день. | Халяльные ограничения: Gambling, conventional banking / loans & bancruptcy / insurance, forex / trading, riba-based real estate, adult content, alcohol / tobacco / drugs, non-halal food production, esoteric & fortune-telling, idolatry, obscene media, организации с антимусульманской повесткой. При этом FinTech и Crypto допустимы, если явно не используются в харам-целях. Бинарный параметр, но применяется презумпция невиновности: флаг только при явном или очень вероятном нарушении.

За девять дней я прогнал через ИИ-разбор 2377 вакансий с хедхантера — 894 в поиске удалённой работы и 1483 в поиске офисной в четырёх городах. Последние 1427 обработались за одну ночь, потому что я резко нарастил свои ИИ-мощности.

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


Как это считается

Чтобы цифрам можно было верить, сначала механика.

Каждая вакансия проходит три стадии. Первая — сбор со страниц поиска. Вторая — ИИ читает полный текст вакансии и раскладывает его на структурированную капсулу: за что платят (роль / результат / время / штуки), названа ли гарантированная часть, насколько ясно описаны условия, формат работы, тип бизнеса, кто продаёт, признаки перегрузки. Третья — сверка капсулы с моим контрактом требований.

Касаемо оценки того, за что платят — у меня своя авторская методика универсальной классификации зарплат:

Скрытый текст

Главный вопрос формулируется так: «ты главное {делай то-то}, остальное пофиг». Чем заполняется пропуск — та и модель.

Тег

Что покупают

Формулировка вакансии

TIME

отсиди часы

ставка за час, смену, день

ROLE

тяни функцию

месячный оклад без счётчика часов и штук

STANDBY

будь готов включиться

дежурство, на подскоке, retainer

UNITS

гони объём

оплата за детали, рейсы, уроки, тикеты

WINS

приноси победы

сделки и клиенты

Две пары путаются постоянно, и для каждой есть однозначный тест.

TIME против ROLE: возьмёшь больше смен — заплатят больше? Да — TIME, нет — ROLE. Всё. Никаких рассуждений про «уровень позиции».

UNITS против WINS: кто ставит точку — твои руки или чужое решение? Токарь выточил деталь: точку поставил сам, UNITS. Продавец подготовил сделку: точку ставит клиент своим «да», WINS. Разница в том, кто контролирует момент оплаты. Именно поэтому UNITS и WINS — принципиально разные риски, хотя обе «сдельные».

Три уровня денег, которые нельзя путать

Тут почти все ошибаются, включая сами вакансии.

FLOOR — только явно гарантированное. Оклад либо ставка, умноженная на гарантированный объём. Известная ставка без гарантированного объёма FLOOR не создаёт — это null. Явное «оклада нет, только процент» — это 0. При пониженной ставке на испытательный в FLOOR идёт основная.

TYPICAL — сумма, которую работодатель сам называет средней или реалистичной.

DREAM — максимум обещаний: «до», «топы получают», «потолка нет».

Отдельное правило для вилок, и оно важнее, чем кажется. Вилка, явно названная окладом или фиксом: нижняя граница — FLOOR, верхняя — DREAM. Вилка без объяснения своей природы (просто «100 000 – 250 000»): FLOOR = null, нижняя граница уходит в TYPICAL, верхняя в DREAM, а доверие автоматически падает. Потому что «от ста до двухсот пятидесяти» без пояснения — это не диапазон оклада, это диапазон надежд.

И главное соглашение всей схемы: null ≠ 0. null значит «в тексте не сказано», 0 значит «в тексте явно сказано ноль». Подмена одного другим убивает всю статистику — вы перестаёте отличать «не платят фикс» от «не написали про фикс». В моих данных это разделение и дало главный вывод: 327 региональных вакансий отсеялись именно за null, а не за низкую цифру.

Доверие к переменной части: три градации

Тег

Что означает

OPEN

формула переменной части раскрыта. Честное «объём не гарантируем» — тоже OPEN

VAGUE

переменная часть заявлена, формула скрыта

HYPE

шапка обещает суммы, которых текст не подтверждает или прямо опровергает

Обратите внимание на первую строку: честность щедрость. Работодатель, прямо написавший «объём не гарантируем», получает высшую оценку доверия, потому что он сказал правду о риске.

Распределение по моим двум рынкам: размыто — 78% и 67%, много обещаний — 14% и 17%, ясно — 6% и 13%. Каждая пятнадцатая удалённая вакансия внятно объясняет, как считаются деньги.

От чего деньги зависят и что можно потерять

Пять тегов, максимум три на вакансию, только по фактам текста:

  • BOSS — деньги зависят от субъективной оценки человека

  • TEAM — выплата за результат команды или компании, не свой

  • CROWD — доход зависит от потока клиентов, лидов, заказов, сезона

  • TRAP — можно потерять уже начисленное: штрафы, удержания, вычеты, vesting, невыплата при уходе

  • FUTURE — доля, опционы, RSU

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

Плюшки: два теста, отделяющие капитал от печенек

Здесь я больше всего доволен формулировкой, потому что она режет корпоративный маркетинг как ножом. Два вопроса:

«Платил бы я за это сам, живя без этой работы?» и «останется ли это со мной после увольнения?»

Тег

Что это

Пример

SUB

замещает личные траты

ДМС, питание, транспорт, жильё в городе, где вы жили бы и так

PORT

переносимый капитал

внешние сертификации, языки, конференции, техника в собственность

TOOL

существует только из-за работы

служебное жильё при объекте, спецодежда, корпоративный ноутбук без передачи в собственность

PUSH

декорация и впаривание

скидки на свою продукцию, мерч, печеньки, корпоративы

Показательные разборы. Жильё: в городе, где вы жили бы и без этой работы — SUB, реальная экономия. Вахтовый посёлок при объекте — TOOL, вам его дали, чтобы вы могли работать. Обучение: внешне признаваемый сертификат — PORT, он ваш навсегда. Внутренние процессы компании — TOOL. «Обучим профессии с нуля» в массовом найме — PUSH, это приманка.

И отдельно: удалёнка и график — не плюшки. Это условия сделки, а не бонус. Вакансия, продающая удалёнку как перк, просто путает вам карты.

Как из этого собирается архетип сделки

Три поля — главный тег BUY, состояние FLOOR (названа сумма / явный ноль / молчание) и TRUST — склеиваются в подпись типа «Платят за роль, оклад не назван, условия размыты». Это и есть строчки на графике «Из чего состоит рынок»: не отрасли и не должности, а типы сделок. 39% моей выборки оказались именно этим архетипом — самым распространённым и самым бессодержательным предложением на рынке.

Правила, без которых схема разваливается

Три принципа, которые я бы назвал несущими:

  1. Описание главнее шапки. Если текст не подтверждает сумму из заголовка — эта сумма уходит в DREAM, а доверие падает до HYPE. Заголовок вакансии — рекламный носитель, и относиться к нему надо соответственно.

  2. При сомнении выбирай более скептичный вариант. TOOL вместо SUB, VAGUE вместо OPEN, null вместо угаданного числа. Систематическая ошибка в сторону осторожности лучше, чем случайная в обе стороны.

  3. Каждый блок про деньги подкреплён дословной цитатой из вакансии до 120 символов, без перефразирования. Это защита от фантазий модели: если цитаты нет — значит, и факта нет.

И последнее свойство, ради которого всё затевалось: разбор денег не зависит от кандидата. Блоки про деньги и факты заполняются только по тексту вакансии и обязаны получиться одинаковыми для любого человека. Персональной является только сверка с контрактом требований. Это значит, что одну и ту же размеченную базу вакансий можно переиспользовать для разных резюме — и сравнивать рынки между собой, а не только с самим собой.

Контракт требований — это восемь проверок, шесть обязательных и две желательные. Каждая даёт один из вердиктов: PASS (проходит), FAIL (не проходит), PARTIAL (частично), UNKNOWN (вакансия молчит об этом), NA (проверка неприменима). Молчание — отдельный вердикт, и это принципиально: «оклад не назван» не то же самое, что «оклад низкий».

Важная деталь методики: у каждой проверки свой знаменатель. Если проверка неприменима — вакансия не попадает в её выборку. Поэтому на дашборде под карточками разные числа: 1481, 1479, 1400, 1376. Сравнивать проценты разных проверок в лоб нельзя, они посчитаны по разным множествам.

Вторая деталь: доли рынка взвешены по работодателям. Вес вакансии равен 1/(число вакансий этой компании). Один наниматель, вывесивший полсотни клонов одной и той же вакансии, не должен рисовать рынок. Поэтому 788 вакансий дают 39%, а 213 — 13%: сырые доли и взвешенные намеренно расходятся.

Всё это видно на скриншотах интерфейса. Но, как оказалось, не везде я применил оптимальную и репрезентативную визуализацию данных, поэтому часть выводов ниже — из кастомных SQL-запросов к локальной базе; такие места помечены отдельно, и то, что окажется полезным, я вынесу в штатный интерфейс следующих ревизий.

Про числа, которые не совпадают. На скриншоте воронки вы увидите 2006, в тексте — 2377, а на графике рынка — 2009. Это не опечатки, а три разных вопроса:

Число

Что именно считает

Период

2377

все вакансии, разобранные ИИ, сгруппированные по ревизиям моего контракта — 894 удалёнка + 1483 офис

27 июля — 5 августа

2006

воронка: вакансии, дошедшие до оценки (дата = минимум из даты разбора и даты отклика)

29 июля — 5 августа

2055 / 2009

капсулы рынка по дате разбора; 46 из них с нехваткой данных, поэтому на графике 2009

29 июля — 5 августа

Расхождение 2377 и 2055 объясняется полностью: первая ревизия контракта стартовала 27 июля, и 322 её вакансии разобраны до начала недельного окна. 2377 − 322 = 2055.

Я специально держу в статье разбивку по ревизиям, а не по календарной неделе: смена ревизии — это и есть смена поиска, и смешивать два разных контракта в одной выборке нельзя. Календарная неделя — единица интерфейса, ревизия контракта — единица исследования.


Поиск №1: удалённая работа

894 вакансии, 27 июля — 4 августа. Фильтр хедхантера: удалённая работа. Требования: 100% удалёнка без исключений, гарантированная база (pure commission — отказ), порог примерно $1500 net, коммерческая релевантность профилю B2B/GTM, отсутствие признаков перегрузки, халяльные ограничения.

Первый сюрприз: фильтр «удалённо» на хедхантере врёт в 13% случаев

Работодатель в описании вакансии выставляет что хочет и никто его не проверяет. Поэтому нередки вакансии которые помечены работодателем как удаленная работа — но по факту требуют оффлайн-присутствия. Это можно выявить читая каждую вакансию — но я с ума сойду читать 2k+ ваканий, поэтому у меня это сделал ИИ. И вот как ИИ увидел формат работы в вакансиях, которые хедхантер отдал по фильтру «удалённая работа»:

Формат

Доля

Удалённо

63%

Несколько форматов на выбор

22%

Разъездная работа

8%

Гибрид

4%

Офис

1%

Двадцать два процента «на выбор» — это нормально, там удалёнка допустима. А вот 13% — разъездная работа, гибрид и прямой офис — попали в выдачу фильтра «удалённо» без всяких оснований. Каждая восьмая вакансия в удалённом поиске удалённой не является.

Проверка формата в контракте валит 16% — чуть больше, потому что туда же попадают вакансии с обязательными командировками и конференциями при формально удалённой основе.


Второй сюрприз: рынок молчит про деньги, а не занижает их

Проверка «доход не ниже порога» дала распределение, которого я не ожидал:

  • проходят — 13%

  • не проходят — 19%

  • вакансия вообще молчит про деньги — 53%

Больше половины удалённых вакансий не называют денег совсем. Гарантированная база названа в 338 вакансиях из 894, то есть в 38%. Из них у 40 она явный ноль — то есть чистый процент, прямым текстом.

Медиана названной базы — 130 000 ₽. Порогу в ~150 000 ₽ соответствует 49% названных окладов, то есть примерно каждый пятый из всей выборки, если помнить, что оклад назвали только 38%.

Ключевой момент, к которому я вернусь в конце: в удалённом контракте я написал «зарплата не указана вообще → обсуждаемо, не критично». Запомните это.


Главная цифра: 45% вакансий удовлетворяют всем критериям

Здесь удалённый рынок оказался неожиданно щедрым. Из 894 вакансий 406 (45%) не провалили ни одного обязательного требования. Ещё 332 (37%) споткнулись ровно об одно.

Что именно отсекает — из кастомного SQL-запроса по вакансиям с единственным провалом:

Единственная причина отказа

Вакансий

Формат работы

96

Доход не ниже порога

79

Профессиональная релевантность

77

Халяльные ограничения

65

Разумная нагрузка

15

Никакого доминирующего барьера. Четыре примерно равных препятствия, каждое отсекает 7–11% выборки в одиночку. Это признак здорового рынка: он широкий, и сужают его мои требования, а не его собственная бедность.

Что удалённый рынок продаёт

  • За что платят: за роль — 76%, за результат — 21%. Почасовой и сдельной работы почти нет.

  • Тип бизнеса: B2B — 46%, B2C — 46%. Ровно пополам.

  • Что продают: продукт — 41%, услуга — 32%, агентство — 12%, локальный малый бизнес — 9%.

  • Признаки перегрузки: отсутствуют у 94%. Обзвон весь день — 3%, переработки — 2%.

  • Прозрачность условий: размыто — 78%, много рекламных обещаний — 14%, ясно указано — 6%.

Шесть процентов. Столько удалённых вакансий внятно объясняют, как устроена система оплаты.

Итоговая оценка

  • ROUTE_GOOD (стоит откликаться) — 8 вакансий (0,9%)

  • ROUTE_MEH (спорно, отклик если нет нормальных альтернатив) — 248 (27,7%)

  • ROUTE_BAD (плохая вакансия явно не удовлетворяющая одному или нескольким моим условиям) — 577 (64,5%)

Обратите внимание на расхождение: 45% проходят формальные требования, но «стоит откликаться» — только 0,9%. Формальное соответствие и жизнеспособная сделка — разные вещи. Вакансия может не нарушить ни одного моего запрета и всё равно не иметь смысла.


Поиск №2: офис в Казани, Альметьевске, Грозном, Махачкале

Вечером 4 августа мы с семьёй решили, что переезд возможен. Я переписал контракт для ИИ: офис принимается, но только в этих четырёх городах и только при гарантированном фиксе от 150 000 ₽/мес. Порог жёсткий и бинарный — проверяется нижняя граница дохода, а не потолок. Если в вакансии «Оклад 100 000, с бонусами до 300 000» — отказ.

За ночь обработалось 1483 вакансии (мой рекорд плотности обработки вакансий за единицу времени).

Первый результат: региональный офис платит больше удалёнки

Это перевернуло мои ожидания.

Удалёнка

Офис в 4 городах

Оклад назван

38% (338 из 894)

26% (388 из 1483)

Медиана названной базы, ₽

130 000

170 000

Доля ≥150 000 ₽ среди названных

49%

69%

Нулевой оклад (чистый процент с продаж)

40

74

Региональный офисный рынок называет деньги реже, но когда называет — они выше. Медиана на 40 000 ₽ больше, и две трети названных окладов перешагивают порог, который на удалёнке берёт меньше половины.

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


Парадокс: платят больше, а отобрано в двадцать раз меньше

Если офисный рынок платит лучше, почему из него прошло 2,5% вакансий против 45% на удалёнке?

Первая мысль — «значит, деньги не главное». Неверно. Я разобрал это тремя запросами, и механизмов оказалось три, причём главный из них — не рыночный, а мой собственный.

Механизм первый: медиана считается по меньшинству. 170 000 ₽ — это медиана среди тех 26%, кто вообще назвал фикс. Остальные 74% молчат. Высокая медиана описывает честное меньшинство; отбор определяется умалчивающим большинством. Две цифры вообще не про одну и ту же группу вакансий, и складывать их в одну интуицию нельзя.

Механизм второй, главный: я по-разному наказал молчание в двух контрактах. Вот числа, от которых у меня поднялись брови.

Молчат про деньги

Из них прошли проверку формата

Из них провалили

Удалёнка

475

371

95

Офис в 4 городах

470

73

327

Молчат оба рынка одинаково — 475 и 470 вакансий, разница в пределах шума. А последствия противоположные, и виноват в этом текст моего контракта.

В удалённом я написал: «зарплата не указана вообще → обсуждаемо, не критично». В офисном: «отказ, если оффлайн-вакансия в подходящем городе, но без явно указанного фикса».

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

Механизм третий: деньги вообще не были узким местом. Я взял только те 216 офисных вакансий, где фикс назван и он ≥150 000 ₽ — то есть денежное требование заведомо выполнено. Сколько из них проходят всё остальное?

  • проходят полностью — 9

  • валятся ровно на одном требовании — 33

  • валятся на двух и более — 174

  • профессионально нерелевантны — 197 из 216, то есть 91%

Девять вакансий. Из тысячи четырёхсот восьмидесяти трёх.

Вот теперь парадокс исчез. Региональный офисный рынок действительно платит больше — но платит он не за то, что я умею делать. Деньги там есть у производств, розничных сетей, госструктур и локальных услуг. Мой профиль — B2B/SaaS/GTM-архитектура — в этих четырёх городах представлен единицами вакансий, и повышение зарплатной планки к ним не относится.

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


Второй результат: 70% выдачи — не моя профессия

А вот здесь региональный рынок отыгрался.

Проверка «профессиональная релевантность» на удалённом рынке валила 15% вакансий. В четырёх городах — 70%.

Семь из десяти вакансий, которые хедхантер отдал по моим фильтрам, — это фундаментально не мой профиль. Не «смежная роль», не «примерно та же роль, но другая индустрия», а другая профессия.

Причина, судя по составу выдачи, арифметическая. В Казани, Альметьевске, Грозном и Махачкале суммарное количество вакансий, реально подходящих под запрос «руководитель продаж B2B», исчисляется десятками. Поисковая выдача обязана чем-то заполниться — и заполняется всем, что хоть отдалённо задевает слово «продажи».

Косвенно это подтверждает состав продавцов: локальный малый бизнес — 19% против 9% на удалёнке, а услуги обгоняют продукт (40% против 25%).


Третий результат: 2,5% вакансий проходят все мои фильтры

Из 1483 вакансий 37 не провалили ни одного обязательного требования. Два с половиной процента против сорока пяти процентов на удалёнке.

Распределение по числу проваленных требований:

Количество проваленных критериев

Вакансий

Доля

0

37

2,5%

1

181

12,2%

2

433

29,2%

3 и больше

832

56,1%

Больше половины выдачи нарушает три и более требования одновременно. На удалённом рынке таких было 2%.

Единственная причина отказа:

Единственная причина

Вакансий

Профессиональная релевантность

105

Формат работы

55

Халяльные ограничения

13

Доход не ниже порога

4

Разумная нагрузка

2

Гарантированная база

2

И контрфактический расчёт — сколько вакансий пройдут всё, если убрать одно требование:

Убрать требование

Пройдут

Прирост

— (как есть)

37

Профессиональная релевантность

142

+105

Формат работы

92

+55

Халяльные ограничения

50

+13

Доход не ниже порога

41

+4

Гарантированная база

39

+2

Разумная нагрузка

39

+2

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

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

Ловушка в собственном контракте

Ещё одна вещь, которую видно только кастомным SQL-запросом. Я написал требование к формату так, что в него встроен денежный порог: «офис принимается только в этих городах и только при фиксе ≥150 000 ₽». В результате проверка формата валит 82% — но это не про формат.

Перекрёстная таблица формат × деньги:

Формат

Деньги

Вакансий

FAIL

FAIL

688

FAIL

UNKNOWN

327

FAIL

PASS

112

PASS

UNKNOWN

73

PASS

FAIL

71

PASS

PASS

36

Только 112 вакансий провалили формат при пройденных деньгах — то есть собственно географический отказ. Остальные 1015 — это денежный порог, переодетый в проверку формата.

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


Что офисный рынок продаёт

  • За что платят: за роль — 58%, за время — 18%, за результат — 16%, сдельно — 6%. Почасовая оплата, которой на удалёнке практически нет, здесь занимает шестую часть.

  • Тип бизнеса: B2B — 46%, B2C — 28%, смешанный — 10%, госсектор — 7%.

  • Признаки перегрузки: переработки — 13% против 2% на удалёнке.

  • Прозрачность: размыто — 67%, много обещаний — 17%, ясно — 13%.

Ясных условий в регионах вдвое больше, чем на удалёнке (13% против 6%), а переработок — в шесть раз.

Итоговая оценка

  • ROUTE_GOOD — 0 вакансий из 1483

  • ROUTE_MEH — 35, 2,4%

  • ROUTE_BAD — 1446, 97,5%

Оценка шанса: низкий — 94%.

Ноль хороших вакансий на 1483 разобранных. При том что деньги там лучше, чем на удалёнке.


Сквозные наблюдения по обоим рынкам

Разрыв между гарантией и обещанием

Из кастомного запроса по вакансиям, где названы и гарантированная база, и обещанный потолок (n=529, рубли):

  • медианное отношение потолок/гарантия — ×2,0

  • верхняя четверть — ×4,0

  • верхние 10% — ×6,0

  • у 10% вакансий гарантия — ноль, при медианном обещании 250 000 ₽ и 800 000 ₽ у верхних 10%

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


Рынок раздроблен, а не заспамлен

Я ожидал увидеть кучку кадровых агентств, забивших выдачу. Не подтвердилось: 1943 вакансии от 1300 работодателей, 76% компаний дали ровно одну вакансию, топ-10 компаний — 7% объёма. Крупнейший работодатель выложил 31 вакансию которая попала в мою поисковую выдачу.

Именно поэтому взвешивание по работодателям почти не меняет картину — перекашивать её некому.


Работодатели отвечают быстро, и молчащие про деньги — чаще

Воронка за неделю: 2006 вакансий взято в работу → 197 подходят → 183 отклика → 91 просмотр или контакт → 78 ответов → 20 с признаками интереса.

Конверсия отклик→ответ — 43%. Медиана времени до ответа — 14 часов, 64% ответов приходят в первые сутки.

Из входящих за неделю: 128 сообщений от живых рекрутеров (92 компании) и 100 от автоматики (24 компании). Автоматика концентрируется: два десятка компаний генерируют сотню сообщений.

А теперь контринтуитивное, из SQL:

Откликов

Ответили

Оклад назван

55

35%

Оклад не назван

139

44%

И по прозрачности условий:

Условия

Откликов

Ответили

Условия рекламные, пыль в глаза

17

71%

Условия размыты

160

39%

Условия ясны

13

31%

Чем меньше вакансия сказала про деньги — тем охотнее её автор отвечает. Разговорчивость работодателя не имеет отношения к качеству сделки; скорее наоборот, это признак воронки, настроенной на объём.

Этой связки в интерфейсе тоже пока нет. Добавлю «отклик по типу сделки» — она напрямую говорит, на какие вакансии не стоит тратить лимит откликов.


Шумность выдачи хедхантера

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

Дубликаты. Из 1716 найденных карточек 258 оказались повторами одной вакансии. Это 15% выдачи, и хедхантер показывает их как разные позиции.

Ложные срабатывания фильтра формата. 13% вакансий в выдаче фильтра «удалённая работа» удалённой работой не являются.

Профессиональный шум. 15% нерелевантных вакансий в удалённом поиске — против 70% в региональном. Чем уже география, тем сильнее поисковик разбавляет выдачу.

Молчание вместо данных. 53% удалённых вакансий не называют денег вообще. Это не свойство поиска, но это то, с чем поиск оставляет вас один на один.

Сложите: из 1716 сырых карточек до состояния «можно осмысленно решать» доходит около четверти. Ручной просмотр этого объёма — примерно 20 часов чтения, из которых 15 уходит на мусор.


Что со всем этим делать

Для меня. Удалённый рынок шире и осмысленнее, чем я думал: 45% вакансий не нарушают ни одного моего условия. Региональный офисный платит лучше — медиана выше на 40 000 ₽ — но профессионально почти пуст: девять вакансий с подходящими деньгами и подходящей профессией на 1483 разобранных, ноль оценённых как «стоит откликаться».

Переезд ради денег арифметически оправдан. Ради работы по профилю — нет, и разрыв на порядок. Единственное требование, ослабление которого реально открывает поток, — профессиональная релевантность — смени профессию и будешь востребован оффлайн.

Полезный побочный результат: я узнал, что 327 региональных вакансий отсеялись за молчание про деньги, а не за плохие деньги. Это исправимо — достаточно смягчить контракт до «молчит про фикс → уточнить в отклике», как это было сделано в удалённом варианте. Следующий прогон покажет, сколько из них выживет по существу.

Для метода. Четыре вещи, которые я бы посоветовал любому, кто строит себе формальные критерии поиска:

  1. Считайте «единственную причину отказа». Требование, которое никогда не срабатывает в одиночку, ничего не фильтрует — оно просто дублирует соседей. У меня таких оказалось четыре из шести.

  2. Не склеивайте два условия в одну проверку. Мой формат с зашитым денежным порогом дал 82% отказов, из которых по существу формата было 11%.

  3. Считайте молчание отдельно от отказа. «Не сказано» и «не подходит» — это разные рыночные факты, и слипаясь в одну красную полоску они дают неверную картину.

  4. Решите заранее, как наказывать молчание — и держите это решение одинаковым. Я случайно написал два разных правила для двух поисков и получил 327 вакансий, отсеянных за отсутствие цифры, а не за плохую цифру. Это была самая дорогая строчка в обоих контрактах, и обнаружилась она только перекрёстным запросом.

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

Для интерфейса. По итогам разбора в план следующих ревизий: контрфактический расчёт по ослаблению требований, перекрёстная таблица требований (какие срабатывают вместе), конверсия отклика по типу сделки и прозрачности. Всё это сейчас доступно запросом к локальной базе, но должно быть кнопкой.


Инфографика

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

Разбор выполнен локально: вакансии читаются в браузере на моей машине, разбор идёт через параллельные ИИ-сессии, данные лежат в локальной SQLite. Цифры в статье — из этой базы, часть графиками интерфейса, часть кастомными запросами; выборка одна и та же.


Итоги

Если убрать всё занудство и оставить только то, что я теперь знаю про свой рынок:

1. Удалённый рынок — мой основной, и он вдвое шире, чем я думал. 45% вакансий не нарушают ни одного из шести обязательных условий. Я девять дней исходил из того, что рынок узкий и надо снижать планку. Рынок не узкий — узкое горлышко в другом месте.

2. Переезд в регионы даёт деньги, но не работу. Медиана названного оклада там выше на 40 000 ₽, но вакансий, где сходятся и деньги, и профессия, — девять на 1483. Как способ заработать больше — работает. Как способ найти работу по профилю — нет, и разрыв на порядок.

3. Формальное соответствие и жизнеспособная сделка — разные вещи. 406 удалённых вакансий прошли все требования. Из них ИИ оценил как «стоит откликаться» восемь. Между «не нарушает моих запретов» и «имеет смысл» лежит пропасть, и никакой набор бинарных фильтров её не закрывает.

4. Рынок заменяет гарантию обещанием. Медианное отношение обещанного потолка к гарантированной базе — ×2, у верхних 10% — ×6, а у каждой десятой вакансии гарантия ноль при обещании в четверть миллиона. Читать вакансию нужно снизу вверх: сначала нижняя граница, потом всё остальное.

5. Восемь хороших вакансий за девять дней при 2377 разобранных — это и есть честный масштаб рынка. Один процент от процента. Всё, что даёт объём, — это скорость перебора, а не смягчение критериев.


Низковисящие фрукты, по убыванию отношения выгоды к усилию

Первое место: 77 вакансий, которые прошли всё и не получили отклика. Из 406 чистых удалённых вакансий 48 вообще не дошли до оценки маршрута, а ещё 29 получили «средне», но остались без отклика — при том что моя политика откликов включает средние. Это не вопрос критериев, это недоработанная очередь. Ноль изменений в контракте, просто добить.

Второе место: одна строчка в региональном контракте. 327 вакансий в четырёх городах отсеялись за то, что не назвали фикс, а не за то, что он низкий. В удалённом контракте у меня написано «зарплата не указана → обсуждаемо», в региональном — «не указана → отказ». Поменять формулировку на «уточнить в отклике» — и триста двадцать семь вакансий возвращаются в оценку. Стоимость правки: одно предложение.

Третье место: недоиспользованный лимит. Дневной лимит откликов — 200, за сутки уходило 122. При конверсии отклик → интерес около 11% каждые недоиспользованные 78 откликов — это примерно восемь потерянных контактов в день.

Четвёртое: перестать бояться ночных откликов. Я специально проверил запросом долю ответов по часу отправки отклика. Разброс с 32% до 81% по часам, но без всякой закономерности и на малых объёмах: пик в 4 утра (81% на 21 отклике) и в 17 часов (79% на 47). Ночные пакетные отклики отвечаются не хуже дневных. Распространённое суеверие «отправляй в рабочее время» на моих данных не подтверждается. Этого графика в интерфейсе нет — считал отдельным SQL-запросом.

Пятое: не тратить лимит на самых разговорчивых. Вакансии категории «много обещаний» отвечают в 71% случаев против 31% у тех, кто описал условия ясно. Соблазн очевидный, ловушка тоже: высокий отклик там означает воронку, настроенную на объём, а не интерес к конкретному кандидату.

Удалёнка остаётся основным направлением: там 45% вакансий проходят мои фильтры, там все восемь вакансий признанных хорошими за эту неделю. Регионы имеет смысл прогнать ещё раз, но сначала смягчив денежное правило.

Профессиональная релевантность — единственный рычаг, который реально открывает поток (+105 вакансий в регионах, +77 на удалёнке при снятии); то есть если я научусь новому — мне откроется больший сегмент рынка труда. Все остальные требования — деньги, нагрузка, халяльные ограничения — рынку почти не мешают и в одиночку отсекают единицы.


Про инструмент

Всё, что описано выше, посчитано моей собственной программой. Она работает локально: открывает вакансии в браузере на моей машине, читает их через параллельные ИИ-сессии, раскладывает в структурированные капсулы, сверяет с контрактом требований и складывает в локальную SQLite. Отклики отправляет тоже сама. Никаких облаков, никакой передачи резюме на сторону, данные не покидают компьютер.

За ночь она разобрала 1427 вакансий. Вручную этот объём — минимум двадцать часов чтения, из которых пятнадцать ушло бы на мусорные вакансии.

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


Могу сделать такое же исследование для сообщества

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

Если интересно посмотреть на свой сегмент такими глазами — пишите в комментариях. Результат опубликую следующей статьёй.

Ну и…

Скрытый текст

предложения о работе тоже приветствуются, мне нужен заработок

ссылка на оригинал статьи https://habr.com/ru/articles/1067014/