Files
redlineo 9fdd27bb11
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 20s
Release Please / release-please (push) Failing after 20s
CodeQL Analysis / Analyze (go) (push) Failing after 30s
add vk, add AI, add pet project, add new vacancies
2026-07-14 11:40:07 +03:00

158 lines
24 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Оценка: Beget — Middle Frontend Developer
**Дата:** 2026-07-10
**Архетип:** Frontend-разработчик (Vue.js) — primary целевой архетип
**Балл:** 4.3/5
**URL:** https://hh.ru/vacancy/134671524
**Legitimacy:** High Confidence
**PDF:** pending — по запросу (`/career-ops pdf`)
---
## A) Резюме роли
| Поле | Значение |
|---|---|
| Архетип | Frontend-разработчик (Vue.js) |
| Domain | Frontend хостинг-провайдера (внешняя панель управления + внутренняя панель сотрудников + сайт/мобильное приложение) |
| Function | Build (новые сервисы + улучшение текущих + снижение техдолга) |
| Seniority | Middle (заявлено в названии; JD просит 3-6 лет общего опыта, от 2 лет коммерческого Vue.js) |
| Формат работы | "На месте работодателя, удалённо или гибрид" — гибко, remote реально доступен |
| Размер команды | Не указано |
| Оформление | Трудовой договор (ТК РФ) |
| TL;DR | Beget (известный хостинг-провайдер, СПб) ищет Middle Frontend на Vue.js/TypeScript/Nuxt для панели управления хостингом — полностью remote-friendly, точное попадание в целевой архетип кандидата. |
**Geo-mismatch check:** противоречий нет — вакансия явно указывает "удалённо или гибрид", кандидат из Тулы может работать удалённо без переезда.
**Vibe команды:** Судя по формулировкам JD, единственный явный сигнал — фраза "умение задавать вопросы и предлагать аргументированные решения", намекающая на некоторую автономию в технических решениях. Остальные признаки (менторство, бюрократия, гибкость графика вне формата работы) — недостаточно данных в JD, стоит уточнить на собеседовании.
## B) Совпадение с CV
| Требование JD | Строка CV |
|---|---|
| Уверенное владение ES6 и TypeScript | "Языки программирования: JavaScript, TypeScript"; ЕКОМ — "Стек: Vue 3, Composition API, TypeScript, Pinia..." |
| Современные подходы к вёрстке | "Tailwind CSS, shadcn/shadcn-vue"; редизайн кнопки «Избранное», компоновки информации о заказе |
| Опыт коммерческой разработки на Vue.js от 2 лет | Здравсервис (ноябрь 2024 — наст. время, ЕКОМ ~1 год + РМК ~6 мес) + ТулГУ, заказная разработка (март–декабрь 2022, "Реализация фронтенд-части на Vue.js") — суммарно ~2 года, но не непрерывно на одном месте |
| Nuxt (ключевой навык в вакансии) | Отсутствует в реальном опыте — указан в CV только в разделе "Быстро осваиваю" |
| Умение задавать вопросы, аргументированные решения | "Объясняла бэкенд-разработчику принцип RBAC и его отличие от других моделей доступа"; "неоднократно обращала внимание руководства на забытые/утерянные приоритеты" |
| Улучшение мобильного приложения | «Здесь Аптека» — 20+ исправленных багов, редизайн UI, фикс «Избранное» с постраничной загрузкой |
| Поддержка качества кода, снижение техдолга | Vitest (unit-тесты), Storybook, Playwright E2E, внедрение Feature Branching |
**Пробелы:**
1. **Nuxt** — заявлен как ключевой навык, но не входит в явные "Требования" (там указан только Vue.js). Скорее nice-to-have, чем hard blocker. Кандидат может продемонстрировать быстрое освоение фреймворков (курс по Flutter, портирование Android→iOS). Митигация: в сопроводительном явно написать про готовность быстро закрыть Nuxt поверх глубокого знания Vue 3 (Nuxt построен на Vue).
2. **"Vue.js от 2-х лет коммерческого опыта"** — формально пограничный blocker, но суммарный опыт (ТулГУ 2022 + Здравсервис 2024–наст.) близок к порогу. Митигация: в резюме явно указать суммарный стаж на Vue.js, а не только текущее место работы.
3. **Общий опыт разработки "3-6 лет" в JD** vs фактический коммерческий стаж кандидата (~1.5-2 года непрерывно + заказная разработка). Митигация: акцент на уровне ответственности (frontend с нуля, самостоятельный RBAC-дизайн) как компенсация за меньший формальный стаж.
## C) Уровень и стратегия
**Уровень в JD:** Middle (явно в названии).
**Естественный уровень кандидата:** между Junior+ и Middle — по годам стажа ближе к Junior+, по уровню принимаемых архитектурных решений (RBAC-дизайн, продукт с нуля) — уже Middle.
**План "продать Middle без обмана":** Вести акцент не на количестве лет, а на масштабе ответственности: разработала фронтенд ЕКОМ с нуля, самостоятельно спроектировала и защитила перед бэкенд-командой модель авторизации (RBAC), автоматизировала ручные процессы логистики. Явно указать суммарный опыт на Vue.js (ТулГУ + Здравсервис), чтобы закрыть формальный количественный пробел.
**План "если понизят до Junior+":** Принять, если компенсация в пределах target range (100 000–120 000+ ₽/мес на руки) или выше — рыночные данные по Middle Vue.js в СПб (~228 000 ₽) заметно выше минимума кандидата. Договориться о пересмотре уровня через 6 месяцев с чёткими критериями (например, самостоятельное владение Nuxt-модулем).
## D) Компенсация и спрос
| Источник | Диапазон | Заметки |
|---|---|---|
| getmatch.ru — вакансия Beget "Frontend (Vue.js) Developer", Beget Cloud, СПб | 200 000 – 250 000 ₽/мес на руки | Похожая роль в той же компании (другой продукт/грейд), прямой ориентир по работодателю |
| Рыночная медиана Frontend, все грейды (РФ, 2026) | ~195 000–200 000 ₽/мес | Skillbox Media / Yandex Practicum, исследования 2026 |
| Middle Vue.js разработчик (РФ, по ряду источников) | 290 000 – 380 000 ₽/мес | Возможно завышено/иная методология подсчёта; расходится с данными по конкретно Beget — брать с осторожностью |
| СПб, все грейды Vue.js | ~228 000 ₽/мес | Региональная выборка |
| В самой вакансии | Не указано ("Уровень дохода не указан") | Уточнить на собеседовании — Gross/Net не указан |
Относительно target кандидата (100 000–120 000+ ₽/мес на руки): рыночные данные и похожая вакансия того же работодателя указывают на диапазон существенно выше минимума кандидата — хороший потенциальный апсайд по компенсации, при условии, что итоговая ставка окажется близкой к этим ориентирам.
**Оформление:** Трудовой договор (ТК РФ) — максимальная защита, соответствует предпочтениям кандидата.
## E) План персонализации
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|---|---|---|---|---|
| 1 | Summary (резюме) | Общее описание опыта на Vue 3 и Flutter | Добавить явное упоминание ES6/TypeScript и суммарного стажа на Vue.js (ТулГУ 2022 + Здравсервис) в первых 2 строках | JD явно требует "уверенное владение ES6 и TypeScript" + "от 2 лет Vue.js" |
| 2 | Skills | Nuxt в разделе "Быстро осваиваю" | Оставить честно, но явно сформулировать "Vue 3 (глубоко) → Nuxt (в процессе изучения)" | Nuxt — ключевой навык вакансии, лучше показать осознанность, чем скрывать пробел |
| 3 | Опыт (ЕКОМ) | Буллеты в порядке важности для другой роли | Первым буллетом — "фронтенд с нуля на Vue 3 + TypeScript", RBAC — вторым | Прямое совпадение с "TypeScript" + архитектурная ответственность |
| 4 | Опыт (ТулГУ) | Короткая строка про Vue.js без деталей | Явно выделить как "первый коммерческий опыт на Vue.js" (2022, 10 месяцев) | Закрывает количественный пробел "от 2-х лет" через суммирование стажа |
| 5 | Заголовок резюме на hh.ru | Скорее всего общий "Frontend/Flutter-разработчик" | При отклике на эту вакансию — "Middle Frontend Developer (Vue.js, TypeScript)" | Совпадение по заголовку важно для ATS-поиска рекрутера на hh.ru |
## F) План собеседований
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|---|---|---|---|---|---|---|---|
| 1 | ES6/TypeScript, качество кода | RBAC-дизайн в ЕКОМ | ~20 пользователей с разными правами доступа без чёткой модели авторизации | Спроектировать и защитить перед бэкенд-командой ролевую модель | Использовала профильное ИБ-образование, реализовала модель ролей/групп/прав на TypeScript с разграничением по отделам | Модель внедрена и используется ~20 пользователями | Поняла, что объяснение архитектурного решения нетехническим языком критично для принятия backend-командой — в следующий раз задокументировала бы решение сразу |
| 2 | Улучшение мобильного приложения | Фикс «Избранное» | Пользователи жаловались, что раздел «Избранное» не открывается | Найти причину и исправить | Диагностировала загрузку всех товаров одним запросом, реализовала постраничную загрузку | Жалобы прекратились | Баг нашли по косвенным жалобам — теперь закладываю пагинацию по умолчанию с самого начала проектирования списков |
| 3 | Разработка сервисов панели управления | График курьеров (vue-cal) | Расписание вносили вручную SQL-запросами по заявке логистики | Автоматизировать процесс через интерфейс | Реализовала drag-and-drop график на vue-cal | Логистика управляет графиком полностью самостоятельно | Раннее вовлечение конечных пользователей в тестирование ускорило принятие фичи |
| 4 | Снижение технического долга | Feature Branching + версионирование (РМК) | Нестабильные релизы, тестировщик не мог определить версию с багом | Внедрить процесс ветвления и версионирования | Внедрила Feature Branching в GitLab, обучила коллегу с 11-летним стажем | Команда перешла на стабильные еженедельные релизы | Процессные изменения работают только если обучить всю команду — сопротивление было именно у самого опытного коллеги |
| 5 | Аргументированные решения | Backlog/приоритеты advocacy | В планировании спринтов забывались приоритеты бэклога | Обратить внимание руководства | Неоднократно поднимала вопрос на уровне product owner | Команда вернулась к целеполаганию на полгода/год, привлекли к планированию спринтов | Тихого наблюдения проблемы недостаточно — нужно было явно эскалировать несколько раз |
| 6 | Внутренняя панель для сотрудников | Список заказов с 9 фильтрами | Логисты, клиентский отдел, техподдержка и разработчики пользовались неудобными таблицами 1С | Создать удобный внутренний интерфейс | Разработала список заказов с фильтрацией по 9 параметрам на TanStack Table | Заменил таблицы 1С, используется четырьмя разными командами | Кросс-командный инструмент требует сбора требований от всех потребителей заранее — иначе фильтры не покрывают все сценарии |
**Рекомендуемый кейс:** ЕКОМ — фронтенд с нуля + RBAC-дизайн (самое прямое совпадение с "разрабатывать сервисы для панели управления" + глубина TypeScript).
**Вопросы-ловушки:**
- *"Почему такой короткий коммерческий стаж на Vue.js?"* → Суммарный опыт на Vue.js (ТулГУ 2022 + Здравсервис 2024–наст.) закрывает требование, при этом уровень ответственности (фронтенд с нуля, самостоятельный RBAC-дизайн) выше типичного для формального стажа.
- *"Нет опыта с Nuxt — это проблема?"* → Nuxt построен поверх Vue, глубокое знание Composition API позволяет быстро закрыть разрыв; есть подтверждённый трек быстрого освоения новых фреймворков (Flutter за курс, портирование Android→iOS).
- *"Готовы к переезду в СПб?"* → Нет, но вакансия сама предлагает удалёнку/гибрид, переезд не требуется — уточнить конкретный формат сотрудничества на созвоне.
## G) Легитимность вакансии
**Итог:** High Confidence
| Сигнал | Наблюдение | Вес |
|---|---|---|
| Свежесть публикации | Опубликована 8 июля 2026, сегодня 10 июля — 2 дня | Positive |
| Кнопка отклика | Активна | Positive |
| Конкретика в описании | Названы конкретные технологии (Vue.js, TypeScript, Nuxt, ES6), два конкретных продукта (внешняя панель хостинга + внутренняя панель сотрудников + сайт/мобильное приложение) | Positive |
| Реалистичность требований | 3-6 лет общего опыта + 2 года Vue.js для Middle — реалистично, без внутренних противоречий | Positive |
| Сигналы увольнений в компании | Поиск не выявил новостей об увольнениях/сокращениях в Beget за 2026 | Neutral/Positive |
| Паттерн репостов | В `scan-history.tsv` нет истории повторных публикаций от Beget | Neutral (нет данных, не тревожный сигнал) |
| Прозрачность зарплаты | Не указана ("Уровень дохода не указан") | Neutral — распространено на рынке РФ, low reliability сигнал |
**Контекст:** Beget — давно существующий хостинг-провайдер с реальным продуктом (не стартап на грани закрытия), что снижает вероятность "фантомной" вакансии.
---
## Cover Letter Draft
> Черновик сгенерирован на этапе оценки. Доработать через `/career-ops cover beget` — уточнить угол подачи, research по компании, и сгенерировать PDF.
> Пробелы отмечены ниже — закрыть их в процессе доработки.
---
**Открытие** *(черновик — уточнить свой угол "почему эта роль")*
Ищу позицию Middle Frontend Developer в команде Beget, где смогу применить опыт коммерческой разработки на Vue 3 и TypeScript для развития панели управления хостингом. Особенно откликается задача поддержки качества кода и снижения технического долга — это то, чем я занимаюсь на текущем проекте каждый день.
**Введение (профиль)**
Frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia) и Flutter. С ноября 2024 года работаю в «Здравсервис» — аптечной сети, обслуживающей около 1200 аптек по всей России, где разработала с нуля фронтенд внутренней системы управления заказами и логистикой (ЕКОМ) и подключилась к legacy-проекту кассы (РМК). Профильное образование по информационной безопасности помогло самостоятельно спроектировать и объяснить бэкенд-команде ролевую модель авторизации (RBAC).
**Ключевые достижения** *(отобраны из cv.md — формулировки без изменений)*
- **Разработала с нуля фронтенд ЕКОМ,** стек Vue 3, Composition API, TypeScript, Pinia, Vue Router, Vite, Vitest, Storybook.
- **Спроектировала ролевую модель авторизации (RBAC)** для ~20 пользователей с разграничением между отделами (логистика/заказы).
- **Внедрила Feature Branching в GitLab и обучила коллегу с 11-летним стажем** работе с системой версионирования — команда перешла на стабильные еженедельные релизы.
- **Внедрила Vitest, Storybook и Playwright E2E-тесты** на legacy-проекте РМК.
**Проблемы, которые буду решать** *(черновик — требует research компании + твоего ввода)*
> Заполнить: какие задачи Beget стоят перед панелью управления хостингом сейчас, и как бы ты их решала?
**Закрытие**
Буду рада обсудить вакансию. На связи в будни (13:00-14:00, после 18:00) и в выходные — предлагаю сначала согласовать удобное время созвона в Telegram (@vbleroy) или VK (vk.com/vbleroy).
---
**Отмеченные пробелы:**
- Nuxt отсутствует в реальном опыте (указан только как "быстро осваиваю" в CV).
- Формальный коммерческий стаж на Vue.js чуть ниже заявленных "от 2 лет" при подсчёте только текущего места — закрывается суммированием с заказной разработкой ТулГУ (2022).
**Ключевые слова JD для отражения в резюме/отклике:**
ES6, TypeScript, Vue.js, Nuxt, панель управления, хостинг, технический долг, качество кода, вёрстка, аргументированные решения, мобильное приложение.
---
*Запустить `/career-ops cover beget` для доработки угла подачи, подтверждения research по компании и генерации PDF.*
---
## Извлечённые ключевые слова
ES6, TypeScript, Vue.js, Nuxt, панель управления, хостинг-провайдер, технический долг, качество кода, вёрстка, аргументированные решения, мобильное приложение, внутренняя панель, коммерческая разработка, Composition API, Middle Frontend Developer, трудовой договор, удалённо, гибрид, Санкт-Петербург, DMS.