25 KiB
Оценка: МТС — 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 — прямой эквивалент |
Пробелы:
- Webpack — nice-to-have, не hard blocker (Vite покрывает суть задачи сборки). Стратегия закрытия: указать в сопроводительном, что базовые концепции сборщиков (chunking, code splitting, dev server, plugins) переносятся между Vite и Webpack напрямую.
- Микрофронтенды — потенциальный hard blocker, если в NBA.Банк это ядро архитектуры (виджет, встраиваемый в банковское приложение — вероятно, микрофронтенд-подход). Смежного опыта в CV нет. Стратегия: честно признать отсутствие прямого опыта, но привести пример модульной архитектуры ЕКОМ (разграничение по ролям/отделам через RBAC) как доказательство системного мышления о границах ответственности между модулями.
- 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-bankto 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.