21 KiB
Оценка: Bnovo — Senior Frontend разработчик
Дата: 2026-07-07 Архетип: Frontend Developer (Vue.js) — primary archetype, заявленный уровень Senior Балл: 2.5/5 URL: https://hh.ru/vacancy/134897754 PDF: не создан (балл < 3.0) Legitimacy: High Confidence
A) Резюме роли
| Параметр | Значение |
|---|---|
| Архетип | Frontend Developer (Vue.js) |
| Domain | SaaS-платформа для автоматизации гостиничного бизнеса (hospitality management) |
| Function | Build + частично Lead (менторство джунов/миддлов, потенциальный tech lead трек) |
| Seniority | Senior, заявлено "4+ года опыта Frontend-разработки" |
| Формат работы | Санкт-Петербург, офис с возможностью удалённого формата ("удалённо" указано как доступный вариант) |
| Размер команды | Не указан явно |
| Оформление | Трудовой договор (ТК РФ) |
| Зарплата | Не указана |
| TL;DR | Senior-роль в устойчивой SaaS-компании с хорошей репутацией и подтверждённым удалённым форматом — сильное совпадение по стеку (Vue2→3 миграция, TS, WebSocket), но заявленный стаж (4+ года) и ответственность тимлид-трека выше текущего уровня кандидата. |
B) Совпадение с CV
| Требование JD | Совпадение в CV |
|---|---|
| 4+ года опыта Frontend-разработки | ❌ Пробел. ~1 год 8 месяцев непрерывного коммерческого опыта (с ноября 2024) + 10 месяцев заказной разработки в 2022 |
| Vue.js 2 и 3, миграция legacy → Vue 3/TS | ⚠️ Частичное — прямого опыта миграции Vue 2→3 в CV нет, но есть работа с legacy-кодом на Vue 3 (РМК, ~6 месяцев, включая сложный баг с замыканием реактивной переменной) |
| JavaScript ES6+, TypeScript | ✅ Прямое совпадение (стек ЕКОМ) |
| Vuex/Pinia | ⚠️ Pinia — прямое совпадение; Vuex явно не встречается в CV, но это смежный, изучаемый инструмент того же экосистемного слоя |
| HTML5/CSS3/SCSS | ⚠️ HTML5/CSS3 — прямое совпадение; SCSS явно не указан (Tailwind CSS используется вместо) |
| REST, WebSocket | ✅ Прямое совпадение — WebSocket (WSS) внедрён на ЕКОМ и РМК |
| Архитектура компонентов по SOLID | ⚠️ Не описано явно в CV, но Feature Branching и структурированный подход к ЕКОМ (стек с Pinia/Vue Router/shadcn) косвенно говорит о структурированной архитектуре |
| Код-ревью, тестирование (Vitest/Jest/Playwright) | ✅ Прямое совпадение — Vitest, Storybook, Playwright (E2E на РМК) |
| Менторство junior/middle, потенциальный tech lead | ✅ Частичное совпадение — обучила коллегу с 11-летним стажем работе с Git/Feature Branching; не формальное менторство, но реальный опыт передачи знаний |
| AI-инструменты (Copilot, Cursor) | ⚠️ Не упомянуто явно в CV — не фабриковать, честно отметить как пробел |
Пробелы:
- Стаж (4+ года vs ~1.7-2.5 года) — hard blocker, явно заявлен в требованиях. Компенсация "широтой" (3 параллельных продукта, greenfield с нуля) частично закрывает этот разрыв по факту компетенций, но не по формальному стажу, который ATS/рекрутер, вероятно, отфильтрует на скрининге.
- Опыт миграции Vue 2→3 — явно указан как желательный бонус в JD ("Vue 2→3 migration experience" в списке Bonuses), у кандидата нет прямого опыта миграции (только работа с уже существующим legacy Vue 3). План закрытия: честно указать опыт работы с legacy Vue 3 кодом (баг с замыканием) как смежный, не эквивалентный.
- Тимлид-трек/менторство на постоянной основе — JD явно упоминает "potential tech lead role" — это ответственность выше текущего уровня кандидата. План закрытия: не претендовать на тимлид-аспект роли, фокусироваться исключительно на техническом фите, если решено откликаться.
C) Уровень и стратегия
Уровень в JD: Senior, 4+ года, с элементами тимлид-трека (менторство, архитектурные решения). Естественный уровень кандидата для архетипа Frontend (Vue.js): Junior→Middle (переходный) — сильный технический стек, но не тимлид-масштаб ответственности.
План "продать senior без обмана":
- Акцент на реальном масштабе: greenfield-продукт ЕКОМ с нуля, RBAC-дизайн, параллельное ведение legacy-проекта (РМК) — это ближе к Middle+/Senior-lite по объёму ответственности, но не по годам.
- Честно обозначить разрыв в стаже (4+ года заявлено vs ~2 года) — учитывая, что требование явно численное, не пытаться завуалировать.
План "если понизят уровень":
- Учитывая структуру роли (тимлид-трек, менторство), понижение до Middle с явным исключением менторских обязанностей — реалистичный сценарий, если компания заинтересуется техническим стеком кандидата, но не готова доверить Senior-ответственность.
- Принять понижение только при компенсации на уровне таргета кандидата (100 000–120 000+ ₽/мес на руки) — учитывая, что рыночная вилка для Senior Vue в СПб выше (см. Блок D), понижение грейда не должно означать понижение ниже таргета.
- Договориться о пересмотре через 6 месяцев с чёткими критериями (например, самостоятельное закрытие миграционных задач Vue 2→3 без сопровождения).
D) Компенсация и спрос
Зарплата не указана в JD. Рыночные данные (WebSearch, RU, июль 2026):
| Источник | Данные |
|---|---|
| Senior Vue-разработчики, Москва/СПб (2026) | Медиана: Москва — 550 000 ₽/мес, СПб — 480 000 ₽/мес; специализированная вилка Senior Vue: 480 000–650 000 ₽/мес |
| Репутация компании (Habr Career, dreamjob, elsolo) | Рейтинг 4.78/5 на Habr Career (96% рекомендаций), 4.7/5 на elsolo (42 отзыва) — стабильно позитивные отзывы о своевременности зарплаты и адекватном менеджменте |
| Негативные сигналы из отзывов | Часть отзывов упоминает "низкую зарплату относительно нагрузки" и отсутствие ДМС в первый год — качественный сигнал, не количественно подтверждённый |
| Оформление | Трудовой договор (ТК РФ) — максимальная защита, +0.3 к стабильности по правилам РФ-специфики |
Оценка (gross/net): Не указано в JD, невозможно применить формулу net ≈ gross × 0.87. Заявленная рыночная вилка Senior Vue в СПб (480 000+ ₽/мес) значительно выше таргета кандидата, но это не гарантированное предложение — компания может предложить нижнюю границу вилки при пробеле по стажу, а часть отзывов сотрудников указывает на возможную зарплату "ниже ожиданий при высокой нагрузке".
E) План персонализации
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|---|---|---|---|---|
| 1 | Summary | Общий акцент на Vue3 + Flutter dual-track | Вести исключительно с Vue 3 + TS + WebSocket + опытом работы с legacy-кодом | Роль явно про миграцию legacy → Vue3/TS, это точка входа |
| 2 | Legacy-опыт | РМК упомянут как один из проектов | Вынести РМК (legacy Vue 3, баг с замыканием) на первое место как прямое совпадение с "migrate legacy code" | Единственный прямой аналог требования по миграции/поддержке legacy |
| 3 | Менторство | Обучение коллеги Git/Feature Branching упомянуто вскользь | Явно сформулировать как "опыт передачи технических знаний коллеге с большим стажем" | Частично закрывает требование "mentor junior/middle developers" |
| 4 | AI-инструменты | Не упомянуты в CV | Не добавлять — честно уточнить на собеседовании реальный опыт использования Copilot/Cursor, если есть, до подачи | Не фабриковать отсутствующий опыт |
| 5 | Стаж | Не скрывать | Явно указывать ~2 года суммарно с акцентом на масштаб задач, а не годы | Численный пробел не исчезнет от формулировок — честность снижает риск отказа "на обмане" позже в процессе |
F) План собеседований
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|---|---|---|---|---|---|---|---|
| 1 | Работа с legacy-кодом, рефакторинг | Баг с замыканием в РМК (legacy Vue 3) | Клавиатура переставала работать после серии действий | Найти причину в глобальном классе биндинга клавиш | Диагностировала: реактивная переменная передавалась в глобальный класс без очистки | Баг исправлен, задокументирован паттерн | Поняла важность жизненного цикла реактивных переменных вне компонентной области Vue |
| 2 | WebSocket, real-time функциональность | WSS-оповещения в РМК | Не было видимости, сколько аптек онлайн в реальном времени | Внедрить real-time канал оповещений с отметкой прочтения | Реализовала WebSocket-канал, отслеживание прочтения по ~1200 аптекам | Видимость статуса в реальном времени, почти без задержки | Реальная enterprise-масштаба система, релевантна для SaaS-продукта Bnovo |
| 3 | Менторство/передача знаний | Обучение коллеги с 11-летним стажем Git Flow | Хаотичные релизы, отсутствие версионирования | Внедрить Feature Branching и обучить команду | Обучила коллегу, ввела процесс, команда перешла на еженедельные релизы | Стабильный процесс релизов, меньше "зависших" фич | Обучение более опытного коллеги — редкий, но ценный сигнал для tech-lead трека |
| 4 | Тестирование (Vitest/Jest/Playwright) | Внедрение Playwright E2E на РМК | Legacy-проект без автотестов | Внедрить E2E-покрытие критичных сценариев | Настроила Playwright, начала покрытие позитивных/негативных сценариев | Процесс тестирования на этапе внедрения | Приоритизация тестового покрытия в legacy требует больше суждения, чем в greenfield |
| 5 | Архитектурные решения, RBAC/доступ | RBAC-модель в «Здесь ЕКОМ» | Бэкенд не имел готовой модели прав доступа между отделами | Спроектировать и объяснить ролевую модель авторизации | Использовала ИБ-образование, спроектировала роли/группы/права | Внедрено разграничение по отделам | ИБ-бэкграунд — конкурентное преимущество в архитектурных решениях |
| 6 | Производительность/оптимизация (тяжёлые таблицы, Web Vitals) | Список заказов с 9 фильтрами в ЕКОМ (TanStack Table) | Неудобные таблицы 1С не справлялись с объёмом и фильтрацией заказов | Спроектировать производительный интерфейс с множественной фильтрацией | Реализовала на TanStack Table с 9 параметрами фильтрации | Используется логистикой, клиентским отделом, техподдержкой и разработчиками | Опыт с тяжёлыми таблицами данных релевантен для "heavy tables" оптимизации в Bnovo |
Рекомендуемый кейс: РМК (legacy Vue 3 + WebSocket) — наиболее прямое совпадение с ключевым требованием JD "migrate legacy code... to Vue 3/TypeScript".
Вопросы-ловушки:
- «У вас заявлено 4+ года, но по резюме меньше — как так?» → Честно: «около 2 лет коммерческого опыта, но за это время вела 3 параллельных продукта, включая greenfield с нуля и работу с legacy-кодом — по объёму задач это ближе к более опытному уровню, чем формальный стаж».
- «Готовы менторить junior/middle разработчиков?» → «Есть опыт передачи знаний — обучила коллегу с 11-летним стажем работе с Git Flow. Формального менторского опыта пока меньше, готова расти в этом направлении, но не позиционирую себя как готового тимлида».
- «Какой у вас опыт с AI-инструментами (Copilot/Cursor)?» → Отвечать честно по факту использования на момент интервью — не заявлять то, чего нет в CV.
Vibe команды
Судя по формулировкам JD, упоминаются код-ревью, менторство джунов/миддлов, потенциальный tech lead трек и внедрение AI-инструментов в разработку — это сигналы зрелой инженерной культуры с фокусом на рост и современный тулинг. Внешние отзывы сотрудников (Habr Career 4.78/5, elsolo 4.7/5) подтверждают позитивную атмосферу, своевременную зарплату и адекватный менеджмент, хотя часть отзывов отмечает высокую нагрузку. Бенефиты явно указывают на заботу о балансе (ДМС с психологической поддержкой, day off на день рождения, книжный клуб) — качественный сигнал гибкости и человекоцентричной культуры, хотя явных упоминаний автономии/участия в RFC в самом тексте JD нет.
G) Posting Legitimacy
Assessment: High Confidence
| Сигнал | Наблюдение | Вес |
|---|---|---|
| Свежесть | Опубликовано 6 июля 2026 | Positive |
| Apply-кнопка | Активна, отклик доступен | Positive |
| Качество описания | Детальный технический стек, конкретные обязанности (миграция, тестирование, менторство), реалистичные требования для Senior | Positive |
| Компания | Bnovo — аккредитованная IT-компания, SaaS-лидер в hospitality management, >200 сотрудников, >16 000 клиентов, устойчивая репутация (Habr Career 4.78/5) | Positive |
| Company Hiring Signals | WebSearch не выявил новостей о сокращениях или заморозке найма Bnovo в 2026 | Positive/Neutral |
| Reposting | По data/scan-history.tsv — первое появление этого URL в истории сканирования |
Neutral |
Context Notes: Устойчивая, прибыльная SaaS-компания с давней историей и позитивной репутацией — сильные позитивные сигналы легитимности и стабильности.
Извлечённые ключевые слова
Vue.js, Vue 2, Vue 3, TypeScript, JavaScript ES6+, Vuex, Pinia, SOLID, миграция legacy, jQuery, HTML5, CSS3, SCSS, REST, WebSocket, Core Web Vitals, Event Loop, код-ревью, тестирование, Vitest, Jest, Playwright, менторство, tech lead, микрофронтенды, FSD, CI/CD, дизайн-система, SQL, LLM, ДМС, Санкт-Петербург, hospitality SaaS
Рекомендация
Балл 2.5/5 — ниже порога 4.0/5 (AGENTS.md, Ethical Use). Настоятельно рекомендуется не откликаться в текущем виде, при этом это наиболее "близкая" из трёх оценённых сегодня вакансий по совокупности сигналов:
- Стажевый пробел (4+ года заявлено vs ~1.7-2.5 года у кандидата) остаётся hard-блокером для формального скрининга.
- Роль включает элементы тимлид-трека (менторство, потенциальный tech lead) — ответственность выше текущего уровня.
- Сильные плюсы: подтверждённый удалённый формат (проходит location-политику), отличная репутация компании, реальное совпадение по WebSocket/legacy-работе/RBAC.
- Если кандидат готова рискнуть с честной позицией по стажу — это не безнадёжная попытка (в отличие от Selecty, где два независимых mandatory-блокера), но объективно балл ниже порога для рекомендации к отклику.