Код, интерфейсы и трафик без воды
lawebbox

Мы автоматизировали поиск работы в IT — и поняли, где теряют оффер ещё до первого отклика

Сервис «Софи» от команды Хабра прокатил через себя больше миллиона откликов на IT-вакансии за год — и вытащил три паттерна, по которым кандидаты снимают себя с гонки до того, как рекрутер вообще откроет резюме. Не баг в ATS, не кривое сопроводительное.

Илья Воронов, Хардкорный бэкендер и девопс · обновлено 27 июня 2026 г.

Мы автоматизировали поиск работы в IT — и поняли, где теряют оффер ещё до первого отклика

Паттерн первый: «не знаю один из десяти — значит, не моё»

Разработчик видит в требованиях стек из десяти технологий. Знает девять. Десятую — нет. Не откликается. Логика кажется железной: зачем тратить время, если откажут?

Проблема в том, что описание вакансии — это не техническое задание с acceptance criteria. Это хотелки. Компании сами понимают, что кандидат с полным совпадением по всем пунктам — единорог. На практике выбирают того, кто убедил на собеседовании, а не того, кто идеально лег в чеклист.

Один из кейсов из статьи: девушка-джун получила оффер на позицию, где в требованиях стояло «3–6 лет опыта». Офис, хорошие деньги, NDA. Она просто не поставила себе жёсткий фильтр по релевантности — и отправила отклик. Система тоже не ставила: авторы сервиса намеренно не накладывали автоматических ограничений, потому что видели — люди фильтруют себя жёстче любого алгоритма.

Паттерн второй: «years of experience» — костыль, который никто не снимает

Строки вроде «mid-level», «3–5 лет», «senior» работают как ментальный gatekeeper. Кандидат видит цифру, сравнивает со своим профилем — и закрывает. Но на практике это не жёсткий фильтр. Авторы сервиса регулярно наблюдали вакансии, где в описании был мидл, а в итоге нанимали человека с заметно меньшим опытом. Иногда потому, что быстрее учится. Иногда потому, что лучше проходит собеседование. Иногда — просто потому, что остальные кандидаты оказались слабее.

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

Что это значит на практике

Мы привыкли, что система прозрачна: CI прошёл — мерж, CI упал — фикс. Hiring pipeline так не работает. Рекрутер не запускает тест, который вернёт `exit code 1`. Он оценивает человека — и его критерии не совпадают с тем, что написано в JD.

Автоматизация поиска работы, которую строит команда «Софи», интересна не только как сервис. На миллионе откликов видно: самые болезненные потери — это не отказы рекрутера. Это отклики, которые не случились. Человек сам себе выставил `403 Forbidden` на вакансию, где мог бы пройти.

Практический вывод прост и неприятен для перфекционистов: если в требованиях указан стек на 10 позиций, а ты знаешь семь — откликайся. Если написано «3–5 лет», а у тебя полтора — откликайся. Худшее, что случится — молчание в канале. А молчание в канале ты и так получаешь, просто сидя и не отправляя резюме.

# Напутствие: делайте отклики, а не grep по JD.
# Описание вакансии — это wishfile, а не spec.
# Жёсткие фильтры ставьте только на salary range.