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

24 KiB
Raw Blame History

Оценка: Т-Банк — 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, клиентские интерфейсы, внутренние интерфейсы, коммерческая разработка, высшее техническое образование, Т-Банк, банк, финтех, Пермь, удалённая работа, гибридный формат, ДМС, стоматология, обучение и развитие, компенсация питания, компенсация проезда, менторство, непрерывное обучение