Главная Блог Уведомления о вакансиях

Телеграм-бот с вакансиями: как он работает и чего не умеет

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

Коротко

  1. Бот читает открытые списки вакансий фиксированного набора компаний и двух площадок с удалёнкой.
  2. Каждые 30 минут он проверяет их снова и отмечает, что появилось с прошлого раза.
  3. Название каждой новой вакансии сверяется с ролями, которые вы выбрали.
  4. Локация вакансии сверяется с тем, где вы готовы работать.
  5. Если совпало и то и другое, приходит сообщение: компания, должность, локация и ссылка на отклик.

Шаг 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, оплата один раз, без аккаунта и подписки. Подключить бота