# Оценка: X5 Tech — Senior Frontend Developer **Дата:** 2026-07-07 **Архетип:** Frontend-разработчик (React/Redux) — смежный с целевым архетипом (Vue.js), не совпадает по стеку **Балл:** 1.0/5 **URL:** https://rabota.x5.ru/vacancies/210ab754-166e-4775-a48f-bfba9d75c2c3 **PDF:** не создан (балл < 3.0) **Legitimacy:** Proceed with Caution --- ## A) Резюме роли | Параметр | Значение | |---|---| | Архетип | Frontend-разработчик (React/Redux) — смежный, не Vue | | Domain | Frontend / retail-tech (e-commerce/внутренние системы X5) | | Function | Build | | Seniority | Senior, 3+ года коммерческого опыта | | Формат работы | Офис, Москва (ул. Коровий Вал, 5, стр. 1). Удалёнка не упомянута | | Размер команды | Не указан | | Оформление | Не указано в JD | | TL;DR | Senior React/Redux-позиция в X5 Tech в офисе в Москве без упоминания удалёнки — жёсткий блокер по локации (кандидат в Туле, без переезда) и полное расхождение стека (React вместо Vue) делают роль неподходящей несмотря на сильный бренд компании. | **Vibe команды:** судя по формулировкам JD ("участие в оценке и декомпозиции задач", "обоснование выбора технологий", "участие в проектировании архитектуры") — команда даёт разработчикам голос в технических решениях, что похоже на сигнал автономии/ownership. Явных упоминаний менторства, code review культуры или гибкого графика в тексте нет — недостаточно данных, стоит уточнять на собеседовании. ## B) Совпадение с CV | Требование JD | Совпадение в CV | |---|---| | JavaScript/TypeScript | Прямое совпадение — «Языки программирования: JavaScript, TypeScript» | | 3+ года SPA на React | **Нет совпадения.** cv.md не содержит коммерческого опыта с React — только Vue 3 (ЕКОМ, РМК) и Flutter | | Redux/MobX | **Нет совпадения.** В CV — Pinia (Vue-экосистема), концептуально похожий state management, но не тот же инструмент | | Поддержка читаемости кода | Частичное совпадение — Feature Branching в GitLab, обучение коллеги версионированию, переход команды на стабильные релизы | | Обоснование выбора технологий | Частичное совпадение — самостоятельно спроектировала и объяснила бэкенд-команде модель RBAC, приводя обоснование выбора подхода | | Figma | Частичное совпадение — самостоятельный редизайн UI (кнопка «Избранное», компоновка заказа), отрисовка app-иконок, но без явного упоминания Figma в CV | | Bonus: дизайн-системы (Ant Design) | Смежное — опыт с shadcn/shadcn-vue, но не Ant Design | | Bonus: backend/инфраструктура | Частичное совпадение — Node.js/Express/MongoDB (хакатон, проект ТулГУ), WebSocket | **Пробелы:** 1. **React/Redux — hard blocker.** Это ядро стека роли (SPA на React 3+ года). У кандидата нет коммерческого React-опыта. Смежные концепции (компонентная архитектура, реактивность, state management через Pinia) переносимы, но честно представить это как «опыт с React» нельзя — это будет фабрикацией. План закрытия: в сопроводительном письме можно упомянуть перенос архитектурных паттернов Vue → React как способность быстро адаптироваться, но это не закрывает требование 3+ лет. 2. **Локация — HARD BLOCKER.** Офис в Москве без упоминания удалённого формата. По политике `_profile.md`: офис/гибрид вне Тулы без опции удалёнки = балл 1.0 независимо от технического совпадения. Это определяющий фактор оценки. 3. **Seniority gap.** JD требует Senior (3+ года), естественный уровень кандидата — Middle (~1.5-2 года коммерческого опыта). ## C) Уровень и стратегия **Уровень в JD:** Senior (3+ года SPA на React). **Естественный уровень кандидата:** Middle, причём в другом стеке (Vue, не React). Из-за жёсткого блокера по локации (офис в Москве, кандидат в Туле без возможности переезда) и одновременного расхождения по стеку и по уровню, стратегия «продать senior без обмана» здесь неприменима — комбинация факторов делает роль нерелевантной вне зависимости от позиционирования. **Рекомендация: явно не откликаться.** Балл 1.0/5 — ниже порога 4.0, установленного `AGENTS.md` (Ethical Use). Причина — не единичный пробел, а жёсткий локационный блокер поверх расхождения по стеку. Единственный сценарий, где стоит рассмотреть эту роль — если появится подтверждённая удалённая опция и кандидат готова инвестировать время в изучение React с нуля; ни то, ни другое не подтверждено JD. ## D) Компенсация и спрос Зарплата в вакансии не указана («условия обсуждаются индивидуально»). | Источник | Данные | |---|---| | hh.ru (февраль 2026, по WebSearch) | Медиана Senior Frontend в Москве — ≈287 500 ₽/мес | | Яндекс.Практикум / Mail.ru (по WebSearch) | Senior frontend: 270 000–410 000 ₽/мес, у Mail.ru — ≈329 000 ₽/мес | | Отзывы сотрудников X5 Tech (Хабр Карьера / Dream Job, по WebSearch) | Отмечают белую зарплату, годовую/квартальную премию, ДМС и обучение; но регулярные жалобы на отсутствие прозрачных критериев роста зарплаты и на нерегулярную индексацию | **Gross vs Net:** JD не уточняет, но рыночные данные выше — как правило gross. Ориентировочно net ≈ gross × 0.87. Целевой диапазон кандидата — 100 000–120 000+ ₽/мес на руки, что существенно ниже рыночной Senior-вилки (287k+ gross) — с точки зрения голой цифры комп выглядел бы привлекательно, если бы не офисный формат в другом городе, который делает вопрос компенсации нерелевантным. ## E) План персонализации Не применимо в полном объёме — при жёстком локационном блокере инвестировать время в тонкую персонализацию CV/LinkedIn под эту конкретную роль нецелесообразно. Если кандидат всё же решит откликнуться (например, ради нетворкинга или пробы себя в React), из общих рекомендаций: | # | Раздел | Текущее состояние | Предлагаемое изменение | Почему | |---|---|---|---|---| | 1 | Summary | Акцент на Vue 3 + Flutter | Добавить фразу про перенос архитектурных паттернов между фреймворками | Показать адаптивность при явном отсутствии React | | 2 | Skills | Pinia указана как основной state management | Добавить формулировку «Component-based SPA architecture (Vue 3), transferable state management patterns» | Снизить риск автоматического отсева по ключевому слову Redux | ## F) План собеседований Учитывая рекомендацию не откликаться, привожу сокращённый набор историй (не полные 6-10) — на случай, если кандидат решит зайти на собеседование ради опыта или нетворкинга: | # | Требование JD | История STAR+R | S | T | A | R | Reflection | |---|---|---|---|---|---|---|---| | 1 | Обоснование выбора технологий | Проектирование RBAC в ЕКОМ | В команде без опыта проектирования моделей доступа нужно было внедрить разграничение прав между отделами | Спроектировать и защитить модель авторизации перед бэкенд-командой | Использовала профильное ИБ-образование, спроектировала ролевую модель, объяснила её принцип и отличие от смежных подходов | Модель принята и внедрена, отделы (логистика/заказы) корректно разграничены | Поняла, что даже без формального тимлид-опыта можно вести техническое решение, если аргументация выстроена системно | | 2 | Участие в декомпозиции и оценке задач | Планирование спринтов в Здравсервис | Приоритеты команды регулярно терялись/забывались | Вернуть фокус на цели, которые теряются в потоке задач | Неоднократно поднимала вопрос на планировании, инициировала возврат к постановке целей на полгода/год | Руководство вернулось к практике целеполагания, PO стал привлекать её к формулировке задач | Осознала ценность проактивной коммуникации о процессе, а не только о коде | | 3 | Поддержка читаемости и стабильности кода | Внедрение Feature Branching и обучение коллеги | Команда работала без единой ветки-стратегии, релизы были нестабильны | Внедрить git flow и обучить команду | Внедрила Feature Branching, лично обучила коллегу с 11-летним стажем | Команда перешла на стабильные еженедельные релизы, снизилось число «зависших» фич | Убедилась, что процессные изменения требуют такого же терпения, как и технические | **Рекомендуемый кейс:** ЕКОМ — RBAC + график курьеров (drag-and-drop) — лучше всего показывает системное мышление и самостоятельность, даже если стек (Vue vs React) не совпадает напрямую. **Вопросы-ловушки:** - «Почему у вас нет коммерческого опыта с React?» → честно: «Мой основной коммерческий стек — Vue 3, но архитектурные принципы (компоненты, реактивность, state management) переносятся; готова закрыть разрыв, если для вас важнее фундаментальное понимание SPA, чем конкретный фреймворк.» - «Как вы отнесётесь к переезду/офису, если удалёнка не предусмотрена?» → честно, без смягчения: «Не рассматриваю переезд и командировки — это принципиальное ограничение.» (см. `_profile.md`) ## G) Посадочная легитимность (Posting Legitimacy) **Assessment: Proceed with Caution** | Сигнал | Наблюдение | Вес | |---|---|---| | Свежесть публикации | `check-liveness.mjs` вернул статус "uncertain" (headed fallback): контент есть, но кнопка отклика не распознана автоматически — вероятно, из-за SPA-рендеринга формы, а не признак закрытой вакансии | Neutral | | Качество описания | Конкретные технологии (React, Redux/MobX, Figma), точный адрес офиса, конкретные обязанности (планирование, архитектура, code review) — не шаблонный текст | Positive | | Отсутствие даты публикации и зарплаты | Дата постинга не указана, зарплата — «обсуждается индивидуально» | Neutral/Concerning | | Сигналы найма компании | По отзывам сотрудников (Хабр Карьера, Dream Job) — жалобы на непрозрачный пересмотр зарплаты, но явных сигналов massive layoffs/hiring freeze не найдено | Neutral | | Повторные постинги | В `data/scan-history.tsv` эта вакансия встречается впервые (без повторов за 90 дней) | Neutral | | Рыночный контекст роли | Senior frontend в крупном ритейл-техе — обычная позиция, закрывается в разумные сроки (4-8 недель) | Positive | **Context Notes:** Отсутствие определяемой кнопки Apply в автоматической проверке типично для SPA-страниц с формой на JS — не считаю это признаком фиктивной вакансии, содержание страницы подробное и специфичное. --- ## Извлечённые ключевые слова React, Redux, MobX, JavaScript, TypeScript, SPA, Figma, Ant Design, code review, архитектура приложений, оценка задач, декомпозиция, поддерживаемость кода, обоснование выбора технологий, backend, инфраструктура, X5 Tech, Москва, офис