22 KiB
Оценка: МТС — 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 не выделено отдельно |
Пробелы:
- Стаж (3+ года vs ~1 год 8 месяцев) — это soft-blocker: реальный опыт качественный (RBAC design, продукт с нуля, менторство коллеги с 11-летним стажем), но количественно ниже порога. Стратегия: подчеркнуть плотность и разнообразие опыта (3 продукта одновременно, менторство, архитектурные решения) как компенсацию за меньший общий стаж.
- Формальное код-ревью — nice-to-have, закрывается фразой в сопроводительном письме о ревью PR коллег в рамках Feature Branching workflow.
- API design — можно закрыть, сославшись на обсуждение WebSocket-протокола и структуры данных для RBAC с бэкенд-командой.
C) Уровень и стратегия
- Уровень в JD: Senior, от 3 лет опыта. Естественный уровень кандидата: Middle (по
config/profile.yml, растущий — расширение до архитектурных задач и менторства). - План «продать senior без обмана»: акцент на широту ответственности, а не на годы — ведёт 3 продукта параллельно, самостоятельно спроектировала RBAC и объяснила её более опытной команде, обучила коллегу с 11-летним стажем работе с Git. Это поведенческие маркеры senior, но при 1 год 8 месяцев общего стажа компания, скорее всего, всё равно оценит как Middle/Middle+.
- План «если понизят уровень»: принять как 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-razrabotchikto 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.