Справочник • инструкции • практикаПоиск по сайту

Онлайн-образование и цифровые профессии

Найти материал →

Поиск работы через людей: как resume2human находит контакты нанимающих специалистов

Я не откликаюсь на вакансии - я нахожу людей, которые за ними стоят

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

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

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

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

Так появился resume2human - Windows-приложение, которое автоматизирует не отправку писем, а подготовительную часть поиска. Оно анализирует резюме, подбирает подходящие вакансии и показывает по каждой позиции от одного до трёх живых контактов, которым кандидат может написать самостоятельно.

В проекте использованы 24 коллектора и 111 досок с вакансиями компаний. Работу системы проверяли 345 тестами. При этом программа обходится без API-ключей и искусственного интеллекта. Это принципиальное ограничение: разработчик хотел построить инструмент, который можно запускать без платных интеграций, сложной регистрации и передачи данных внешним сервисам.

Как проходит один запуск

Приложение распространяется как Windows-программа. После распаковки оно занимает около 184 МБ, а установка Python не требуется.

На первом этапе пользователь загружает резюме в формате PDF, DOCX, TXT, MD или RTF. Текст также можно вставить вручную. Подойдёт и свободное описание вроде: "Senior Java Developer, Kafka, Рига или удалённо". Программа извлекает из него предполагаемый стек, уровень специалиста и желаемую должность.

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

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

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

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

Откуда берутся контакты

Каждый найденный адрес сопровождается отметкой о происхождении. Например, обозначение `[company_site/verified]` означает, что контакт подтверждён на странице самой компании. Метка `[search/likely]` говорит о том, что профиль найден через поиск, но адрес не был открыто опубликован работодателем.

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

Именно на проверке происхождения данных возникли одни из самых серьёзных багов проекта.

Вакансия на доске не всегда принадлежит указанной компании

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

Проверка домена через `endswith("x.com")` опасна

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

Одинаковые названия не означают одну компанию

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

Особый случай - LinkedIn

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

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

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

Почему в проекте нет ИИ

Отказ от ИИ здесь не означает отказ от анализа. Система может извлекать текст, нормализовать названия навыков, сравнивать словари и считать степень соответствия. Однако эти операции выполняются предсказуемыми алгоритмами, а не генеративной моделью.

У такого решения есть преимущества. Результаты проще объяснить, отладить и повторить. Пользователь понимает, почему вакансия получила высокий балл: совпали технологии, должность, уровень и локация. Кроме того, не требуется отправлять резюме во внешний ИИ-сервис.

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

Честные ограничения

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

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

Чтобы такой подход работал лучше, письмо должно быть коротким и персональным. В нём достаточно представиться, назвать релевантный опыт, объяснить интерес к конкретной позиции и задать один понятный вопрос. Массовая рассылка одинакового текста быстро превращает персональный канал в тот же спам.

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

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

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

Прокрутить вверх