Files
career-ops-vbleroy/reports/057-t-bank-2026-07-07.md
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

121 lines
24 KiB
Markdown
Raw Permalink 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.
# Оценка: Т-Банк — Frontend-разработчик React (junior)
**Дата:** 2026-07-07
**Архетип:** Frontend-разработчик (React) — гибрид между основным архетипом кандидата «Frontend Developer (Vue.js)» и общим RU-архетипом «Frontend-разработчик» (React/Vue/Angular); стек JD (React) не совпадает с основным стеком кандидата (Vue 3)
**Балл:** 2.4/5
**Legitimacy:** High Confidence
**URL:** https://hh.ru/vacancy/119867578?query=frontend&hhtmFrom=vacancy_search_list
**PDF:** not generated (балл ниже порога 3.0)
---
## A) Резюме роли
| Параметр | Значение |
|---|---|
| Архетип | Frontend-разработчик (React) — не совпадает с основным стеком кандидата (Vue 3) |
| Domain | Frontend, enterprise/fintech (клиентские + внутренние интерфейсы крупного банка) |
| Function | Build |
| Seniority (JD) | Junior (от 1 года коммерческого опыта с JS) |
| Формат работы | На месте работодателя (Пермь, ул. Куйбышева, 95Б) или удалённо — гибкий формат, удалёнка явно разрешена |
| Размер команды | Не указан явно; в JD упомянуто «сообщество 350+ React-разработчиков» в компании — крупная организация |
| Оформление (ТК РФ/ГПХ/самозанятость) | Не указано в вакансии |
| TL;DR | Junior-позиция React-разработчика в Т-Банке (Пермь, гибрид/удалёнка) — стек не совпадает с основным (React vs Vue), уровень занижен относительно фактического опыта кандидата, зарплата не раскрыта. |
**Vibe команды (качественный сигнал, не влияет на балл):**
Судя по формулировкам JD, явных сигналов «живой команды» (ownership, автономия, RFC/архитектурные обсуждения) в тексте нет — язык скорее корпоративный ("внедрять новые технологии и практики", "непрерывно обучаться"). Гибкость по формату работы прописана конкретно (офис или удалёнка — не просто слово "удалённо"), это плюс. Про менторство есть косвенный сигнал (упоминание платформы развития и поддержки роста), но без конкретики про code review/парное программирование — недостаточно данных в JD, стоит уточнить на собеседовании.
## B) Совпадение с CV
| Требование JD | Строки из cv.md |
|---|---|
| Опыт коммерческой фронтенд-разработки с JS от 1 года | «Ноябрь 2024 — настоящее время» (Здравсервис) + «Март 2022 — Декабрь 2022» (ТулГУ/НИЦ «БиоХимТех») — суммарно ~2.5+ года коммерческого frontend-опыта, порог превышен многократно |
| Высшее образование по технической специальности | «Тульский государственный университет (ТулГУ)... Информационная безопасность автоматизированных систем... Выпуск: 2024» — соответствует |
| Разработка клиентских и внутренних интерфейсов | «Здесь ЕКОМ» — внутренняя система управления заказами с нуля (Vue 3); «Здесь Аптека» — клиентское мобильное приложение (Flutter) — прямое совпадение по типу задач, но на другом стеке |
| Внедрение новых технологий и практик | Внедрила WebSocket-оповещения в РМК, Feature Branching в Git/GitLab, Playwright E2E, версионирование сборок — сильное совпадение по духу требования |
| Непрерывное обучение | Прошла курс Flutter «на лету», «Разработчик мобильных и веб-приложений» (Цифровая кафедра ТулГУ, 2024) |
| React (подразумевается названием роли и командой) | **Отсутствует** — весь frontend-опыт кандидата на Vue 3 (Composition API, Pinia, Vue Router); в cv.md React не упоминается |
**Пробелы:**
1. **React-опыт.** Формально не hard-blocker по тексту требований (заявлен только общий JS-опыт 1+ год, не конкретно React), но фактически команда работает на React — на практике это будет ключевым фактором на техническом собеседовании.
- Смежный опыт есть: TypeScript, компонентный подход, работа с реактивным состоянием (Pinia ~ по духу Redux/Zustand/Context), REST/WebSocket — переносимо, но требует адаптации.
- Портфолио-проекта на React нет.
- План закрытия: короткий pet-проект на React перед собеседованием + в сопроводительном явно провести параллели Vue → React (Composition API ~ React Hooks, Pinia ~ Context/Redux), чтобы показать, что переключение между component-based фреймворками — не риск.
2. **Уровень (Junior JD vs Middle кандидата).** Не блокер, но стратегический риск занижения оффера под junior-грейд.
- План: явно обозначить реальный опыт (2.5+ года, самостоятельный дизайн RBAC, ведение 3 продуктов параллельно, менторство коллеги с 11-летним стажем) и попросить пересмотр грейда/оплаты по итогам испытательного срока.
3. **Зарплата не раскрыта в вакансии** — критично уточнить на первом контакте до вложения времени в подготовку.
## C) Уровень и стратегия
1. **Уровень в JD:** Junior (порог входа — от 1 года коммерческого опыта с JS). **Естественный уровень кандидата** для архетипа Frontend: Middle (2.5+ года коммерческого опыта, самостоятельный дизайн RBAC-модели, ведение фронтенда продукта с нуля, менторство).
2. **План «продать middle без обмана»:** В сопроводительном и на собеседовании подчеркнуть: (а) дизайн RBAC-модели — редкая для junior/middle зона ответственности; (б) самостоятельное ведение фронтенда «Здесь ЕКОМ» с нуля; (в) внедрение процессов (Feature Branching, версионирование, менторство коллеги). Прямо сказать: «Готова начать в этой роли, но по опыту соответствую скорее Middle — предлагаю пересмотреть грейд/оплату после испытательного срока (2-3 месяца)».
3. **План «если понизят уровень»:** Junior-грейд с junior-зарплатой (по рынку ориентировочно 62 000–112 000 ₽) вероятно окажется ниже минимума кандидата (100 000 ₽ на руки). Принять предложение только если: (а) зарплата ≥100 000 ₽ на руки подтверждена прямо до оффера, ИЛИ (б) есть чёткий задокументированный план пересмотра грейда через 3-6 месяцев. Иначе — отклонить.
## D) Компенсация и спрос
| Показатель | Данные | Источник |
|---|---|---|
| Зарплата в вакансии | Не указана — «Достойную зарплату — обсудим ее на собеседовании» | JD (hh.ru) |
| Junior frontend (РФ, 2026, широкий диапазон) | ~62 000–112 000 ₽/мес (стартовый диапазон) | Рыночные обзоры 2026 (WebSearch) |
| Junior frontend (агрегированные данные hh.ru) | ~79 500–105 000 ₽/мес | hh.ru (WebSearch) |
| Регион Пермь vs крупные региональные центры | Пермь как рынок обычно ниже, чем Казань/Екатеринбург/Новосибирск (там медиана ~150 тыс. ₽ для frontend) | WebSearch, обзор 2026 |
| Т-Банк — отзывы о зарплате | Смешанные: «зарплата полностью белая, выше рынка по региону», но «медленный рост на линейных позициях» | dreamjob.ru / career.habr.com (агрег., WebSearch) |
| Конкуренция на junior-позициях | Высокая — 22-28 резюме на вакансию | WebSearch, обзор 2026 |
**Gross/Net:** не применимо — зарплата в вакансии вообще не раскрыта, оценить невозможно.
**Вывод:** без подтверждённой цифры и с учётом типичного junior-диапазона (62–112 тыс. ₽), велика вероятность, что предложение окажется **ниже** минимума кандидата (100 000 ₽ на руки), даже с учётом того, что Т-Банк по отзывам платит выше среднего по региону.
**Бенефиты:** ДМС со стоматологией, платформа профессионального развития («Т-Банк Upgrade»), компенсация питания/проезда в офисные дни, +3 доп. дня отпуска, менторская поддержка — стандартный для крупного банка пакет, выше среднего для junior-позиции в регионе.
**Оформление:** не указано в JD — уточнить; для АО «Т-Банк» как крупной публичной компании ожидаемо ТК РФ.
## E) План персонализации
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|---|--------|-------------------|------------------------|--------|
| 1 | Summary | Акцент на Vue 3 + Flutter | Добавить фразу про быстрое переключение между component-based фреймворками (Vue → React), не переписывая факты | Показывает готовность к стеку JD без выдумывания React-опыта |
| 2 | Навыки | React не упомянут | Не добавлять React в раздел навыков (его там нет и это было бы фабрикацией) — вместо этого в разделе «Быстро осваиваю» уже упомянуты смежные технологии, можно явно добавить «React» туда | Честно отражает реальный уровень, не нарушает Source-of-Truth правило |
| 3 | Опыт (ЕКОМ) | Акцент на Vue-специфике (Pinia, Vue Router) | Переформулировать буллеты через архитектурные паттерны (управление состоянием, компонентная архитектура, REST/WebSocket) вместо Vue-специфичных терминов | Легче читается рекрутером, ищущим React-навыки на уровне паттернов |
| 4 | RBAC-проект | Упомянут как ключевой | Оставить и усилить — это единственный сильный дифференциатор против других junior-кандидатов | Прямое конкурентное преимущество независимо от фреймворка |
| 5 | Формат работы | «Переезд: нет» | Явно подтвердить готовность к удалёнке в сопроводительном (в JD она разрешена) | Убирает риск того, что рекрутер по умолчанию считает вакансию офисной (Пермь) |
| 6 (hh.ru) | Резюме на hh.ru | — | В заголовке резюме на hh.ru рядом с Vue указать «готова к React» | Увеличивает проходимость по ключевым словам ATS/поиска рекрутера |
| 7 (hh.ru) | Сопроводительное письмо в отклике | — | В 2-3 предложениях: параллели Vue→React + RBAC-кейс + прямой вопрос про диапазон зарплаты | Закрывает главный открытый риск (зарплата) на входе |
## F) План собеседований
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|---|---|---|---|---|---|---|---|
| 1 | Коммерческий опыт с JS/фронтенд с нуля | Разработка фронтенда «Здесь ЕКОМ» с нуля | Компании нужна была внутренняя система управления заказами/логистикой, готового решения не было | Спроектировать и реализовать фронтенд с нуля | Выбрала стек (Vue 3, Composition API, TS, Pinia), реализовала график курьеров, список заказов, RBAC | Логисты полностью самостоятельно управляют графиком, заменили ручные SQL-правки разработчиков | Поняла, что при отсутствии готовой архитектуры важно сразу закладывать разграничение доступа — иначе пришлось бы переделывать |
| 2 | Внедрение новых технологий и практик | Внедрение WebSocket-оповещений в legacy РМК | Не было видимости, сколько аптек онлайн, оповещения были не в реальном времени | Внедрить real-time слой без остановки legacy-системы | Реализовала WebSocket (WSS), статусы прочтения оповещений | Впервые видно, сколько из ~1200 аптек онлайн; половина читает оповещения в первые минуты | Убедилась, что инкрементальное внедрение в legacy безопаснее полного переписывания |
| 3 | Разработка клиентских интерфейсов | Диагностика и фикс бага «Избранное» в «Здесь Аптека» | Пользователи жаловались, что раздел не открывается | Найти причину и починить без регресса | Выяснила, что все товары грузились одним запросом; реализовала постраничную загрузку | Жалобы прекратились | Поняла важность профилирования перед добавлением фич — баг был про производительность, не про логику |
| 4 | Работа в команде/coordination с backend | Проектирование RBAC-модели в ЕКОМ | Нужно было разграничить доступ между отделами (логистика/заказы) | Спроектировать модель ролей и объяснить бэкенду | Использовала профильное ИБ-образование, спроектировала и защитила модель перед backend-командой | Модель принята и реализована, разграничение работает | Ключевой урок: техническое объяснение сложной модели нетехническим/другим специалистам — отдельный навык |
| 5 | Готовность работать в команде и делиться знаниями | Обучение коллеги с 11-летним стажем Git/Feature Branching | Команда работала без версионирования, фичи «зависали» | Внедрить Feature Branching и обучить команду | Ввела процесс в GitLab, лично объяснила коллеге с большим стажем | Команда перешла на стабильные еженедельные релизы | Осознала, что внедрение процесса без обучения людей не работает — техническое решение вторично |
| 6 | Обучаемость / быстрое освоение нового стека | Переход в проект на Flutter без предварительного опыта | Нужен был Flutter-разработчик, готового человека в команде не было | Пройти профильный курс и включиться в разработку | Прошла курс, исправила 20+ багов, портировала 2 приложения Android→iOS | Оба приложения успешно вышли на iOS | Подтверждает, что быстро осваивает новый фреймворк «в бою» — прямой аргумент против опасений про React |
**Рекомендуемый кейс для демонстрации:** RBAC-модель в «Здесь ЕКОМ» — сильнее любого junior-кандидата по глубине ответственности, независимо от фреймворка.
**Вопросы-ловушки:**
- «У вас нет опыта с React, весь стек — Vue. Как быстро вы адаптируетесь?» → Провести параллели (Composition API ~ Hooks, Pinia ~ Context/Redux), сослаться на опыт быстрого освоения Flutter «в бою».
- «Не будет ли вам скучно/некомфортно на junior-позиции с вашим опытом?» → Честно: «Готова начать здесь, но по опыту ближе к Middle — предлагаю ориентироваться на пересмотр через испытательный срок».
- «Почему рассматриваете вакансию в Перми, живя в Туле?» → Явно уточнить, что формат «офис или удалённо» даёт возможность работать из Тулы удалённо; переезд не рассматривается.
## G) Легитимность вакансии
**Tier: High Confidence**
- **Качество описания:** Текст JD связный, стандартный корпоративный формат крупного банка, конкретные (хоть и общие) требования и обязанности, реалистичный список бенефитов — нет признаков шаблонного/сгенерированного мошеннического текста.
- **Сигналы найма компании:** АО «Т-Банк» — крупный публичный банк/финтех с масштабной ИТ-функцией; по данным WebSearch активно набирает frontend/backend/mobile специалистов, отзывы сотрудников (dreamjob.ru, career.habr.com) подтверждают реальность найма и выплат зарплаты.
- **Проверка на повтор (data/scan-history.tsv):** Точного совпадения по этому ID вакансии не найдено. В истории сканирования есть другие свежие вакансии Т-Банка (Frontend React и Senior Frontend Angular, обе — Москва, добавлены 2026-07-06) — согласуется с паттерном крупной компании, публикующей много параллельных frontend-вакансий в разных городах; не является признаком подозрительного повторного постинга одной и той же позиции.
- **Свежесть:** Вакансия опубликована 6 июля 2026 — за день до оценки; явных признаков архивации/закрытия не обнаружено ни через прямой запрос страницы, ни в тексте (API hh.ru вернул 403, использован fallback WebFetch на страницу вакансии — сработал).
- **Рыночный контекст роли:** Junior frontend/React-роли — стандартный, массовый сегмент рынка (высокая конкуренция, 22-28 резюме/вакансия) — ничего аномального.
**Примечание по верификации:** прямой запрос к `api.hh.ru/vacancies/119867578` вернул HTTP 403 (вероятно, антибот-защита); использован предусмотренный fallback — WebFetch на исходный URL вакансии, который успешно вернул полный текст, статус и метаданные.
---
## Извлечённые ключевые слова
React, JavaScript, TypeScript, Frontend-разработчик, Junior, Node.js, клиентские интерфейсы, внутренние интерфейсы, коммерческая разработка, высшее техническое образование, Т-Банк, банк, финтех, Пермь, удалённая работа, гибридный формат, ДМС, стоматология, обучение и развитие, компенсация питания, компенсация проезда, менторство, непрерывное обучение