12 KiB
Критерии отсева и триаж вакансий — 2026
Статус документа: authoritative playbook для триажа. Единый источник для решения apply / skip и выбора версии CV. Сводит воедино критерии из
strategy-positioning-tracks-2026.md(разделы 3–4),<objective>+<reality_calibration>из основной инструкции, backend-трек изcv-backend-variant-hostinger-2026-05.md, таймзонные расчёты изfacts-from-salmon-chat.md. Приоритет при конфликте: явное указание Олега → этот документ → остальные файлы. Последнее обновление: 2 июня 2026 (v1, ввод comp-scaled таймзоны, fallback comp-яруса, research-протокола по площадкам).
1. Логика в двух словах
Сначала четыре hard-gate (объективные блокеры — отсев без вариантов). Прошли все четыре — вакансия в работе, дальше не отсев, а классификация трека и выбор CV. Триаж занимает ~5 минут чтения JD.
Базовая постура: trying-friendly, не filtering-friendly. На спорных побеждает «подаём». Жёсткий skip — редкость, нужен конкретный объективный блокер.
2. Hard-gate — четыре блокера
Вакансия проходит, если выполнены все четыре одновременно.
Gate 1 — География / найм
Можно нанять одним из:
- contractor через Deel / Remote.com из Таиланда, ИЛИ
- remote-employee для компании, нанимающей non-US резидентов.
Skip если: location-locked / US-only / UK-only / EOR не покрывает Таиланд и нет contractor-опции.
Gate 2 — Таймзона (comp-scaled, не бинарный)
Базовое окно гибкости: 9:00–22:00 GMT+7 (полный EMEA overlap, утренний US East). Это предел, до которого можно растягиваться без доплаты за неудобство; комфортный день — 11:00–20:00.
| Что требует роль | Условие прохождения |
|---|---|
| Overlap укладывается в 9:00–22:00 GMT+7 | проходит при любом comp ≥ floor |
| Overlap выходит за окно (частичное пересечение) | проходит, если comp > $9k |
| Полный overlap, ночная работа (PST core hours, full US-day) | проходит, если comp > $10k |
Skip по таймзоне только если: comp ≤ $9k И требуемый overlap выходит за пределы 9:00–22:00 GMT+7.
Gate 3 — Compensation
| Ярус | Зона | Как рассматриваем |
|---|---|---|
| Целевая | $8–12k/мес | основная воронка |
| Floor | $6–8k/мес | нормальный рабочий нижний порог |
| Fallback | $4.5–6k/мес | только временный мостик, «если вообще ничего нет». Не основная воронка, штучно и осознанно |
| Skip | < $4.5k/мес | отсев |
Сигналы «ниже floor» без явной вилки: pre-seed без funding visibility + equity-heavy framing + явное «scrappy team». Stretch выше $15k существует для founding-engineer ролей в AI-стартапах Series A–B, но только при реальном матче профиля.
Gate 4 — Уровень роли
Senior / Staff / Tech Lead / опытный middle+.
Skip если: явный junior / mid без потолка роста. НЕ skip если: роль выглядит выше (Lead / Principal / Head) — это сигнал, что внутри такого человека нет, стоит пробовать, особенно если подача быстрая.
3. Классификация трека (после прохождения gate)
Не отсев, а выбор CV и угла письма.
| Условие в JD | Трек | CV |
|---|---|---|
| AI в must-have (LLM / agents / MCP / RAG / orchestration / embeddings в core requirements) | Track A | CV-A (cv-2026-05-base.md) |
| Чистый Node.js / backend, AI как nice-to-have / «significant plus» | Backend-first | CV-C (cv-backend-variant-hostinger-2026-05.md) |
| Senior / full-stack / frontend без AI в must-have | Track B | CV-B (oleg_proskurin_fullstack_techlead_cv.md) |
| Senior + AI-tooling fluency как требование (не AI-продукт, а «build with AI assistance») | Hybrid | CV-B с AI, поднятым в Skills на 2–3 позицию |
Russian-speaking scale-ups (Manychat, inDrive, Wheely, Joom, Adapty и подобные) — по умолчанию Track B, даже если AI в JD не упомянут.
Принцип на спорных:
- между «Track B» и «skip» → побеждает Track B;
- между «Track A» и «Track B» для гибридной JD → есть AI в must-have → A, нет → B.
4. Обработка отсутствующих навыков
Один отсутствующий навык (Go, конкретный фреймворк, named-инструмент) — не skip.
Но:
- Не флагать явно в письме. Не строить конструкцию «вот тут у меня гэп / one thing to flag».
- Сначала уточнить у Олега перед подачей: «в JD просят X, не вижу его в материалах — был ли опыт?» Навык часто есть, просто выпал при тримминге CV (примеры: Redux Toolkit / RTK Query, Vitest, Playwright в
facts-from-salmon-chat.md; Jest в backend-CV; eCommerce/CMS tail вcv-master-extended.md). - Сначала проверяем реальность → потом решаем, как подавать.
Реальные гэпы, которые можно называть без проверки (из <profile_scope_and_matching>): языки вне стека (Go, Rust, Java, C++, Ruby, PHP), heavy DevOps (K8s-оркестрация at scale, SRE), нативный мобайл (Swift, Kotlin). React Native и Python — bridgeable, не гэп.
5. Research-протокол при анализе вакансии
Дополнительно к чтению самой JD — рекомендуется (особенно для ролей, проходящих gate):
5.1. Поресёрчить саму компанию
Что за компания, что делает, продукт, стадия, funding, недавние новости, размер команды, репутация (Glassdoor / Blind где есть). Цель — понять контекст и отсеять ghost / red-flag компании.
5.2. Найти, где ещё выложена эта вакансия
Сравнить постинг на разных площадках (careers-page компании, LinkedIn, ATS-ссылка, job-боарды, агрегаторы). Обратить внимание и консолидировать:
- Дата постинга — самое раннее появление. Старый постинг (90+ дней без обновлений) — ghost-сигнал.
- Вилка — где какая указана. Разные площадки часто дают разные band'ы.
- Гео-ограничения — где-нибудь указано US Only / UK Only / location-locked / список eligible стран?
5.3. Правило приоритета ограничений
Ограничения трактуются как более актуальная / авторитетная информация. Если в одном месте «remote», а в другом «US only» — значит берут US only, отсев по Gate 1. Менее ограничительная формулировка побеждает только если прямо и явно указано, что ограничение снято / расширено.
Это согласуется с известным паттерном (<memory>, strategy-docs): «100% remote» на LinkedIn engagement-листах надёжно завышает гео-гибкость — всегда проверять hiring-country eligibility до вложения в тейлоринг. Freshteam ATS: SSR отдаёт полный JD независимо от статуса; «not accepting applications» — JS-оверлей, подтверждать активность apply-кнопки в браузере.
Вся найденная информация консолидируется в один разбор вакансии, не размазывается.
6. Ложные блокеры — НЕ основание для skip
Системные ошибки триажа, которых избегаем (из strategy-positioning-tracks-2026.md раздел 4):
- Роль выглядит senior-heavy (Lead / Principal / Head) → сигнал «внутри нет такого», пробовать.
- Один отсутствующий навык → уточнить у Олега, не skip (см. раздел 4).
- «Не AI-first компания» → причина для Track B / Hybrid, не отказ.
- Поверхностный domain mismatch → смотрим на технические задачи (orchestration, structured extraction, LLM workflows), не на ярлык индустрии.
- «Не Russian-speaking scale-up» → нейтрально, не минус.
- «Stage / timeline не вписывается в 8 недель» → влияет на приоритизацию последовательности, не на отсев. Проверять скорость interview-процесса по сигналам.
- Comp ниже $8k но в floor / fallback → рассматриваем, особенно если компания стратегическая или роль интересная.
- Tech-stack mismatch с быстрым ramp → лиди к подаче, ramp упоминаем честно (но не выпячиваем гэп — см. раздел 4).
7. Operational flow при получении JD
- Открыть и прочитать JD (при недоступности URL — halt, не реконструировать из памяти).
- Извлечь за первую минуту: уровень роли, must-have stack, AI-наличие (must / nice / нет), location & timezone constraints, comp-сигналы.
- Прогнать 4 hard-gate (раздел 2). Любой провален → skip с одним объективным критерием.
- Anti-pattern self-check (раздел 6): отсеваю ли по subjective критерию? Да → повысить класс.
- Research-протокол (раздел 5): компания + кросс-площадочная проверка ограничений и вилки.
- Прошли gate → классифицировать трек (раздел 3) + назвать рекомендуемое CV + 2–3 proof-point для письма.
- Missing skills → уточнить у Олега до подачи (раздел 4).
- Выдать консолидированный разбор: роль/компания, фит, трек, strong matches, open questions, найденные ограничения/вилки по площадкам, рекомендация apply/skip.
8. Когда обновлять документ
- После первого callback / interview / rejection из каждого трека → калибровка proof-point и порогов.
- При изменении comp-floor, таймзонного окна или target-зоны Олегом → правка немедленно.
- Раз в 4 недели baseline pass — рынок и позиционирование меняются быстро.