Files
career-ops-vbleroy/reports/003-vk-vkontakte-senior-2026-07-06.md
redlineo d295c7f139
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s
init
2026-07-13 10:14:00 +03:00

21 KiB
Raw Permalink Blame History

Оценка: VK — Старший Frontend-разработчик сообщества (ВКонтакте)

Дата: 2026-07-06 URL: https://team.vk.company/vacancy/52033/ Архетип: Senior Frontend-разработчик (React) — не входит в архетипы кандидата, серьёзный разрыв по уровню Балл: 1.8/5 Legitimacy: Высокая уверенность PDF: не создан (балл < 3.0)


A) Резюме роли

Параметр Значение
Архетип Senior Frontend-разработчик, React, архитектурная ответственность за платформу сообществ ВКонтакте
Domain Высоконагруженная социальная платформа (до 125 млрд запросов к API в сутки, до 30 релизов в сутки)
Function Build + архитектура + менторство + технические инициативы
Seniority Senior (указано явно в JD: "более четырёх лет" frontend-разработки)
Формат работы Москва или Санкт-Петербург (офис) · Комбинированный / Дистанционный. JD прямо пишет: "специалиста, который сможет посещать офис... и работать в комбинированном или дистанционном режиме" — удалёнка формально доступна, но формулировка предполагает готовность приезжать в офис
Размер команды Не указан явно ("небольшая команда разработчиков", суперпрофессионалы)
Оформление Не указано
TL;DR Двойной разрыв: (1) требуемый уровень — Senior, 4+ года опыта, архитектурная ответственность и менторство — тогда как у кандидата ~2.5 года и уровень Middle; (2) требуемый стек — React, тогда как у кандидата коммерческого React нет вовсе. Локация формально не блокер (удалёнка упомянута), но пограничная (JD ожидает готовности приезжать в офис).

Локация — не жёсткий блокер, но требует уточнения. В отличие от вакансии Яндекс Лавки, здесь явно перечислен формат "Комбинированный / Дистанционный", то есть чисто удалённый режим формально доступен. Однако фраза JD "специалиста, который сможет посещать офис в Москве или Санкт-Петербурге" сигнализирует, что компания рассчитывает на периодическую личную явку — это не то же самое, как "полностью удалённая роль без каких-либо условий". Кандидат не рассматривает командировки/переезд (modes/_profile.md). Поскольку JD прямо перечисляет "дистанционный" как отдельный принимаемый формат (а не только "комбинированный"), это не квалифицируется как жёсткий блокер по правилу оценки, но требует явного уточнения на первом созвоне: действительно ли доступен полностью удалённый трек без периодических визитов в офис.

B) Совпадение с CV

Требование JD Совпадение с CV
Frontend-разработка более 4 лет Существенный разрыв. Здравсервис (~20 мес) + ТулГУ/БиоХимТех (10 мес) ≈ 2.5 года совокупного опыта — почти вдвое меньше требуемых 4+ лет
JavaScript/TypeScript, HTML, CSS "отлично" cv.md: "JavaScript, TypeScript, HTML5/CSS3" — формально присутствует, но JD подразумевает экспертный, а не рабочий уровень
Разработка веб-приложений на React и проектирование их архитектуры Отсутствует. Весь архитектурный опыт кандидата — на Vue 3 (спроектировала фронтенд ЕКОМ с нуля, включая RBAC, роутинг, стор) и Flutter (Clean Architecture). React в cv.md не упомянут ни разу
Разбираться в большом количестве чужого кода Частичное совпадение: РМК — legacy-проект, ~20 багов исправлено, включая сложный кейс с замыканием в чужом коде
Процессные и технические улучшения Совпадение: Feature Branching, версионирование сборок, обучение коллеги, инициировала возврат к целеполаганию на полгода/год
Плюс: менторство, участие в найме Слабое частичное совпадение: обучила одного коллегу системе версионирования — это не формальное менторство и не участие в найме
Плюс: mobx/effector Отсутствует (кандидат работает с Pinia — Vue-экосистема)
Плюс: базовое знание PHP Отсутствует в cv.md
Плюс: ведение сообщества в соцсети Не упомянуто

Пробелы:

  1. Уровень (hard blocker). JD прямо требует "более четырёх лет" и архитектурную ответственность senior-уровня. У кандидата ~2.5 года и уровень Middle по всем архетипам в config/profile.yml. Подавать заявку на позицию с завышением уровня — прямое нарушение принципа "keywords get reformulated, never fabricated" из CLAUDE.md, и рискованно с этической точки зрения (тратит время и кандидата, и рекрутера).
  2. React как основной фреймворк архитектуры (hard blocker) — та же проблема, что и в VK MAX, но здесь требования выше: не просто "знание React", а "проектировали архитектуру" на нём.
  3. Менторство/найм — заявлено как плюс, у кандидата минимальный релевантный опыт (обучение одного коллеги).
  4. mobx/effector, PHP — nice-to-have, отсутствуют, не критично.

C) Уровень и стратегия

  1. Уровень в JD — явный Senior (4+ года, архитектура, менторство, участие в найме). Естественный уровень кандидата — Middle. Разрыв в 2 ступени по факту опыта (senior обычно 4-6+ лет против её ~2.5).
  2. План "продать senior без обмана" — неприменим. Честная оценка: заявленный уровень требует опыта, которого у кандидата пока нет, и стека (React), которого у неё нет вовсе. Попытка представить Middle-опыт на Vue как соответствие Senior-роли на React означала бы либо преувеличение (недопустимо по правилам CLAUDE.md), либо неизбежный провал на техническом интервью.
  3. План "если понизят уровень" — в данном случае не про понижение оффера, а про то, стоит ли вообще претендовать. Рекомендация: не откликаться на эту роль сейчас. Если кандидат хочет двигаться в сторону такой позиции в будущем, реалистичный путь — сначала закрыть разрыв в опыте (до 4 лет) и стек (получить коммерческий React), а не пытаться закрыть оба разрыва одним прыжком через сопроводительное письмо.

D) Компенсация и спрос

Источник Данные (общий рынок Senior Frontend/React, Москва, июль 2026 — WebSearch, использован общий поиск, разделяемый с остальными вакансиями подборки)
Медиана Senior Frontend, Москва (hh.ru, февраль 2026) ~287 500 ₽/мес gross
Диапазон (P25–P75) ~215 625–388 125 ₽/мес gross
Другие источники 300 000–400 000 ₽/мес gross для Senior в Москве в 2026

Комп для этой роли объективно привлекателен и заметно выше цели кандидата (100 000–120 000+ ₽ на руки): даже нижняя граница P25 (~215 000 ₽ gross → net ≈ 187 000 ₽ на руки) превышает минимум почти вдвое. Однако это не повод откликаться при столь явном разрыве по уровню и стеку — привлекательная зарплата senior-роли не отменяет реального несоответствия требованиям, а искусственное позиционирование под неё создаёт риск быстрого провала на техническом собеседовании и репутационные издержки.

Бенефиты (из JD): гибкий график, бонусы и скидки от партнёров, офис в центре города, ДМС, профессиональная команда — тот же стандартный пакет, что и в VK MAX.

Оформление: не указано.

E) План персонализации

Рекомендация: не готовить персонализацию CV/PDF для этой вакансии сейчас. При балле 1.8/5 и двойном хард-разрыве (уровень + стек) любая тонкая настройка резюме не изменит фундаментального несоответствия. Вместо плана персонализации — roadmap на будущее:

# Что нужно закрыть Как Срок (ориентировочно)
1 Коммерческий React Проектный опыт или смена команды на React-стек 6-12 месяцев практики
2 4+ года опыта Продолжать текущую роль в Здравсервис ~1.5-2 года
3 Менторство/найм Формально взять на себя менторство джуниора в текущей команде Договориться с руководителем в Здравсервис

F) План собеседований

(Приведено для полноты формата — не рекомендуется использовать для реального отклика на эту роль сейчас.)

# Требование JD История STAR+R S T A R Reflection
1 Разбираться в чужом коде РМК — баг с замыканием в глобальном классе клавиатуры Клавиатура переставала работать, код был чужим legacy Найти причину в незнакомой кодовой базе Диагностировала утечку реактивной переменной, исправила Баг устранён Осознала ценность систематической диагностики перед изменением чужого кода
2 Технические инициативы/процессы РМК — Feature Branching и версионирование Не было стабильного процесса релизов Внедрить Git Flow и версионирование сборок Обучила коллегу, внедрила процесс Команда перешла на стабильные еженедельные релизы Поняла, что процессные изменения требуют личного примера, а не только документации
3 Архитектура (частичный перенос с Vue) ЕКОМ — фронтенд с нуля на Vue 3 Не было архитектуры для нового внутреннего продукта Спроектировала структуру (Composition API, Pinia, Vue Router, RBAC) Продукт растёт больше года, используется несколькими отделами Полезный, но не React-специфичный опыт — честно обозначать как таковой

Рекомендуемый кейс: не применимо при текущем балле — сначала закрыть разрывы по уровню и стеку.

Вопросы-ловушки (если кандидат всё же решит откликнуться ради опыта собеседования):

  • "Расскажите про архитектуру React-приложения, которую вы проектировали" — честного ответа с реальным опытом нет; это будет заметно на техническом интервью.
  • "Как обеспечиваете совместимость с разными браузерами при 125 млрд запросов в сутки?" — вне текущего опыта кандидата.

G) Легитимность вакансии

Оценка: Высокая уверенность.

  1. Свежесть/сигналы: кнопка отклика активна ("Откликнуться", ведёт на /feedback/52033/) — открытый набор.
  2. Качество описания: высокое. Указан уровень (senior) и график, конкретные цифры масштаба (до 30 релизов/сутки, до 125 млрд запросов к API/сутки), детализированные задачи (веб-инструменты для сообществ, архитектура фронтенда, код-ревью, взаимодействие с продуктом/дизайном/бэкендом), явно перечислены "плюсом" навыки (mobx/effector, PHP, ведение сообщества в соцсети) — специфичные, не шаблонные детали. Умеренный boilerplate в блоке "Мы предлагаем" (идентичен блоку VK MAX — типично для стандартного HR-шаблона одной компании), но основной текст описания роли уникален и детализирован.
  3. Компания: VK, тот же официальный карьерный портал (team.vk.company), что и в VK MAX. Дополнительный WebSearch по hiring-сигналам не производился — нет оснований для настороженности.

Классифицирую как Высокая уверенность.


Извлечённые ключевые слова

Frontend-разработка, JavaScript, TypeScript, HTML, CSS, React, архитектура фронтенда, масштабируемость, переиспользуемость, код-ревью, технические инициативы, оптимизация производительности, менторство, найм, mobx, effector, PHP, сообщества, высоконагруженный, релизы, API


Cover Letter Draft

Draft generated at evaluation time. Complete via /career-ops cover vk-vkontakte-senior to fill in angles, confirm research, and generate the PDF. Внимание: балл 1.8/5 — двойной разрыв по уровню (Senior vs фактический Middle, ~2.5 года опыта) и по стеку (React отсутствует). Настоятельно не рекомендуется откликаться на эту вакансию сейчас.


Opening (placeholder — refine with your "why this role" angle) Слежу за тем, как ВКонтакте развивает инструменты для сообществ и авторов — этот масштаб задач по производительности и совместимости очень привлекателен.

Profile introduction Frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia). Спроектировала с нуля фронтенд внутренней системы управления заказами и логистикой для сети из ~1200 точек, включая ролевую модель авторизации (RBAC). Профильное образование в информационной безопасности даёт нестандартный взгляд на архитектуру доступа.

Key achievements (selected from cv.md — exact wording preserved)

  • Спроектировала ролевую модель авторизации (RBAC) с разграничением между отделами — объясняла бэкенд-разработчику принцип работы, опираясь на профильное ИБ-образование.
  • Внедрила Feature Branching в Git (GitLab), обучила коллегу с 11-летним стажем работе с системой версионирования — команда перешла на стабильные еженедельные релизы.
  • Интерфейс списка заказов с фильтрацией по 9 параметрам — заменил неудобные таблицы 1С, используется несколькими отделами.
  • Внедрила WebSocket для оповещений в реальном времени — впервые видно, сколько из ~1200 аптек онлайн и кто прочитал оповещение и когда.

Problems I will solve (placeholder — requires company research + your input)

To be completed: этот раздел не рекомендуется заполнять для отклика при текущем уровне несоответствия — сначала закрыть разрывы по опыту и стеку (см. Блок E).

Closing Открыта к обратной связи о том, какой опыт нужен, чтобы дорасти до такой роли в будущем.


Gaps flagged:

  • Уровень (критично): JD требует Senior/4+ года опыта; у кандидата ~2.5 года и уровень Middle. Это самый серьёзный разрыв во всей подборке.
  • React (критично): ядро роли — проектирование архитектуры на React; у кандидата нет коммерческого React-опыта.
  • Менторство/найм — заявлено как плюс, реального релевантного опыта почти нет.
  • Локация — формально не блокер (доступна "дистанционный" формат), но формулировка JD предполагает готовность периодически приезжать в офис Москвы/Петербурга — уточнить на первом созвоне, прежде чем продолжать процесс.

JD keywords to mirror (extracted for ATS + human read) React, архитектура фронтенда, масштабируемость, высоконагруженный, код-ревью, технические инициативы, менторство, производительность


Run /career-ops cover vk-vkontakte-senior to complete angles, confirm company research, and generate the PDF.