init
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

This commit is contained in:
redlineo committed 2026-07-13 10:14:00 +03:00
commit d295c7f139
1527 files changed
+270726

No files matched your search

+112
View File
@@ -0,0 +1,112 @@
# Оценка: 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, Москва, офис