Главная Блог Уведомления о вакансиях
Телеграм-бот с вакансиями: как он работает и чего не умеет
Телеграм-бот с вакансиями со стороны выглядит как чёрный ящик: выбрали роли — и в чат начинают падать вакансии. Никакой магии тут нет, и если понимать, как бот устроен, его проще правильно настроить и понятно, насколько ему доверять. Ниже — по шагам, как Hot Jobs находит, фильтрует и присылает вакансии, а в конце честный список того, чего он не умеет.
Коротко
- Бот читает открытые списки вакансий фиксированного набора компаний и двух площадок с удалёнкой.
- Каждые 30 минут он проверяет их снова и отмечает, что появилось с прошлого раза.
- Название каждой новой вакансии сверяется с ролями, которые вы выбрали.
- Локация вакансии сверяется с тем, где вы готовы работать.
- Если совпало и то и другое, приходит сообщение: компания, должность, локация и ссылка на отклик.
Шаг 1. Откуда берутся вакансии
Hot Jobs читает карьерные страницы 390+ IT-компаний — среди них Figma, Linear, GitLab, Spotify, Monzo и SumUp. Все они публикуют вакансии через одну из трёх ATS: Greenhouse, Lever или Ashby. У каждой такой системы есть открытая версия списка вакансий компании — тот же список, что вы видите на её сайте. Почему новые позиции обычно появляются там раньше всего, мы разбирали в статье что такое Greenhouse, Lever и Ashby.
Кроме сайтов компаний, бот читает две площадки с удалёнными вакансиями — Remotive и Himalayas. Там публикуется гораздо больше компаний, чем эти 390+. Если вакансия пришла с такой площадки, бот пытается найти ту же позицию на карьерной странице самой компании, чтобы ссылка вела на оригинал, а не на пересказ.
На этом список источников заканчивается. LinkedIn, hh.ru, Хабр Карьеру и Telegram-каналы бот не читает.
Шаг 2. Проверка каждые 30 минут
Раз в 30 минут бот забирает список вакансий каждой компании и сравнивает его с тем, что видел в прошлый раз. Всё, чего раньше не было, — кандидат на отправку. Himalayas проверяется в том же ритме. Remotive просит сервисы, которые пользуются его лентой, обращаться к ней всего несколько раз в день, поэтому её бот читает примерно раз в шесть часов.
От повторов защищают два правила:
- Вакансия считается новой только один раз, повторно она не придёт.
- Одна и та же пара «компания + должность» не приходит дважды за 30 дней — даже если вакансию закрыли и открыли заново или разместили в нескольких городах.
Из-за 30-минутного цикла вакансия с карьерной страницы одной из 390+ компаний обычно доходит до вас примерно в течение получаса после публикации. Часто это раньше, чем она появится в LinkedIn, но не всегда: некоторые компании публикуют везде одновременно.
Шаг 3. Сверка по названию должности
Бот смотрит только на название вакансии. Для каждой из 25 ролей есть набор ключевых слов, например:
| Роль | Какие слова ищутся в названии (примеры) |
|---|---|
| Frontend | frontend, front-end, React, Vue, Angular, web developer |
| Backend | backend, API engineer, Node.js, Golang, Python developer |
| DevOps / Platform / SRE | DevOps, SRE, site reliability, platform engineer, Kubernetes |
| Продуктовый дизайнер | product designer, UX designer, UI designer, interaction designer |
| Solutions / Sales Engineer | solutions engineer, sales engineer, customer engineer |
Несколько деталей, от которых зависит, что вы получите:
- Только целые слова. «iOS» не сработает на «scenarios», а «QA» — внутри другого слова. Регистр не важен, множественное число учитывается.
- Руководящие должности — отдельно. Если вы выбрали Frontend, вакансия «Engineering Manager, Frontend» к вам не придёт: это роль руководителя разработки. То же с названиями, где есть director, head of, VP или chief.
- Джуниорские вакансии по умолчанию скрыты. Названия со словами junior, intern, graduate, trainee или working student пропускаются, пока вы сами не включите джунов. Когда это имеет смысл, разбирали в статье о фильтрах для поиска работы джуну.
Шаг 4. Сверка по локации
Затем бот читает поле локации и сравнивает его с вашим выбором:
- «Удалённо · Европа и EMEA» — удалённые вакансии, открытые для Европы, Великобритании и Ближнего Востока. Вакансии с привязкой к другому региону, например «Remote - US», отсекаются. Просто «Remote» без региона пропускается.
- «Удалённо · Америка» — то же самое для США, Канады и Латинской Америки.
- «Удалённо · любая страна» — все удалённые вакансии, в каком бы регионе они ни были открыты.
- «Только мои города» — офис, гибрид и удалёнка в городах, которые вы впишете (до 10).
К удалёнке тоже можно добавить города — тогда вместе с удалёнными придут и гибридные вакансии в вашем городе. Локация с пометкой hybrid или on-site удалёнкой не считается. Почему поле локации такое запутанное, объясняем в статье об удалённых вакансиях, открытых для Европы.
Шаг 5. Сообщение
Если вакансия прошла обе проверки, приходит сообщение: компания, точное название должности, локация в том виде, как она указана в вакансии, и ссылка. Ссылка ведёт на страницу отклика самой компании везде, где бот может её найти.
Ещё две вещи:
- Дайджест. Если за одну проверку нашлось больше 10 подходящих вакансий, они придут одним сообщением, а не лавиной.
- Сразу после подключения. Когда вы нажимаете START, приходит до 5 подходящих вакансий, открытых прямо сейчас, — видно, как работают ваши фильтры, и не нужно ждать.
Чего бот не умеет
Такой бот узкий намеренно:
- Он читает название, а не описание. Должность без ключевого слова, например «Engineer II» или «Staff Engineer, Payments», не попадёт в Backend, даже если работа бэкендерская. Роль «Разработчик (любой стек)» ловит многие общие названия, но не все.
- Он читает поле локации, а не мелкий шрифт. Просто «Remote» в описании может оказаться «только США». Проверяйте перед откликом.
- Города сравниваются по написанию. Если в вакансии «München», а вы вписали «Munich», совпадения не будет. Если сомневаетесь, добавьте оба варианта.
- Только свои источники. Компанию не из списка 390+, которая не публикуется на Remotive и Himalayas, бот не увидит.
- Нет фильтров по зарплате, стеку, размеру компании и визовой поддержке. Откликаться за вас, смотреть резюме или обещать собеседования он тоже не будет.
Как настроить бота с пользой
Выберите смежные роли, на которые вы реально откликнетесь, а не одну. Если вы в Европе, берите «Европа и EMEA» и добавьте города, где готовы работать. Первую неделю считайте настройкой: если приходит не то, отправьте /settings и поправьте фильтры — это бесплатно. А если вы совмещаете несколько источников, пригодится статья о том, как настроить уведомления о вакансиях без лишнего шума.
Hot Jobs — независимый сервис на базе обычного Telegram-бота (не продукт самого Telegram), и работает он ровно так, как описано выше. Стоит €3, оплата один раз, без аккаунта и подписки. Подключить бота