Files
career-ops-vbleroy/reports/038-mts-mwstables-2026-07-07.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

114 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Оценка: МТС (МТС Веб Сервисы) — Fullstack developer React/Node.JS [MWS Tables]
**Дата:** 2026-07-07
**Архетип:** Fullstack Developer (Vue + Node.js) — adjacent fit (роль на React, не Vue — см. пробелы)
**Балл:** 1.9/5
**URL:** https://job.mts.ru/vacancy/673059942004951088
**PDF:** не создан (балл ниже порога 3.0)
**Legitimacy:** Proceed with Caution
---
## A) Резюме роли
| Параметр | Значение |
|---|---|
| Архетип | Fullstack Developer (React/Node.js) — родственный, но не тот же стек, что adjacent-архетип кандидата (Vue + Node.js) |
| Domain | MWS Tables — no-code инструмент для совместной работы с таблицами, гибкая организация данных для кросс-функциональных команд |
| Function | Build |
| Seniority | 3-6 лет опыта, минимум 4 года fullstack-разработки |
| Формат работы | Гибрид с гибкими удалёнными опциями по РФ |
| Размер команды | Не указан |
| Оформление | Не указано явно |
| Зарплата | Не указана |
| TL;DR | Fullstack-роль на React/Node.js с тяжёлым DevOps-компонентом (Docker/K8s/Helm, highload REST API, collaboration-библиотеки типа ShareDB/Yjs) — формат работы приемлем (remote-опция явно указана), но требуемый уровень и глубина backend/DevOps намного превышают "ознакомительный" backend-опыт кандидата. |
## B) Совпадение с CV
| Требование JD | Совпадение в CV |
|---|---|
| Минимум 4 года fullstack-опыта | ❌ Пробел — у кандидата ~1.5-2 года коммерческого опыта |
| React, Node.js, TypeScript | ⚠️ Частично — TypeScript ✅ прямое совпадение; Node.js — только "ознакомительный уровень" (Express/MongoDB, хакатон + учебный проект); React — ❌ нет, весь продакшн-опыт на Vue 3 |
| Jest, NestJS Testing Module, Testcontainers, RTA | ❌ Пробел — у кандидата Vitest (Vue) и Playwright (E2E), не NestJS-стек |
| ShareDB, Yjs, Zero One, Electric (collaboration-библиотеки) | ❌ Пробел — не упомянуто в CV, узкоспециализированная область |
| Highload REST API | ❌ Пробел — WebSocket/WSS есть (RMK-проект, ~1200 аптек), но highload-специфика (нагрузочное тестирование, масштабирование) не подтверждена |
| UI-компонентные библиотеки | ✅ Смежное совпадение — shadcn/Tailwind, компонентная разработка на Vue |
| БД и брокеры сообщений | ⚠️ Частично — MongoDB упомянут (хакатон, ознакомительный уровень), брокеры сообщений (Kafka/RabbitMQ) не упомянуты |
| Docker, Kubernetes (K8S), Helm | ❌ Пробел — не упомянуто в CV (DevOps-раздел ограничен Git/GitLab/CI/CD рабочим опытом, Linux — пользовательский уровень) |
| Grafana-дашборды | ❌ Пробел — не упомянуто |
| Git, GitLab | ✅ Прямое совпадение |
**Пробелы:**
1. **React vs Vue** — как и в 036, это не "пробел, закрываемый фразой", а стек, отсутствующий в продакшн-опыте кандидата.
2. **Backend/DevOps глубина (NestJS, Docker/K8s/Helm, highload API, message brokers)** — hard blocker. У кандидата backend-опыт явно маркирован в CV как "ознакомительный уровень" — использовать его как основание для fullstack-роли с K8s/Helm было бы фабрикацией.
3. **Collaboration-библиотеки (ShareDB/Yjs)** — узкоспециализированная область без какого-либо пересечения с опытом кандидата.
4. **4+ года опыта** — формальный разрыв почти в 2-2.5 раза от фактического стажа кандидата.
## C) Уровень и стратегия
**Уровень в JD:** Middle-Senior fullstack (4+ года, но с требованиями, характерными скорее для крепкого Middle-Senior fullstack-инженера с DevOps-экспертизой).
**Естественный уровень кандидата для архетипа Fullstack (Vue + Node.js):** Adjacent fit — у кандидата есть frontend-driven fullstack-опыт (хакатон, учебный проект НИЦ БиоХимТех), но не backend-driven опыт, который требует эта роль.
**Рекомендация: не откликаться.** Ни "продать senior без обмана", ни "понижение уровня" здесь не решают проблему — разрыв в первую очередь качественный (отсутствие DevOps/backend-глубины), а не количественный (стаж). Понижение до Middle не убирает требование Docker/K8s/Helm и collaboration-библиотек.
## D) Компенсация и спрос
Зарплата в вакансии не указана.
Рыночные данные (WebSearch, RU, июль 2026):
| Источник | Данные |
|---|---|
| Fullstack (React+Node/TS), Middle, общий рынок | 170 000 – 190 000 ₽/мес |
| Fullstack Middle, Москва | 250 000 – 280 000 ₽/мес (по другим оценкам от 180-200 тыс. стартовый диапазон) |
| Fullstack Senior | 500 000 – 750 000 ₽/мес |
| Средняя зарплата fullstack, Москва (по отзывам сотрудников) | ~195 000 ₽/мес |
**Оценка:** Гипотетически компенсация значительно выше таргета кандидата (100 000–120 000+ ₽/мес на руки). Но, как и в случае с 036, это не компенсирует фундаментальный разрыв в требуемых компетенциях (DevOps/backend-глубина), из-за которого вероятность прохождения технического скрининга крайне низкая.
## E) План персонализации
Не рекомендуется. Как и в 036, любая попытка представить "ознакомительный уровень" Node.js/Express/MongoDB кандидата как соответствие требованиям highload REST API + Docker/K8s/Helm + collaboration-библиотек была бы прямой фабрикацией опыта, запрещённой правилами системы (`AGENTS.md`, Source-of-Truth Boundary).
## F) План собеседований
Пропущено — при разрыве такого масштаба (backend/DevOps-глубина + узкоспециализированные collaboration-библиотеки + 2.5x разрыв в стаже) содержательная подготовка историй STAR+R не имеет практического смысла.
---
## Vibe команды
JD упоминает "MTS Ocean" — внутреннюю платформу для IT-ресурсов, деплоя и мониторинга, что указывает на развитую внутреннюю инфраструктуру и DevOps-культуру. Явно упомянуты код-ревью и оценка задач в процессе разработки — сигнал вовлечённости в командные решения. Недостаточно данных в JD о конкретной степени автономии или бюрократии процессов — стоит уточнить на собеседовании, если кандидат решит откликнуться.
## G) Posting Legitimacy
**Assessment:** Proceed with Caution
| Сигнал | Наблюдение | Вес |
|---|---|---|
| Свежесть / Apply-кнопка | `check-liveness.mjs` вернул "uncertain — content present but no visible apply control found"; WebFetch-извлечение не пометило вакансию как архивную явно (в отличие от 036/037/039/040), но и не подтвердило активный статус | Neutral/Concerning (смешанный сигнал) |
| Качество описания | Очень конкретный и специфичный технический стек (ShareDB/Yjs/Zero One/Electric, Testcontainers, RTA, Module Federation) — маловероятно, что это generic-шаблон, скорее реальные требования конкретной команды | Positive |
| Зарплата | Не указана | Neutral |
| Company Hiring Signals | Специфичных сигналов о сокращениях в MWS Tables не найдено; MWS (МТС Веб Сервисы) в целом показал рост выручки на 9.6% в 2025 году и продолжает публично анонсировать новые R&D-направления (Physical AI, март 2026) — позитивный сигнал стабильности компании в целом | Positive |
| Reposting | Не проверялось по `scan-history.tsv` | Neutral |
| Role Market Context | Fullstack-роль с узкоспециализированными требованиями (collaboration-библиотеки) может легитимно оставаться открытой дольше среднего из-за узкого пула подходящих кандидатов | Neutral |
**Context Notes:** В отличие от 036/037/039/040, WebFetch-извлечение контента для этой вакансии не содержало явного маркера "archived" — сигнал менее выражен, чем у остальных четырёх постов из этой партии, хотя `check-liveness.mjs` всё равно вернул "uncertain". Специфичность технических требований (конкретные библиотеки, а не общие формулировки) — положительный сигнал легитимности независимо от статуса Apply-кнопки.
---
## Извлечённые ключевые слова
React, Node.js, TypeScript, Jest, NestJS, Testcontainers, ShareDB, Yjs, Module Federation, Rich Text Editor, Prosemirror, Quill, Lexical, highload, REST API, Docker, Kubernetes, Helm, CI/CD, Grafana, Git, GitLab, MWS Tables, no-code, гибридный формат, удалённые опции
---
## Рекомендация
**Балл 1.9/5 — значительно ниже порога 4.0/5 (AGENTS.md, Ethical Use). Настоятельно рекомендуется не откликаться.**
1. Стек не совпадает (React vs Vue), как и в 036.
2. Требуемая DevOps/backend-глубина (Docker, K8s, Helm, highload API, collaboration-библиотеки) кардинально превышает "ознакомительный уровень" backend-опыта кандидата — заявлять соответствие означало бы фабрикацию, запрещённую правилами системы.
3. Формальный разрыв в стаже (4+ года требуется vs ~1.5-2 года у кандидата).
4. Формат работы (гибрид с remote-опциями) — единственный полностью проходящий критерий, недостаточен для перевешивания остальных разрывов.