166 lines
9.6 KiB
Markdown
166 lines
9.6 KiB
Markdown
# Режим: oferta — Полная оценка A-F
|
||
|
||
Когда кандидат вставляет вакансию (текст или URL), ВСЕГДА выдать 6 блоков:
|
||
|
||
## Шаг 0 — Определение архетипа
|
||
|
||
Классифицировать вакансию по одному из архетипов (см. `_shared.md`). Если гибрид — указать 2 ближайших. Это определяет:
|
||
- Какие proof points приоритизировать в блоке B
|
||
- Как переписать summary в блоке E
|
||
- Какие истории STAR готовить в блоке F
|
||
|
||
## Блок A — Резюме роли
|
||
|
||
Таблица с:
|
||
- Определённый архетип
|
||
- Domain (platform/agentic/LLMOps/ML/enterprise/backend/frontend/devops)
|
||
- Function (build/consult/manage/deploy)
|
||
- Seniority
|
||
- Формат работы (удалённо/гибрид/офис)
|
||
- Размер команды (если указано)
|
||
- Оформление (ТК РФ / ГПХ / самозанятость — если указано)
|
||
- TL;DR в 1 предложении
|
||
|
||
## Блок B — Совпадение с CV
|
||
|
||
Прочитать `cv.md`. Создать таблицу: каждое требование JD → точные строки CV.
|
||
|
||
**Адаптировано под архетип:**
|
||
- Если FDE → приоритизировать proof points быстрой поставки и клиентской работы
|
||
- Если SA → приоритизировать системный дизайн и интеграции
|
||
- Если PM → приоритизировать product discovery и метрики
|
||
- Если LLMOps → приоритизировать evals, observability, pipelines
|
||
- Если Agentic → приоритизировать мульти-агент, HITL, оркестрацию
|
||
- Если Backend → приоритизировать highload, микросервисы, масштабирование
|
||
- Если DevOps/SRE → приоритизировать инфраструктуру, CI/CD, мониторинг
|
||
|
||
Раздел **пробелов** со стратегией закрытия каждого:
|
||
1. Это hard blocker или nice-to-have?
|
||
2. Может ли кандидат продемонстрировать смежный опыт?
|
||
3. Есть ли портфолио-проект, закрывающий этот пробел?
|
||
4. Конкретный план закрытия (фраза для сопроводительного, быстрый проект и т.д.)
|
||
|
||
## Блок C — Уровень и стратегия
|
||
|
||
1. **Уровень в JD** vs **естественный уровень кандидата для этого архетипа**
|
||
2. **План "продать senior без обмана"**: конкретные фразы, адаптированные под архетип, достижения для акцента, как позиционировать опыт
|
||
3. **План "если понизят уровень"**: принять если компенсация справедлива, договориться о пересмотре через 6 месяцев, чёткие критерии роста
|
||
|
||
## Блок D — Компенсация и спрос
|
||
|
||
Использовать WebSearch для:
|
||
- Актуальные зарплаты по роли (habr.com/salary, hh.ru/salary, Glassdoor, Levels.fyi, Blind)
|
||
- Репутация компании по компенсации
|
||
- Тренд спроса на роль
|
||
- **Gross vs Net**: уточнить, что указано в JD (до вычета НДФЛ 13% или на руки)
|
||
|
||
Таблица с данными и цитированием источников. Если данных нет — сказать об этом вместо выдумывания.
|
||
|
||
**Специфика РФ:**
|
||
- Если зарплата указана gross → показать приблизительный net: `net ≈ gross × 0.87` (стандартный НДФЛ 13%; реальная ставка может отличаться)
|
||
- Учесть бенефиты: ДМС, питание, спорт, обучение
|
||
- Оформление: ТК РФ даёт больше гарантий, чем ГПХ/самозанятость
|
||
|
||
## Блок E — План персонализации
|
||
|
||
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|
||
|---|--------|-------------------|------------------------|--------|
|
||
| 1 | Summary | ... | ... | ... |
|
||
| ... | ... | ... | ... | ... |
|
||
|
||
Топ 5 изменений CV + Топ 5 изменений в LinkedIn/hh.ru для максимального совпадения.
|
||
|
||
## Блок F — План собеседований
|
||
|
||
6-10 историй STAR+R, привязанных к требованиям JD (STAR + **Reflection**):
|
||
|
||
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|
||
|---|---------------|----------------|---|---|---|---|------------|
|
||
|
||
Столбец **Reflection** фиксирует, что было изучено или что можно было бы сделать иначе. Это сигнал сеньорности — джуниоры описывают что произошло, сеньоры извлекают уроки.
|
||
|
||
**Банк историй:** Если `interview-prep/story-bank.md` существует, проверить, есть ли там эти истории. Если нет — добавить новые. Со временем это формирует банк из 5-10 мастер-историй для любого вопроса на собеседовании.
|
||
|
||
**Подобранные и обрамлённые по архетипу:**
|
||
- FDE → акцент на скорости поставки и клиентской работе
|
||
- SA → акцент на архитектурных решениях
|
||
- PM → акцент на discovery и trade-offs
|
||
- Backend → акцент на highload, масштабировании, надёжности
|
||
- DevOps → акцент на автоматизации, инцидентах, reliability
|
||
|
||
Включить также:
|
||
- 1 рекомендуемый кейс (какой проект представить и как)
|
||
- Вопросы-ловушки и как на них отвечать (напр.: "Почему ушли с прошлого места?", "Почему решили сменить стек?")
|
||
|
||
---
|
||
|
||
## Пост-оценка
|
||
|
||
**ВСЕГДА** после генерации блоков A-F:
|
||
|
||
### 1. Сохранить отчёт .md
|
||
|
||
Сохранить полную оценку в `reports/{###}-{company-slug}-{YYYY-MM-DD}.md`.
|
||
|
||
- `{###}` = следующий порядковый номер (3 цифры, zero-padded). Чтобы выделить этот номер атомарно и избежать состояний гонки, вы ДОЛЖНЫ выполнить `node reserve-report-num.mjs` для резервирования номера (stdout вернет `{###}`), записать отчет, а затем выполнить `node reserve-report-num.mjs --release {###}` для освобождения маркера (sentinel).
|
||
- `{company-slug}` = название компании: lowercase, пробелы заменить на `-`, убрать спецсимволы (например, `Acme Corp` → `acme-corp`)
|
||
- `{YYYY-MM-DD}` = текущая дата
|
||
|
||
**Формат отчёта:**
|
||
|
||
```markdown
|
||
# Оценка: {Компания} — {Роль}
|
||
|
||
**Дата:** {YYYY-MM-DD}
|
||
**Архетип:** {определённый}
|
||
**Балл:** {X/5}
|
||
**URL:** {ссылка на вакансию}
|
||
**PDF:** {путь или "ожидается"}
|
||
|
||
---
|
||
|
||
## A) Резюме роли
|
||
(полное содержание блока A)
|
||
|
||
## B) Совпадение с CV
|
||
(полное содержание блока B)
|
||
|
||
## C) Уровень и стратегия
|
||
(полное содержание блока C)
|
||
|
||
## D) Компенсация и спрос
|
||
(полное содержание блока D)
|
||
|
||
## E) План персонализации
|
||
(полное содержание блока E)
|
||
|
||
## F) План собеседований
|
||
(полное содержание блока F)
|
||
|
||
## G) Черновики ответов на форму
|
||
(только если балл >= 4.5 — черновики ответов для формы отклика)
|
||
|
||
---
|
||
|
||
## Извлечённые ключевые слова
|
||
(список из 15-20 keywords из JD для ATS-оптимизации)
|
||
```
|
||
|
||
### 2. Зарегистрировать в трекере
|
||
|
||
Для **новой** записи не редактировать `data/applications.md` напрямую. Вместо этого записать одну TSV-строку в `batch/tracker-additions/{num}-{company-slug}.tsv` с 8 или 9 колонками через табуляцию:
|
||
|
||
```
|
||
{num}\t{date}\t{company}\t{role}\t{status}\t{score}\t{pdf_emoji}\t[{num}](reports/{num}-{slug}-{date}.md)\t{note}
|
||
```
|
||
|
||
- `{num}` = следующий порядковый номер (целое число, вычислить из `reports/`)
|
||
- `{status}` = `Evaluated`
|
||
- `{score}` = формат `X.X/5` (например, `4.2/5`)
|
||
- `{pdf_emoji}` = `✅` или `❌`
|
||
- `{note}` = краткий комментарий (опционально, колонку можно опустить)
|
||
|
||
Затем выполнить `node merge-tracker.mjs` для слияния в `data/applications.md`.
|
||
|
||
Для **существующей** записи допустимо прямое обновление в `data/applications.md` (статус, PDF, ссылка на отчёт).
|