Сразу оговорка: внутренние алгоритмы job-бордов закрыты, и любой, кто рассказывает про «формулу ранжирования hh», либо продаёт курс, либо пересказывает чужой пересказ. Я не знаю формулу. Зато можно разобрать, что технически происходит между нажатием кнопки «откликнуться» и моментом, когда резюме оказывается перед человеком, — и какие из популярных советов из этого следуют, а какие нет.
Что происходит между откликом и просмотром
Упрощённо, на входе два текста — вакансия и резюме — и слабоструктурированные поля: должность, локация, зарплатная вилка, опыт в годах, набор навыков.
Дальше платформа решает задачу сопоставления. Часть признаков жёсткие (город, требуемый опыт, вилка), часть — текстовые, извлечённые из свободного описания. По итогам рекрутер получает не «рейтинг человека», а интерфейс, где отклики отсортированы и часть из них помечена как более подходящие.
Важный момент, который часто теряется в обсуждениях: рекрутер видит очередь и работает с ней в условиях ограниченного внимания. Даже безупречная сортировка не меняет того, что до конца списка он не дойдёт. Значит, вопрос не «попал ли я в базу», а «попал ли я в ту часть очереди, которую физически просмотрят».
Чего из этого не следует
Не следует, что можно набить ключевых слов. Это первое, что приходит в голову инженеру, и это работает плохо по двум причинам. Во-первых, современные системы сопоставления не считают простые вхождения — плотность терминов перестала быть сильным сигналом лет десять назад. Во-вторых, резюме читает человек, и облако терминов в подвале выглядит ровно тем, чем является.
Не следует, что решение принимает алгоритм. Ранжирование — это порядок показа, а не решение о найме. Дальше идёт ручной просмотр, вопросы по опыту, процесс конкретной компании. Оптимизировать сортировку в отрыве от читаемости бессмысленно: попасть наверх и получить отказ на первом же экране — не результат.
Что действительно влияет и проверяется без доступа к алгоритму
Согласованность полей и текста. Если в заголовке «аналитик», а весь описанный опыт — про продажи, и алгоритму, и человеку приходится решать задачу интерпретации. Оба решают её не в вашу пользу.
Название роли. Если позиция называется «Руководитель проектов», а у вас в заголовке внутреннее «Проджект-лид дивизиона B2C», совпадение перестаёт быть очевидным. Это не про обман: если ваша работа честно называется так, как называется вакансия, — назовите её так.
Явные формулировки навыков. Косвенное описание («отвечал за финансовую часть») хуже прямого («управление бюджетом проекта»), если речь об одном и том же. Извлечение сущностей работает по тексту, а не по вашему замыслу.
Порядок. Релевантный проект должен быть заметен без чтения всей биографии. Это влияет уже не на сортировку, а на то, что произойдёт после открытия карточки, — и по факту это более важный этап.
Почему универсальное резюме структурно проигрывает
Универсальный документ пытается одновременно доказать пригодность к нескольким ролям. Релевантный опыт из него не исчезает — он размывается среди менее релевантного.
С точки зрения задачи это ошибка постановки: вы оптимизируете один артефакт под несколько разных целевых функций сразу. В таких задачах компромиссное решение проигрывает специализированному по каждой из целей отдельно.
Отсюда практический вывод, единственный, который я готов защищать: адаптация резюме — это выбор фокуса и терминологии под конкретную вакансию, а не добавление фактов. Меняется порядок и формулировки. Не меняется содержание.
Всё остальное — попытки угадать веса в закрытой модели, и я бы не тратил на это время.