Files
career-ops-vbleroy/reports/010-mts-senior-frontend-nba-bank-2026-07-06.md
redlineo d295c7f139
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s
init
2026-07-13 10:14:00 +03:00

25 KiB
Raw Permalink Blame History

Оценка: МТС — 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)