155 lines
22 KiB
Markdown
155 lines
22 KiB
Markdown
# Оценка: МТС — Senior Frontend разработчик
|
||
|
||
**Дата:** 2026-07-06
|
||
**URL:** https://job.mts.ru/vacancy/548390212791698272
|
||
**Архетип:** Frontend-разработчик (Vue.js) — стек совпадает, но локация — жёсткий блокер
|
||
**Балл:** 1.6/5
|
||
**Legitimacy:** Высокая уверенность
|
||
**PDF:** не создан (балл < 3.0)
|
||
|
||
---
|
||
|
||
## A) Резюме роли
|
||
|
||
| Параметр | Значение |
|
||
|---|---|
|
||
| Архетип (JD) | Frontend-разработчик; стек на выбор — React.JS, Angular.JS, **Vue.JS**, Node.JS, TS |
|
||
| Архетип кандидата | Frontend Developer (Vue.js) — primary, прямое совпадение по стеку |
|
||
| Domain | Frontend-разработка (продукт не конкретизирован в тексте JD) |
|
||
| Function | Build (новый функционал, дефекты) + code review + участие в архитектуре и API-дизайне |
|
||
| Seniority (JD) | Senior, «не менее 3 лет» опыта с выбранным стеком |
|
||
| Seniority (кандидат) | ~1 год 8 месяцев коммерческого опыта (с ноября 2024) — ниже заявленного порога |
|
||
| Формат работы | **Москва · Гибкий график** — «гибкий график» относится к времени работы (гибкие часы), а не к формату присутствия. Удалённая работа явно не упомянута. |
|
||
| Размер команды | Не указано; упоминается «выстраивание процесса разработки распределённых команд» — намёк на удалённо-распределённую структуру, но не гарантия удалённого формата для этой роли |
|
||
| Оформление | Не указано (юрлицо: ООО МТС Веб Сервисы) |
|
||
| TL;DR | Senior frontend-роль с гибким по стеку требованием (Vue.js в списке) — сильное стековое совпадение с кандидатом, но локация в Москве без подтверждённой удалёнки тянет балл к минимуму по жёсткому правилу локации. |
|
||
|
||
**Локация — решающий фактор.** По правилу из `modes/_profile.md`: гибрид/офис/on-site вне Тулы без опции удалённой работы = балл **1.0** по этому измерению (жёсткое ограничение, не предпочтение). JD указывает «Москва» без пометки «удалённо»/«гибрид» — «Гибкий график» описывает часы, не место. При консервативной и honest интерпретации это на сегодня выглядит как офисная/гибридная роль в Москве, что требует переезда или регулярных поездок кандидата из Тулы — недопустимо по её условиям (переезд — нет, командировки — нет).
|
||
|
||
## B) Совпадение с CV
|
||
|
||
| Требование JD | Совпадение с CV |
|
||
|---|---|
|
||
| JavaScript, HTML5, CSS3 | ✅ Прямое совпадение |
|
||
| Опыт от 3 лет на выбор: React/Angular/**Vue.JS**/Node/TS | ⚠️ Стек (Vue.JS + TS) совпадает полностью, но общий стаж (~1 год 8 месяцев) не дотягивает до заявленных «не менее 3 лет» |
|
||
| Реализация компонентов UI и логики взаимодействия | ✅ «Здесь ЕКОМ» — frontend с нуля на Vue 3, Composition API, Pinia, Vue Router |
|
||
| Разработка нового функционала + модификация существующего | ✅ ЕКОМ (новая система) и РМК (legacy-проект) — оба типа задач представлены |
|
||
| Исправление дефектов | ✅ «Исправила порядка 20 багов» (РМК), «более 20 багов» (Здесь Аптека) |
|
||
| Код-ревью | ⚠️ Не упомянуто явно в CV как формальная практика — вероятный пробел или недостаточно задокументированный опыт |
|
||
| Ревью макетов в Figma | ⚠️ Косвенно — есть опыт самостоятельного UI-дизайна («редизайн кнопки Избранное», «app-иконки»), но не подтверждена работа именно как ревьюер чужих Figma-макетов |
|
||
| Декомпозиция задач и архитектурные решения в команде | ✅ Спроектировала RBAC-модель и объяснила её бэкенд-команде; участвует в планировании спринтов и анализе бэклога |
|
||
| Обсуждение и проектирование API | ⚠️ Косвенно — обсуждала с бэкенд-разработчиком постраничную загрузку и WebSocket-протокол, но формального «API design» опыта в CV не выделено отдельно |
|
||
|
||
**Пробелы:**
|
||
|
||
1. **Стаж (3+ года vs ~1 год 8 месяцев)** — это soft-blocker: реальный опыт качественный (RBAC design, продукт с нуля, менторство коллеги с 11-летним стажем), но количественно ниже порога. Стратегия: подчеркнуть плотность и разнообразие опыта (3 продукта одновременно, менторство, архитектурные решения) как компенсацию за меньший общий стаж.
|
||
2. **Формальное код-ревью** — nice-to-have, закрывается фразой в сопроводительном письме о ревью PR коллег в рамках Feature Branching workflow.
|
||
3. **API design** — можно закрыть, сославшись на обсуждение WebSocket-протокола и структуры данных для RBAC с бэкенд-командой.
|
||
|
||
## C) Уровень и стратегия
|
||
|
||
1. **Уровень в JD:** Senior, от 3 лет опыта. **Естественный уровень кандидата:** Middle (по `config/profile.yml`, растущий — расширение до архитектурных задач и менторства).
|
||
2. **План «продать senior без обмана»:** акцент на широту ответственности, а не на годы — ведёт 3 продукта параллельно, самостоятельно спроектировала RBAC и объяснила её более опытной команде, обучила коллегу с 11-летним стажем работе с Git. Это поведенческие маркеры senior, но при 1 год 8 месяцев общего стажа компания, скорее всего, всё равно оценит как Middle/Middle+.
|
||
3. **План «если понизят уровень»:** принять как Middle+ при справедливой компенсации, договориться о пересмотре через 6 месяцев на основе конкретных критериев (взятие на себя ревью, самостоятельное ведение фичи end-to-end).
|
||
|
||
**Но:** даже при отличном стековом совпадении этот пункт вторичен — локационный блокер (см. блок A) остаётся определяющим для итогового балла.
|
||
|
||
## D) Компенсация и спрос
|
||
|
||
| Показатель | Значение | Источник |
|
||
|---|---|---|
|
||
| Senior Vue-разработчик, Москва | 480 000 – 650 000 ₽/мес | результаты поиска по hh.ru-статистике зарплат 2026 |
|
||
| Медиана Senior Frontend, Москва (все стеки) | 287 500 ₽/мес (февраль 2026) | [hh.ru career profession page](https://career.hh.ru/profession/40) |
|
||
| Диапазон Senior Frontend, Москва (по стеку) | 300 000 – 450 000 ₽/мес | [Зарплата Frontend-разработчика 2026: Junior, Middle, Senior, Lead](https://sborka.work/knowledge/salaries/frontend-developer-salary) |
|
||
| Указано в JD | Конкретная цифра не раскрыта — только описание бенефитов (ДМС, страхование, отпуск 28+3 дня) | jds/mts-senior-frontend-razrabotchik.md |
|
||
| Gross/Net | Не указано явно; предполагается gross. `net ≈ gross × 0.87` | modes/ru/_shared.md |
|
||
|
||
Учитывая вероятное понижение уровня до Middle/Middle+ (см. блок C), реалистичная компенсация, скорее всего, ближе к медиане Middle (200 000–270 000 ₽ gross ≈ 174 000–235 000 ₽ net), что **всё ещё комфортно выше** цели кандидата (100 000–120 000+ ₽/мес на руки). Компенсация не является проблемой — проблема исключительно в локации.
|
||
|
||
## E) План персонализации
|
||
|
||
Балл ниже порога 3.0 — PDF не генерируется. Основной блокер (локация) не решается изменениями резюме. Если формат работы будет подтверждён как удалённый — переоценить с нуля, так как стек совпадает отлично:
|
||
|
||
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|
||
|---|--------|-------------------|------------------------|--------|
|
||
| 1 | Summary | Общий фокус на Vue3+Flutter | Выделить Vue 3 + TypeScript + Pinia как основной стек, Flutter — вторично | JD явно перечисляет Vue.JS как принимаемый стек |
|
||
| 2 | Опыт (ЕКОМ) | Стандартное описание | Поднять RBAC-дизайн и архитектурные решения на первое место | Совпадает с «участие в архитектурных решениях» и «декомпозиция задач» |
|
||
| 3 | Soft skills | В конце резюме | Вынести менторство (обучение коллеги Git) и участие в планировании в summary | Прямое совпадение с «выстраивание процесса разработки распределённых команд» |
|
||
| 4 | Сопроводительное письмо | — | Прямо уточнить формат работы (удалённо/гибрид) до подачи | Критично для honest-фильтрации по локации |
|
||
| 5 | Стаж | Не акцентируется | Явно указать «плотность» опыта — 3 параллельных продукта за 1.5 года | Компенсирует количественный разрыв со стажем 3+ года |
|
||
|
||
## F) План собеседований
|
||
|
||
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|
||
|---|---|---|---|---|---|---|---|
|
||
| 1 | Реализация компонентов и логики | Frontend ЕКОМ с нуля (Vue 3, Composition API) | Не было системы управления заказами/логистикой, всё делалось вручную | Разработать frontend с нуля | Построила стек Vue3 + Pinia + TanStack Table + WebSocket | Логистика, поддержка, клиентский отдел и разработчики используют систему ежедневно | Изначально стоило сразу проектировать модель доступа (RBAC), а не добавлять её позже |
|
||
| 2 | Декомпозиция и архитектурные решения | Дизайн RBAC-модели | Нужно разграничить доступ между отделами | Спроектировать ролевую модель с нуля | Внедрена и объяснена бэкенд-команде модель ролей | Отделы видят только релевантные им данные | Задокументировала бы модель в едином файле сразу, а не объясняла устно |
|
||
| 3 | Код-ревью / процессы команды | Внедрение Feature Branching + менторство | Нестабильные релизы, зависшие фичи | Внедрить Git Flow и обучить команду | Обучила коллегу с 11-летним стажем, переход на стабильные еженедельные релизы | Сократилось количество зависших фич | Стоило формализовать чек-лист код-ревью с самого начала |
|
||
| 4 | Обсуждение и проектирование API | WebSocket-протокол оповещений (РМК) | Нужны были оповещения в реальном времени без задержек | Спроектировать протокол вместе с бэкендом | Внедрила WebSocket (WSS), статус прочтения оповещений | Половина аптек читает оповещения в первые минуты | В следующий раз заложила бы fallback на случай обрыва соединения на этапе дизайна, а не постфактум |
|
||
| 5 | Работа с фильтрацией/производительностью | Список заказов с фильтрацией по 9 параметрам | Логисты и поддержка не могли отслеживать проблемные заказы в неудобных таблицах 1С | Спроектировать интерфейс с множественной фильтрацией | Заменил таблицы 1С, используется 4 отделами | Стал стандартным инструментом для нескольких команд | Добавила бы сохранение пользовательских фильтров сразу, а не по отдельному запросу позже |
|
||
| 6 | Проактивность в планировании (аналог "распределённые команды") | Поднятие вопроса приоритизации бэклога | Приоритеты забывались/терялись при планировании | Явно указала руководству на проблему | Команда вернулась к целям на полгода/год, кандидат включена в спринт-планирование | Стала регулярным участником стратегического планирования | Раньше начала бы формально документировать цели спринтов |
|
||
|
||
**Рекомендуемый кейс на интервью:** «Здесь ЕКОМ» целиком (RBAC + WebSocket + фильтрация) — прямое покрытие большинства требований JD.
|
||
|
||
**Вопросы-ловушки:**
|
||
- *«Ваш общий стаж меньше 3 лет — почему претендуете на Senior-роль?»* → Ответ: акцент на плотности и широте ответственности (3 продукта, менторство, архитектурные решения), готовность обсудить реальный грейд по итогам технического интервью.
|
||
- *«Расскажите про удалённый формат работы для этой позиции»* → Уточняющий вопрос **кандидата** к рекрутёру в начале разговора — must-ask, так как JD не подтверждает формат.
|
||
|
||
## G) Легитимность вакансии
|
||
|
||
**Свежесть:** дата публикации не показана — нейтрально, типично для ATS МТС.
|
||
|
||
**Качество описания:** высокое — конкретный список технологий на выбор (не общая формулировка «фронтенд разработчик»), реалистичные и разнообразные обязанности (код-ревью, декомпозиция, API-дизайн), подробные бенефиты с конкретными деталями (MTS Ocean платформа, участие в HighLoad++/DataFest/Mobius/Test Driven Conf, отпуск 28+3 дня). Минимум шаблонного «воды».
|
||
|
||
**Компания:** ООО МТС Веб Сервисы — та же экосистема, что и вакансия 013; крупный, публично известный оператор. Отдельный WebSearch по хайринг-сигналам не потребовался — бюджет сохранён, так как ничего в тексте не вызывает сомнений.
|
||
|
||
**Apply control:** активна кнопка «Откликнуться» + встроенная форма.
|
||
|
||
**Итог:** **Высокая уверенность.**
|
||
|
||
---
|
||
|
||
## Извлечённые ключевые слова
|
||
|
||
JavaScript, HTML5, CSS3, Vue.JS, React.JS, Angular.JS, Node.JS, TypeScript, архитектура, распределённые команды, код-ревью, Figma, декомпозиция задач, проектирование API, веб-сервер, Git, компоненты интерфейса, логика взаимодействия, новый функционал, исправление дефектов
|
||
|
||
---
|
||
|
||
## Cover Letter Draft
|
||
|
||
> Draft generated at evaluation time. Complete via `/career-ops cover mts-frontend-razrabotchik` to fill in angles, confirm research, and generate the PDF.
|
||
> Gaps flagged below — address them during the cover flow.
|
||
|
||
---
|
||
|
||
**Opening** *(placeholder — refine with your "why this role" angle)*
|
||
Заинтересовала возможность применить опыт разработки на Vue 3 в масштабе крупной продуктовой компании — особенно задачи, связанные с архитектурными решениями и проектированием API в команде.
|
||
|
||
**Profile introduction**
|
||
Frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia). С ноября 2024 года разработала с нуля фронтенд внутренней системы управления заказами и логистикой для сети из ~1200 аптек, параллельно ведя ещё два продукта.
|
||
|
||
**Key achievements** *(selected from cv.md — exact wording preserved)*
|
||
- **Спроектировала ролевую модель авторизации (RBAC)** с разграничением между отделами, объяснила принцип бэкенд-команде.
|
||
- **Внедрила Feature Branching в Git (GitLab)**, обучила коллегу с 11-летним стажем — команда перешла на стабильные еженедельные релизы.
|
||
- **Интерфейс списка заказов с фильтрацией по 9 параметрам** — заменил неудобные таблицы 1С, используется логистикой, клиентским отделом, техподдержкой и разработчиками.
|
||
- **Внедрила WebSocket для оповещений в реальном времени** — впервые видно, сколько аптек онлайн, кто и когда прочитал оповещение.
|
||
|
||
**Problems I will solve** *(placeholder — requires company research + your input)*
|
||
> To be completed: какие архитектурные или продуктовые задачи актуальны для этой команды в МТС и как вы бы их решали?
|
||
|
||
**Closing**
|
||
Буду рада обсудить детали в удобное для вас время.
|
||
|
||
---
|
||
|
||
**Gaps flagged:**
|
||
- **Локация (hard):** формат работы указан только как «Москва», удалённая работа не подтверждена — требует уточнения перед откликом; кандидат не рассматривает переезд/командировки.
|
||
- **Стаж:** заявлено «не менее 3 лет», у кандидата ~1 год 8 месяцев — компенсируется широтой ответственности.
|
||
- **Код-ревью и API-дизайн:** не выделены явно в CV как отдельная практика — упомянуть в письме через смежный опыт.
|
||
|
||
**JD keywords to mirror** *(extracted for ATS + human read)*
|
||
Vue.JS, TypeScript, архитектура приложения, распределённые команды, код-ревью, декомпозиция задач, проектирование API, компоненты интерфейса, Figma, Git
|
||
|
||
---
|
||
*Run `/career-ops cover mts-frontend-razrabotchik` to complete angles, confirm company research, and generate the PDF.*
|