Files
career-ops-vbleroy/reports/014-mts-frontend-razrabotchik-2026-07-06.md
T
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

22 KiB
Raw Blame History

Оценка: МТС — 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
Диапазон Senior Frontend, Москва (по стеку) 300 000 – 450 000 ₽/мес Зарплата Frontend-разработчика 2026: Junior, Middle, Senior, Lead
Указано в 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.