init
This commit is contained in:
commit
d295c7f139
1527 files changed
+270726
No files matched your search
@@ -0,0 +1,135 @@
|
||||
# Оценка: РТК-ЦОД — Ведущий фронтенд-разработчик (React)
|
||||
|
||||
**Дата:** 2026-07-07
|
||||
**Архетип:** Frontend-разработчик (React / Next.js / GraphQL) — НЕ входит в целевые архетипы кандидата. Ближайшие: Frontend Developer (Vue.js) [primary], Fullstack Developer (Vue + Node.js) [adjacent]
|
||||
**Балл:** 1.8/5
|
||||
**Legitimacy:** High Confidence
|
||||
**URL:** https://career.habr.com/vacancies/1000167021
|
||||
**PDF:** not generated (score below 3.0 gate)
|
||||
|
||||
---
|
||||
|
||||
## A) Резюме роли
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| Архетип (по _profile.md) | Не совпадает ни с одним целевым архетипом. Ближайшие: Frontend (Vue.js) — primary; Fullstack (Vue+Node) — adjacent. Реальный стек роли — другая экосистема (React) |
|
||||
| Domain | Frontend, enterprise (личный кабинет + корпоративный сайт, headless CMS) |
|
||||
| Function | Build (разработка) + частичный ownership архитектуры (SSR, UI Kit) |
|
||||
| Seniority | Senior / Ведущий |
|
||||
| Формат работы | Гибрид или удалённо (Москва) |
|
||||
| Размер команды | Не указан явно в JD |
|
||||
| Оформление | ТК РФ, официальное |
|
||||
| TL;DR | Ведущая позиция на React/TypeScript/Next.js/GraphQL в личном кабинете и на корпоративном сайте дочерней структуры Ростелекома — стек и уровень не совпадают с профилем кандидата (Vue 3 / Middle) |
|
||||
|
||||
**Vibe команды** (качественный сигнал, не влияет на числовую оценку): судя по формулировкам JD, это крупная корпоративная структура (дочка ПАО «Ростелеком») с акцентом на стабильность, льготы и формализованный рост через «корпоративный университет». Прямых сигналов о живой автономной команде, культуре RFC/архитектурных обсуждений, парном программировании или гибком графике в тексте нет — упоминается только формат «гибрид или удалённо» без деталей политики. Недостаточно данных в JD, чтобы оценить темп принятия решений и уровень бюрократии — стоит уточнить на собеседовании, если решение подавать всё же принято.
|
||||
|
||||
---
|
||||
|
||||
## B) Совпадение с CV
|
||||
|
||||
Прочитан `cv.md`. Сопоставление требований JD с точными строками резюме:
|
||||
|
||||
| Требование JD | Совпадение в CV | Статус |
|
||||
|---|---|---|
|
||||
| JavaScript | «Языки программирования: JavaScript, TypeScript, HTML5/CSS3, Dart» | ✅ Прямое совпадение |
|
||||
| TypeScript | «Vue 3, Composition API, TypeScript, Pinia» (ЕКОМ) | ✅ Прямое совпадение |
|
||||
| React | — | ❌ Не упоминается ни в одном проекте |
|
||||
| Next.js / SSR | Только «Быстро осваиваю: Nuxt» (не подтверждённый опыт, wishlist) | ❌ Нет коммерческого опыта SSR |
|
||||
| GraphQL | «REST API, WebSocket/WSS» — есть API-интеграция, но не GraphQL | ❌ Нет опыта GraphQL |
|
||||
| HTML/CSS, Tailwind, UI Kit | «Tailwind CSS, shadcn/shadcn-vue, TanStack Table» | ✅ Совпадение (другой UI-стек, но принцип компонентных систем общий) |
|
||||
| Git | «Git, GitLab, CI/CD... Внедрила Feature Branching в Git (GitLab), обучила коллегу» | ✅ Прямое и сильное совпадение |
|
||||
| Unit/component-тестирование | «Vitest (unit-тесты Vue-компонентов), Storybook, Playwright E2E» | ✅ Прямое совпадение (другой фреймворк, тот же навык) |
|
||||
| Компоненты и hooks | Composition API (Vue) — концептуально близко к React hooks (composable reactive state), но не то же самое | ⚠️ Частичное/переносимое |
|
||||
| Интеграция API, отладка (DevTools) | «Диагностировала причину... через постраничную загрузку», «сложный кейс с замыканием» (РМК) — реальный опыт диагностики багов | ✅ Совпадение по навыку отладки |
|
||||
| Понимание frontend-архитектуры | «Frontend ЕКОМ разработан с нуля», проектирование RBAC | ✅ Совпадение (архитектурный опыт есть, но не в React-экосистеме) |
|
||||
| Кросс-командная коммуникация | «Кросс-командное взаимодействие (логистика, бэкенд, техподдержка)» | ✅ Прямое совпадение |
|
||||
|
||||
### Пробелы
|
||||
|
||||
1. **React (hard blocker).** Ни один проект в CV не использует React. Это не nice-to-have — JD прямо требует «уверенное знание React» для Ведущей позиции. Смежный опыт (Vue 3 Composition API) даёт концептуальный мостик (реактивность, компонентная модель), но не заменяет продакшн-опыт с JSX, React hooks API, экосистемой (React Router, state-менеджеры типа Redux/Zustand).
|
||||
2. **Next.js / SSR (hard blocker).** Нет коммерческого опыта серверного рендеринга. Nuxt в CV указан только как «быстро осваиваю» — это заявка на потенциал, не на готовый навык.
|
||||
3. **GraphQL (hard blocker для Lead-уровня).** Опыт кандидата — REST + WebSocket. GraphQL — отдельная экосистема (schema, resolvers, Apollo/urql на клиенте), не покрывается REST-опытом.
|
||||
4. **Стратегия закрытия:** Пробелы 1-3 — это не то, что закрывается фразой в сопроводительном или пет-проектом за неделю: JD хочет человека, который сразу ведёт архитектуру SSR-приложения и GraphQL-интеграции. Пет-проект на React/Next.js мог бы частично закрыть пробел для позиции Junior/Middle React, но не для «Ведущего» — там нужен подтверждённый продакшн-опыт.
|
||||
|
||||
---
|
||||
|
||||
## C) Уровень и стратегия
|
||||
|
||||
1. **Уровень в JD:** Ведущий (Senior/Lead) — роль подразумевает самостоятельное владение архитектурой в двух продуктовых зонах (личный кабинет + сайт), включение SSR-миграции и GraphQL-интеграции, участие в релизах.
|
||||
**Естественный уровень кандидата:** Middle — по `config/profile.yml` архетип «Frontend Developer (Vue.js)» зафиксирован как Middle. Даже в своей сильнейшей экосистеме (Vue) кандидат не Senior/Lead: коммерческий опыт — с ноября 2024 (Здравсервис), около 8 месяцев на момент оценки, плюс более раннее университетское проектное участие (ТулГУ, не индустриальный опыт).
|
||||
|
||||
2. **План «продать senior без обмана»:** Реалистично — не сработает для этой роли. Сильные лидерские сигналы у кандидата реальны: она спроектировала фронтенд ЕКОМ с нуля, самостоятельно продумала и объяснила бэкенд-команде модель RBAC, продвинула Feature Branching и обучила коллегу с 11-летним стажем, добилась включения в стратегическое планирование спринтов. Это поведенческие маркеры уровня «выше Middle». Но они полностью в экосистеме Vue/Flutter — ни один из них не демонстрирует владение React/Next.js/GraphQL, которые JD требует «уверенно» с первого дня. Лидерский трек-рекорд не компенсирует отсутствие стека для Lead-позиции конкретно на React.
|
||||
|
||||
3. **План «если понизят уровень»:** Даже гипотетическое понижение до Middle/Junior React не решает основную проблему — кандидат тогда учил бы React/Next.js/GraphQL «в процессе», а JD прямо ищет уверенное знание этого стека уже сейчас, не потенциал к обучению. Понижение уровня не устраняет технологический разрыв, только временно снижает ожидания по объёму ответственности.
|
||||
|
||||
**Итог блока C:** Комбинация «неверный технологический стек» + «разрыв в 1-2 грейда» — оба блокера одновременно, ни один не закрывается стандартными приёмами (переформулировка резюме, сопроводительное письмо, короткий пет-проект).
|
||||
|
||||
---
|
||||
|
||||
## D) Компенсация и спрос
|
||||
|
||||
| Показатель | Значение | Источник |
|
||||
|---|---|---|
|
||||
| Зарплата в JD | Не указана напрямую; Хабр Карьера показывает «зарплата похожих специалистов»: 280 000–437 000 ₽ (по всей видимости gross) | [Вакансия](https://career.habr.com/vacancies/1000167021) |
|
||||
| Net-эквивалент (× 0.87) | ≈ 243 600 – 380 190 ₽/мес на руки | Расчёт: gross × 0.87 (стандартный НДФЛ 13%; реальная ставка может отличаться) |
|
||||
| Рыночный контекст, Senior frontend (2026) | Медиана Senior-разработчиков в РФ — около 550 000 ₽ (по некоторым источникам архитектор/principal 450-700 тыс.); типичный диапазон Senior — 270-410 тыс. ₽ | [Практикум/аналитика зарплат Frontend 2026](https://practicum.yandex.ru/blog/skolko-zarabatyvayut-frontend-razrabotchiki/) |
|
||||
| Хабр Карьера, React frontend (все уровни) | ~258 500 ₽ (медиана по выборке, вероятно смешивает грейды, не только Senior) | [career.habr.com/salaries](https://career.habr.com/salaries?skills%5B%5D=react-js&spec_aliases%5B%5D=frontend) |
|
||||
| Оформление | ТК РФ, официальное | JD (+0.3 к стабильности по правилам оценки РФ) |
|
||||
| Бенефиты | ДМС, корпоративный университет, корпоративный спорт, корпоративная мобильная связь | JD |
|
||||
|
||||
**Вывод:** диапазон значительно выше целевого (100 000–120 000+ ₽ на руки) — комп был бы привлекателен, если бы кандидат закрывала требования. Но при текущем технологическом разрыве (React/Next.js/GraphQL с нулевым коммерческим опытом на роль уровня Lead) этот комп практически недостижим — компания нанимает на подтверждённую экспертизу, а не на потенциал.
|
||||
|
||||
---
|
||||
|
||||
## E) План персонализации
|
||||
|
||||
Учитывая балл ниже порога 3.0 (гейт PDF) и структурный (не косметический) разрыв в стеке и уровне, персонализация CV/LinkedIn под эту конкретную вакансию **не рекомендуется**. Если кандидат всё же решит откликнуться (например, ради интервью-практики или из любопытства к компании), минимальные точки опоры:
|
||||
|
||||
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|
||||
|---|--------|--------------------|--------------------------|--------|
|
||||
| 1 | Summary | Ведёт с Vue 3 + Flutter | Подчеркнуть JS/TS фундамент и Composition API как переносимый навык на компонентные фреймворки | Единственный реальный мостик к React-стеку |
|
||||
| 2 | Skills | Vue-специфичные библиотеки на первом месте | Поднять «быстро осваиваю: любые UI-киты/дизайн-системы» ближе к началу | Сигнал открытости к смене стека, честно (не выдаёт несуществующий React-опыт) |
|
||||
| 3 | Cover letter | — | Явно признать отсутствие React/Next.js опыта, но аргументировать через скорость обучения (Flutter выучен «с нуля» за 8 месяцев до продакшна) | Честность + фактическое доказательство скорости онбординга в новый стек |
|
||||
|
||||
Топ-изменений для LinkedIn/hh.ru — не применимо; риск того, что рекрутер отклонит на этапе резюме из-за явного отсутствия React, слишком высок, чтобы оптимизация имела смысл здесь.
|
||||
|
||||
---
|
||||
|
||||
## F) План собеседований
|
||||
|
||||
Даже при низком балле — банк историй STAR+R на случай, если кандидат решит подавать (например, чтобы потренироваться объяснять смену стека):
|
||||
|
||||
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 1 | Понимание frontend-архитектуры | Разработка ЕКОМ с нуля | Внутренняя система логистики без фронтенда | Спроектировать SPA с нуля | Vue 3 + Composition API + Pinia, WebSocket-интеграция | Логисты сами управляют графиком без разработчиков | Поняла, как выбор архитектуры (Composition API вместо Options) влияет на масштабируемость команды из 4 человек |
|
||||
| 2 | Компонентные системы / hooks-подобная логика | RBAC-модель в ЕКОМ | Разграничение доступа логистика/заказы | Спроектировать ролевую модель | Использовала ИБ-образование, объяснила модель бэкенд-команде | Бэкенд принял модель без переделок | В следующий раз документировала бы модель раньше, до начала обсуждения с бэкендом |
|
||||
| 3 | Отладка / DevTools | Баг с замыканием на РМК | Клавиатура переставала работать | Найти причину утечки реактивной переменной | Отследила передачу переменной в глобальный класс биндинга клавиш | Баг исправлен, клавиатура стабильна | Это подчеркнуло риски глобального состояния — стала осторожнее с shared mutable state |
|
||||
| 4 | Тестирование (unit/component) | Внедрение Vitest и Playwright | Отсутствие тестов на легаси РМК | Добавить покрытие | Vitest для компонентов, Playwright для E2E | Тесты внедряются поэтапно, часть уже покрыта | Осознала, что внедрение тестов на легаси требует поэтапного плана, а не «всё сразу» |
|
||||
| 5 | API-интеграция | WebSocket-оповещения в реальном времени | Не было видимости, сколько аптек онлайн | Внедрить WSS-канал оповещений | Реализовала клиент WebSocket, статус прочтения | Впервые видно ~1200 аптек в реальном времени | Поняла важность fallback-логики при разрыве соединения — на будущее добавила бы reconnect-стратегию явно |
|
||||
| 6 | Кросс-командная коммуникация | Продвижение Feature Branching | Хаотичные релизы, зависшие фичи | Внедрить git flow и обучить команду | Обучила коллегу с 11-летним стажем, внедрила процесс | Команда перешла на стабильные еженедельные релизы | Узнала, что техническое внедрение процесса требует не меньше коммуникационных усилий, чем самого кода |
|
||||
|
||||
**Рекомендуемый кейс для показа:** ЕКОМ (график курьеров + RBAC) — лучше всего показывает архитектурное мышление и самостоятельность, даже вне React-контекста.
|
||||
|
||||
**Вопросы-ловушки:**
|
||||
- *«У вас нет опыта с React — почему откликнулись на Lead-позицию?»* → Честный ответ: признать разрыв, но подчеркнуть скорость обучения нового стека (пример — Flutter с нуля до продакшна за несколько месяцев) и переносимые архитектурные навыки (RBAC, компонентный дизайн). Не оправдываться, не преувеличивать переносимость Composition API → React hooks как «то же самое».
|
||||
- *«Как вы относитесь к тому, что позиция для Senior/Lead, а вы Middle?»* → Не спорить с грейдом; предложить обсудить траекторию роста и честно обозначить, что закрытие технологического разрыва потребует времени.
|
||||
|
||||
---
|
||||
|
||||
## G) Легитимность вакансии
|
||||
|
||||
**Tier: High Confidence**
|
||||
|
||||
Сигналы:
|
||||
- **Качество описания:** Структурированный, детальный текст (две продуктовые зоны, конкретный стек, конкретные обязанности) — не шаблонный/пустой листинг.
|
||||
- **Компания:** РТК-ЦОД — управляющая компания центра компетенций ПАО «Ростелеком» по дата-центрам, облачным платформам и CDN. Подтверждено независимым поиском: есть страница компании на career.habr.com/companies/rt-dc, официальный сайт rt-dc.ru, активный профиль работодателя на hh.ru (31 открытая вакансия), отзывы сотрудников на нескольких независимых площадках (Dream Job, Indeed) — компания реальная и активно нанимающая, не фиктивная.
|
||||
- **Репост-проверка:** По `data/scan-history.tsv` эта вакансия (URL `https://career.habr.com/vacancies/1000167021`) встречена впервые сегодня (2026-07-07), добавлена один раз. Есть отдельная более ранняя запись того же дня для той же компании РТК-ЦОД, но с другой ролью («Разработчик TypeScript», канал `runello_rus_typescript`) — не дубликат этой вакансии, скорее сигнал, что компания одновременно набирает несколько frontend/JS-позиций (положительный сигнал активного найма, не red flag репоста).
|
||||
- **Рыночный контекст роли:** Диапазон комп (280-437 тыс. ₽ gross по данным Хабра) согласуется с независимыми оценками рынка Senior frontend в 2026 (270-410 тыс. ₽ базовый Senior-диапазон) — цифры не выглядят завышенными или подозрительно заниженными.
|
||||
- **Свежесть:** Не проверена через Playwright (batch-режим, только WebFetch/WebSearch) — не может быть подтверждена как «точно активна на момент чтения этого отчёта», но нет и сигналов истечения (сама страница вернула полный, живой текст вакансии, а не заглушку/404).
|
||||
|
||||
---
|
||||
|
||||
## Извлечённые ключевые слова
|
||||
|
||||
JavaScript, TypeScript, React, Next.js, GraphQL, HTML5, CSS3, Git, unit-тестирование, компонентное тестирование, hooks, состояние компонентов (state management), интеграция API, DevTools, отладка (debugging), frontend-архитектура, server-side rendering (SSR), headless CMS, Strapi, UI Kit, личный кабинет, релизный процесс, коммуникация в команде
|
||||
Reference in new issue
Block a user