170 lines
25 KiB
Markdown
170 lines
25 KiB
Markdown
# Оценка: МТС — Senior Frontend разработчик [NBA.Банк]
|
||
|
||
**Дата:** 2026-07-06
|
||
**URL:** https://job.mts.ru/vacancy/663323395236042942
|
||
**Архетип:** Frontend-разработчик (Vue.js) — первичный архетип кандидата
|
||
**Балл:** 1.6/5
|
||
**Legitimacy:** Высокая уверенность
|
||
**PDF:** не создан (балл < 3.0)
|
||
|
||
---
|
||
|
||
## A) Резюме роли
|
||
|
||
| Параметр | Значение |
|
||
|---|---|
|
||
| Архетип | Frontend-разработчик (Vue.js), primary fit |
|
||
| Domain | Frontend (виджет NBA.Банк, встроенный банковский продукт МТС) |
|
||
| Function | Build (новый функционал + рефакторинг существующего) |
|
||
| Seniority (в JD) | Senior, диапазон опыта 3-6 лет |
|
||
| Формат работы | **Москва · Гибридный · полный день** |
|
||
| Размер команды | Не указан |
|
||
| Оформление | Не указано в JD (ООО «МТС Веб Сервисы» — юрлицо; по умолчанию предполагается ТК РФ, стандарт для крупного корпоративного работодателя) |
|
||
| TL;DR | Технически сильное совпадение по стеку (Vue 3 + TS), но роль требует гибридного присутствия в московском офисе — это жёстко конфликтует с локацией кандидата (Тула, без переезда и командировок). |
|
||
|
||
**Ключевой блокер:** гибридный формат в Москве. Кандидат живёт в Туле, переезд и командировки исключены (`config/profile.yml`, `modes/_profile.md`). Тула не в зоне ежедневной доступности московского офиса (~180 км, не воспринимается рынком как "пригород Москвы"). Это подпадает под жёсткое правило локации: *"Hybrid/office roles requiring relocation outside Тула... score 1.0 — hard constraint, not a soft preference"*.
|
||
|
||
## B) Совпадение с CV
|
||
|
||
| Требование JD | Совпадение с CV |
|
||
|---|---|
|
||
| Опыт разработки на TypeScript | ✅ «Стек: Vue 3, Composition API, TypeScript, Pinia, Vue Router...» (ЕКОМ, ~1 год) |
|
||
| Опыт разработки на Vue 3 | ✅ ЕКОМ (frontend с нуля) + РМК (legacy, ~6 месяцев) — оба на Vue 3 |
|
||
| Понимание клиент-серверной архитектуры, работа с API | ✅ REST API упомянут в навыках; WebSocket/WSS — внедрила в РМК и ЕКОМ |
|
||
| HTML, CSS, адаптивная вёрстка | ✅ HTML5/CSS3 в навыках; Tailwind CSS в проекте ЕКОМ |
|
||
| Vite/Webpack | ⚠️ Частично — Vite указан в стеке ЕКОМ; Webpack не упомянут в CV |
|
||
| Микрофронтенды | ❌ Не упомянуты в CV — нет прямого опыта |
|
||
| Git | ✅ «Внедрила Feature Branching в Git (GitLab)», обучила коллегу системе версионирования |
|
||
| Юнит-тесты Jest/Vitest | ✅ «Vitest (unit-тесты Vue-компонентов)»; Jest не упомянут, но Vitest — прямой эквивалент |
|
||
|
||
**Пробелы:**
|
||
1. **Webpack** — nice-to-have, не hard blocker (Vite покрывает суть задачи сборки). Стратегия закрытия: указать в сопроводительном, что базовые концепции сборщиков (chunking, code splitting, dev server, plugins) переносятся между Vite и Webpack напрямую.
|
||
2. **Микрофронтенды** — потенциальный hard blocker, если в NBA.Банк это ядро архитектуры (виджет, встраиваемый в банковское приложение — вероятно, микрофронтенд-подход). Смежного опыта в CV нет. Стратегия: честно признать отсутствие прямого опыта, но привести пример модульной архитектуры ЕКОМ (разграничение по ролям/отделам через RBAC) как доказательство системного мышления о границах ответственности между модулями.
|
||
3. **Jest** — не hard blocker, Vitest как замена принимается почти везде, где мигрируют на Vite.
|
||
|
||
## C) Уровень и стратегия
|
||
|
||
**Уровень в JD:** Senior, 3-6 лет коммерческого опыта.
|
||
**Естественный уровень кандидата:** Middle (для архетипа Frontend/Vue.js) — на текущий момент около 1.5-2 лет непрерывного коммерческого опыта в frontend (ноябрь 2024 — настоящее время в «Здравсервис»), плюс 10 месяцев заказной разработки в 2022 (частично backend/Node.js, не чисто frontend). Совокупный опыт близок к нижней границе диапазона JD, но не достигает его комфортно.
|
||
|
||
**План "продать senior без обмана":**
|
||
- Не заявлять формальный тайтл senior — но подчеркнуть senior-поведение: единолично спроектировала frontend ЕКОМ с нуля, включая архитектуру ролевой модели (RBAC), которую объясняла бэкенд-команде.
|
||
- Обучение коллеги с 11-летним стажем работе с Git/Feature Branching — прямое доказательство того, что уровень влияния не завязан на годы в профессии.
|
||
- Проактивная роль в приоритизации бэклога (стала участником стратегического планирования спринтов с product owner) — сигнал системного, не только исполнительского мышления.
|
||
- Формулировка для скрининга: *"Около двух лет коммерческого опыта, но веду продукт от архитектуры до продакшна самостоятельно — включая проектирование системы доступа и обучение процессам команды"*.
|
||
|
||
**План "если понизят уровень":**
|
||
- Принять Middle-уровень, если компенсация справедлива относительно рынка (см. блок D).
|
||
- Договориться о пересмотре грейда через 6 месяцев с явными критериями: закрытие пробела по микрофронтендам, самостоятельная доставка минимум 1-2 фич без ревью архитектуры.
|
||
|
||
**Однако:** вся эта стратегия становится вторичной на фоне блокера локации (см. блок A/G) — компания в любом случае потребует гибридное присутствие в Москве, что делает вопрос грейда не главным риском этой вакансии.
|
||
|
||
## D) Компенсация и спрос
|
||
|
||
WebSearch (июль 2026, "Vue.js frontend developer зарплата Москва hh.ru 2026 middle senior"):
|
||
|
||
| Уровень | Диапазон gross (₽/мес, Москва) | Net ≈ gross × 0.87 |
|
||
|---|---|---|
|
||
| Middle Vue Developer | 290 000 — 380 000 | ≈ 252 300 — 330 600 |
|
||
| Senior Vue Developer | 480 000 — 650 000 | ≈ 417 600 — 565 500 |
|
||
|
||
Источник: агрегированные данные по рынку fronted-разработки в Москве, 2026 (sborka.work, enigmai.ru, hh.ru — см. Sources ниже). Прямых данных именно по МТС/ООО «МТС Веб Сервисы» не найдено; экстраполяция по рыночному уровню для крупного корпоративного работодателя в Москве.
|
||
|
||
**Оценка для кандидата:** если бы локация не была блокером, при грейдовании как Middle (реалистичный сценарий с учётом блока C) компенсация ~250-330 тыс ₽ на руки — заметно выше целевого минимума кандидата (100 000-120 000+ ₽ на руки). МТС как крупный работодатель дополнительно даёт ДМС со стоматологией с 1-го месяца, страхование от несчастных случаев, 28 дней отпуска, корпоративный университет — стандартный сильный соцпакет для big tech РФ.
|
||
|
||
**Но:** компенсационная привлекательность полностью нивелируется требованием гибридного присутствия в Москве (см. G и следующий раздел) — компания не предлагает удалённый формат для этой позиции.
|
||
|
||
Gross/Net в JD не указаны явно (типично для МТС — диапазон обсуждается на собеседовании).
|
||
|
||
## E) План персонализации
|
||
|
||
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|
||
|---|---|---|---|---|
|
||
| 1 | Summary | Общий фокус на Vue 3 + Flutter + RBAC | Сузить до Vue 3 + TS + продакшн-архитектура (без Flutter) | JD чисто frontend/Vue, Flutter — шум |
|
||
| 2 | Порядок буллетов ЕКОМ | RBAC и график курьеров равнозначны | RBAC — первым (соответствует "прорабатывать технические решения"), затем список заказов (архитектура фильтрации) | JD явно просит "участие в проработке технических решений" |
|
||
| 3 | Skills | Vite упомянут, Webpack — нет | Добавить фразу "инструменты сборки (Vite; общие принципы бандлинга переносимы на Webpack)" | Закрыть пробел честно, не выдумывая опыт |
|
||
| 4 | RMК блок | WebSocket и Git выделены отдельно | Объединить в один буллет "внедрение WebSocket + Feature Branching в Git" | Показать связку клиент-серверного мышления и процессной зрелости — оба маркера, которые JD ищет в "проработке технических решений" |
|
||
| 5 | Локация в форме | — | Указать явно: "Тула, готова к удалённой работе; для гибридного/офисного формата — только при базировании в Туле" | Прозрачность с первого контакта важнее, чем шанс дойти до интервью и получить отказ на этапе логистики |
|
||
|
||
**Топ для hh.ru/LinkedIn:** добавить ключевые слова "TypeScript", "Vue 3", "Composition API", "Vite", "REST API", "Vitest", "Git/GitLab" в заголовок и первую строку профиля.
|
||
|
||
## F) План собеседований
|
||
|
||
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|
||
|---|---|---|---|---|---|---|---|
|
||
| 1 | Проработка технических решений | RBAC в ЕКОМ | Нужна была ролевая модель доступа между отделами | Спроектировать и защитить модель перед бэкенд-командой | Разработала модель ролей (логистика/заказы/техподдержка), объяснила принцип бэкенд-разработчику с опорой на ИБ-образование | Модель принята и внедрена, разграничение работает | Поняла, что образование в ИБ — реальное конкурентное преимущество, а не просто диплом |
|
||
| 2 | Vue 3 / TS в продакшне | Frontend ЕКОМ с нуля | Нужна была система управления заказами/логистикой | Спроектировать и реализовать frontend на Vue 3 + TS + Pinia | Построила интерфейс с фильтрацией по 9 параметрам, заменивший таблицы 1С | Используется логистикой, техподдержкой, клиентским отделом и разработчиками | Осознала ценность UX-решений для непрофильных пользователей (не разработчиков) |
|
||
| 3 | Работа с API / клиент-серверная архитектура | WebSocket-оповещения в РМК | Не было realtime-статуса аптек | Внедрить WSS-соединение и обработку событий на клиенте | Реализовала оповещения почти без задержки, статус прочтения | Впервые видно онлайн-статус ~1200 аптек в реальном времени | Поняла важность обратной связи о доставке сообщения, не только самой доставки |
|
||
| 4 | Рефакторинг / поддержание качества кода | Баг с замыканием в РМК | Клавиатура переставала работать после многократного использования | Найти причину в глобальном классе биндинга кнопок | Устранила утечку реактивных переменных, исправила ~20 багов в проекте | Стабилизировала критичный для кассиров модуль | Стала внимательнее к жизненному циклу реактивных переменных в долгоживущих объектах |
|
||
| 5 | Git / процессная зрелость | Feature Branching + обучение коллеги | Хаотичный git-флоу, зависающие фичи | Внедрить Feature Branching и обучить команду | Обучила коллегу с 11-летним стажем; переход на стабильные еженедельные релизы | Сократилось количество зависших фич | Убедилась, что процессные изменения требуют личного менторства, не только документации |
|
||
| 6 | Работа с production-инцидентами | Диагностика бага "Избранное" | Пользователи жаловались, что раздел не открывается | Найти причину (загрузка всех товаров одним запросом) | Реализовала постраничную загрузку совместно с бэкенд-разработчиком | Жалобы прекратились | Поняла ценность профилирования перед тем, как чинить "на глаз" |
|
||
|
||
**Рекомендуемый кейс:** ЕКОМ — архитектура RBAC + список заказов с фильтрацией. Показывает end-to-end владение продуктом и системное мышление, наиболее близкое к формулировке JD "участие в проработке технических решений".
|
||
|
||
**Вопросы-ловушки:**
|
||
- *"Почему рассматриваете вакансию с меньшим опытом, чем указано (3-6 лет)?"* → Ответ: подчеркнуть темп роста и объём самостоятельной ответственности (частный продукт с нуля, обучение старшего коллеги, RBAC-дизайн), а не годы.
|
||
- *"Готовы к гибридному графику в Москве?"* → Честный ответ обязателен: "Нет, base — Тула, переезд не рассматриваю. Открыта к удалённому формату, если он возможен для этой роли." Не смягчать до "гибко" — это противоречит политике кандидата.
|
||
|
||
## G) Легитимность вакансии
|
||
|
||
**Сигналы свежести:** Дата публикации не показана в извлечённом JD; статус отклика — активный ("Откликнуться" + встроенная форма "Отклик на вакансию"), что подтверждает, что вакансия открыта на момент извлечения.
|
||
|
||
**Качество описания:** Высокое. Указан конкретный проект (виджет NBA.Банк), конкретный стек (Vue 3, TypeScript, Vite/Webpack, микрофронтенды, Jest/Vitest), реалистичный диапазон опыта, разграничение зон ответственности (новый функционал / оптимизация / участие в решениях). Соотношение generic-формулировок к конкретике низкое — не шаблонный "универсальный" текст. Список бенефитов подробный и специфичный для МТС (MTS Ocean, TechTalks, гильдии инженеров, конкретные конференции — HighLoad++, DataFest, Mobius).
|
||
|
||
**Компания:** ООО «МТС Веб Сервисы» — юрлицо крупной публичной телеком-группы МТС, вакансия размещена на собственном корпоративном портале (job.mts.ru). Ничего в описании не выглядит подозрительным (нет признаков "плати за обучение", нет расплывчатых обещаний дохода, нет требования личных данных сверх обычной формы). WebSearch по репутации найма компании не проводился — сигналов, требующих проверки, не обнаружено (бюджет WebSearch использован на Block D).
|
||
|
||
**Вывод:** **Высокая уверенность.**
|
||
|
||
---
|
||
|
||
## Извлечённые ключевые слова
|
||
|
||
TypeScript, Vue 3, Vue.js, клиент-серверная архитектура, REST API, HTML5, CSS3, адаптивная вёрстка, Vite, Webpack, микрофронтенды, Git, юнит-тесты, Jest, Vitest, рефакторинг, виджет, NBA.Банк, техническое решение, гибридный формат, качество кода
|
||
|
||
---
|
||
|
||
## Cover Letter Draft
|
||
|
||
> Draft generated at evaluation time. Complete via `/career-ops cover mts-senior-frontend-nba-bank` 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)*
|
||
Разработка виджета NBA.Банк на Vue 3 и TypeScript — стек, на котором я строю продукт с нуля последний год, и роль, где важна проработка технических решений, а не только реализация готовых макетов.
|
||
|
||
**Profile introduction**
|
||
Frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia). За последний год спроектировала и реализовала с нуля frontend внутренней системы управления заказами и логистикой (ЕКОМ) для сети из ~1200 аптек, а также подключилась к legacy-проекту кассы на Vue 3 с WebSocket. Профильное образование в информационной безопасности дало нестандартный для frontend-разработчика опыт — самостоятельно спроектировала и объяснила бэкенд-команде ролевую модель авторизации (RBAC).
|
||
|
||
**Key achievements** *(selected from cv.md — exact wording preserved)*
|
||
- **Спроектировала ролевую модель авторизации (RBAC)** с разграничением между отделами (например, логистика не видит заказы, и наоборот) — объясняла бэкенд-разработчику принцип работы, опираясь на профильное ИБ-образование.
|
||
- **Интерфейс списка заказов с фильтрацией по 9 параметрам** — заменил неудобные таблицы 1С; используется логистикой, отделом работы с клиентами, техподдержкой и разработчиками.
|
||
- **Внедрила WebSocket для оповещений в реальном времени** — впервые в компании видно, сколько аптек онлайн прямо сейчас, оповещения доходят практически без задержки.
|
||
- **Внедрила Feature Branching в Git (GitLab), обучила коллегу с 11-летним стажем** — команда перешла на стабильные еженедельные релизы.
|
||
|
||
**Problems I will solve** *(placeholder — requires company research + your input)*
|
||
> To be completed: какие задачи стоят перед виджетом NBA.Банк (масштабирование, производительность, интеграция с банковским приложением)? Как бы вы к ним подошли?
|
||
|
||
**Closing**
|
||
Готова обсудить детали в удобное время. Отдельно хочу сразу обозначить: моя база — Тула, переезд и командировки не рассматриваю; открыта к удалённому формату, если он применим к этой позиции.
|
||
|
||
---
|
||
|
||
**Gaps flagged:**
|
||
- **Локация (критично):** роль заявлена как гибридная в Москве. Кандидат не переезжает и не рассматривает командировки — это нужно прояснить с рекрутером в первом же контакте, до вложения времени в подготовку.
|
||
- **Уровень:** JD просит 3-6 лет опыта (Senior); у кандидата ~1.5-2 года непрерывного коммерческого опыта. Обсуждается в блоке C.
|
||
- **Микрофронтенды:** прямого опыта нет — честно обозначить как зону роста, если тема поднимется на техническом интервью.
|
||
|
||
**JD keywords to mirror** *(extracted for ATS + human read)*
|
||
Vue 3, TypeScript, клиент-серверная архитектура, REST API, адаптивная вёрстка, Vite, микрофронтенды, юнит-тесты Vitest, проработка технических решений, качество кода
|
||
|
||
---
|
||
*Run `/career-ops cover mts-senior-frontend-nba-bank` to complete angles, confirm company research, and generate the PDF.*
|
||
|
||
---
|
||
|
||
## Sources (WebSearch, Block D)
|
||
- [Зарплата Frontend-разработчика в 2026: Junior, Middle, Senior, Lead | СБОРКА](https://sborka.work/knowledge/salaries/frontend-developer-salary)
|
||
- [Зарплата Frontend разработчика в 2026 году: детальный разбор React, Vue и Angular](https://enigmai.ru/salary/frontend/frontend-salary-2026/)
|
||
- [Профессия Frontend-разработчик | hh.ru](https://career.hh.ru/profession/40)
|