Files
career-ops-vbleroy/reports/008-tbank-react-2026-07-06.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

20 KiB
Raw Permalink Blame History

Оценка: Т-Банк — Frontend-разработчик (React)

Дата: 2026-07-06 URL: https://www.tbank.ru/career/it/vacancy/moscow/frontend-developer-react/637c5c46-2c90-4c0b-aef2-42a4ad2addb3/ Архетип: Frontend-разработчик (React) — не входит в основные архетипы кандидата (Vue.js/Flutter), близкий архетип по _shared.md: "Frontend-разработчик" Балл: 2.0/5 Legitimacy: Высокая уверенность PDF: не создан (балл < 3.0)


A) Резюме роли

Параметр Значение
Архетип Frontend-разработчик (React)
Domain Fintech (интернет-банк, инвестиции, Т-Ж, поиск авиарейсов/отелей, внутренние инструменты)
Function Build (клиентские и внутренние интерфейсы + инструменты)
Заявленный уровень Senior
Формат работы Удалённый · Любой город (офис или удалённо — по договорённости)
Размер команды Не указан явно, но описана широкая продуктовая линейка (несколько команд, общий стек, внутреннее фронтенд-сообщество)
Оформление Не указано явно; "аккредитованная IT-компания" упомянута как плюс — косвенный сигнал ТК РФ + льготы аккредитации
TL;DR Senior React-роль в крупном финтехе с полностью гибким удалённым форматом — сильный fit по локации, но кандидат не имеет коммерческого React (обязательное требование) и стаж вдвое короче заявленного порога.

Проверка соответствия локации: JD прямо указывает "Удалённый · Любой город (офис или удалённо по договорённости)" — противоречий с "жёстким правилом локации" из _profile.md нет. Формат подходит кандидату из Тулы без переезда и командировок — локация/компенсационное измерение оценивается нормально, без штрафа 1.0.

B) Совпадение с CV

Требование JD Совпадение с CV Оценка
Опыт коммерческой разработки на React от 4-х лет Отсутствует — стек кандидата: Vue 3 (Composition API, Pinia, Vue Router), не React Hard gap
Отличное знание JavaScript "Языки программирования: JavaScript, TypeScript, HTML5/CSS3, Dart" Совпадает
Понимание современного стека веб-разработки Vite, ESLint, Prettier, Vitest, Storybook, TanStack Table, WebSocket/WSS — современный инструментарий, но на Vue-экосистеме, не React Частично совпадает (общий уровень инструментальной зрелости)
Готовность работать в распределённой команде "Кросс-командное взаимодействие (логистика, бэкенд, техподдержка, отдел работы с клиентами)" — команда 4 человека, но не географически распределённая в явном виде Косвенно совпадает
(Плюс) TypeScript "Vue 3, Composition API, TypeScript, Pinia" Совпадает
(Плюс) Unit-тесты "Vitest (unit-тесты Vue-компонентов)" Совпадает
(Плюс) Node.js "Backend (ознакомительный уровень): Node.js, Express, MongoDB" — хакатон + учебный проект ТулГУ Совпадает частично (ознакомительный уровень)
(Плюс) CI/CD — GitLab "Внедрила Feature Branching в Git (GitLab)... команда перешла на стабильные еженедельные релизы"; "DevOps/инфраструктура: Git, GitLab, CI/CD (рабочий опыт)" Совпадает

Пробелы:

  1. React (hard blocker). Обязательное требование JD, единственный первый пункт блока "Требования". У кандидата нет ни одного проекта на React — весь коммерческий frontend-опыт на Vue 3.
    • Смежный опыт: концептуально React (хуки, компонентный state) ближе к Vue 3 Composition API, чем Angular — реактивные примитивы и компонентная модель во многом пересекаются. Это облегчает потенциальный переход, но не покрывает требование "коммерческий опыт от 4 лет".
    • Портфолио-проект на React: отсутствует.
    • План: в сопроводительном письме честно указать отсутствие коммерческого React, но подчеркнуть переносимые паттерны (компонентная архитектура, управление состоянием, TypeScript, тестирование).
  2. Стаж (hard blocker). JD требует 4+ года; фактический опыт кандидата ≈1.5–2 года. Разрыв не закрывается ни фразировкой, ни плюс-требованиями (TS/тесты/Node/CI покрыты, но это "будет плюсом", а не основной барьер).

C) Уровень и стратегия

  1. Уровень в JD: Senior (явно указано в шапке вакансии), 4+ года коммерческого React. Естественный уровень кандидата для основного архетипа (Vue.js): Middle. Для архетипа React — фактически ниже Middle, так как нет ни одного коммерческого проекта на этом фреймворке.
  2. План "продать senior без обмана": невозможен честно — блокеры по стеку и стажу одновременны и оба фундаментальны для Senior-роли в крупном финтехе с высокой нагрузкой (интерфейсы "для миллионов пользователей ежедневно").
  3. План "если понизят уровень": даже гипотетическое понижение до Middle не решает отсутствие React. Реалистичный путь — только если Т-Банк рассматривает кандидатов с сильным Vue-бэкграундом на "переученную" React-позицию, что противоречит явной формулировке "опыт коммерческой разработки на React от 4-х лет" как основному требованию.

D) Компенсация и спрос

WebSearch (в рамках общего бюджета 5 запросов на вакансию, часть переиспользована для Блока G и для второй Т-Банк вакансии 009 — та же компания):

Показатель Значение Источник
Senior Frontend (React), медиана по России 550 000 ₽/мес; React занимает ≈55% рынка frontend-вакансий в 2026 web search results
Senior Frontend, Москва (диапазон) 270 000–410 000 ₽/мес (по данным Yandex Practicum) practicum.yandex.ru
Т-Банк — специфика удалённой оплаты Полная ставка при работе из Москвы/СПб/hub-городов; для полностью удалённой работы из других регионов возможно снижение на 10–15% web search results
Т-Банк — бонусная структура Для Senior+ при высокой оценке Performance Review годовой бонус может достигать 3–4 окладов web search results
Зарплата в вакансии Не указана — "Достойную зарплату — обсудим ее на собеседовании" JD

Специфика РФ: зарплата не раскрыта в объявлении. Учитывая региональный коэффициент Т-Банка (потенциальное снижение на 10-15% для удалённых сотрудников не из hub-городов, Тула не входит в перечисленные), даже верхний диапазон рынка (270–410 тыс. ₽) для Senior React заметно выше таргета кандидата (100–120 тыс. ₽ на руки) — компенсационно роль выглядит привлекательно, но это не компенсирует отсутствие обязательного стека.

E) План персонализации

# Раздел Текущее состояние Предлагаемое изменение Почему
1 Summary Акцент на Vue 3 + Flutter Не переписывать под React — фабрикация опыта, которого нет Этичность: "keywords reformulated, never fabricated"
2 Competencies Vue-ориентированный список При отклике честно указать TypeScript, компонентную архитектуру, тестирование, GitLab CI/CD как переносимые навыки Единственная честная точка входа
3 PDF — Не генерировать при балле 2.0/5 Ниже порога auto-PDF (3.0)

Рекомендация: генерация PDF не оправдана — это Senior-роль с обязательным 4-летним React-опытом, у кандидата которого нет вовсе.

F) План собеседований

Балл значительно ниже порога уверенного отклика (2.0 < 3.5). Минимальный набор историй на случай отклика:

# Требование JD История STAR+R S T A R Reflection
1 Понимание современного стека веб-разработки Внедрение WebSocket-оповещений в РМК Нужна информация об онлайн-статусе аптек в реальном времени Внедрить WSS-канал впервые в компании Реализовала real-time оповещения с отметкой прочтения Впервые видно, сколько из ~1200 аптек онлайн; половина читает в первые минуты Реальный опыт с сетевыми технологиями, применимый вне зависимости от фреймворка
2 Готовность обучаться новым технологиям Переход Flutter → Vue 3 фронтенд с нуля (ЕКОМ) Компания нуждалась в новом внутреннем продукте Освоила Vue 3 экосистему параллельно с Flutter-работой Frontend ЕКОМ запущен и используется логистикой/поддержкой Подтверждённая способность быстро войти в новый стек — довод для React, но не замена реального опыта

Рекомендуемый кейс: WebSocket-интеграция в РМК — демонстрирует зрелость в работе с real-time данными независимо от фреймворка. Честно предупредить, что стек — Vue, не React.

Вопрос-ловушка: "Почему нет коммерческого React?" → "Мой опыт — Vue 3 в продакшене; React не использовала коммерчески, но принципы компонентного State-management и хуков мне знакомы концептуально. Готова обсудить, насколько команда готова инвестировать время на онбординг."

G) Легитимность вакансии

Оценка: Высокая уверенность

Сигнал Наблюдение Вес
Свежесть публикации Дата не показана явно, но URL — актуальный путь (/career/it/vacancy/moscow/...), отличный от найденного в scan-history.tsv старого пути (front-end-razrabotka/...), помеченного skipped_expired Positive (миграция на новую структуру сайта — не признак фантомности)
Состояние отклика Кнопка "Откликнуться на вакансию" активна, встроенная форма Positive
Качество описания Конкретные продукты (интернет-банк, Т-Ж, поиск авиарейсов, бронирование), явное описание внутреннего инструментария (админки, конструкторы, UI-Kit, микросервисы на Node.js), рабочие практики команды (общий стек, регулярные встречи фронтенд-сообщества, доклады/статьи) — низкая доля типового boilerplate относительно ролевого контента Positive
Реализм требований "От 4 лет" для Senior React в высоконагруженном финтех-продукте — реалистично, TS/тесты/CI помечены явно как "будет плюсом", а не обязательные — внутренних противоречий нет Positive
Репост В scan-history.tsv найден старый URL этой же роли (front-end-razrabotka/frontend-developer-react/) со статусом skipped_expired — старая ссылка устарела, появилась новая структура пути Neutral — типично для реорганизации карьерного сайта крупной компании, не признак множественных фиктивных republish
Компания Т-Банк (экс-Тинькофф) — крупный публичный финтех, множество отзывов сотрудников на career.habr.com/Dream Job (средние оценки 3.3–5.0 в зависимости от команды), явных сигналов о заморозке найма/массовых сокращениях в IT не найдено Positive

Контекст: Описание существенно более содержательное и специфичное, чем в среднестатистической "рамочной" вакансии — упоминается конкретный продуктовый портфель, размер комьюнити (для похожей Angular-роли — 300+ разработчиков), внутренняя инфраструктура. Дополнительный WebSearch по увольнениям/hiring freeze не проводился отдельно для Т-Банка — использованные запросы (Блок D) косвенно подтвердили отсутствие признаков сокращений в отзывах сотрудников за 2026 год.


Извлечённые ключевые слова

React, JavaScript, TypeScript, Node.js, CI/CD, GitLab, unit-тесты, интерфейсы, миллионы пользователей, интернет-банк, инвестиции, микросервисы, UI-Kit, внутренние библиотеки, распределённая команда, удалённо, Senior, коммерческая разработка, ДМС со стоматологией, Т-Банк


Cover Letter Draft

Draft generated at evaluation time. Complete via /career-ops cover tbank-react to fill in angles, confirm research, and generate the PDF. Gaps flagged below — address them during the cover flow.


Opening (placeholder — refine with your "why this role" angle) Меня заинтересовала позиция Frontend-разработчика (React) в Т-Банке — возможность создавать интерфейсы, которыми пользуются миллионы клиентов ежедневно, в полностью гибком удалённом формате.

Profile introduction Я frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia) и Flutter. С ноября 2024 года веду несколько продуктов в аптечной сети «Здравсервис» (~1200 аптек по всей России), включая внутреннюю систему управления заказами и логистикой, разработанную с нуля.

Key achievements (selected from cv.md — exact wording preserved)

  • Внедрила WebSocket для оповещений в реальном времени — впервые в компании видно, сколько аптек онлайн прямо сейчас, оповещения доходят практически без задержки.
  • Внедрила Feature Branching в Git (GitLab), обучила коллегу с 11-летним стажем — команда перешла на стабильные еженедельные релизы.
  • Разработала с нуля фронтенд внутренней системы ЕКОМ на Vue 3, TypeScript, Pinia, Vitest, Storybook.
  • Спроектировала ролевую модель авторизации (RBAC), опираясь на профильное ИБ-образование.

Problems I will solve (placeholder — requires company research + your input)

To be completed: какие задачи стоят перед React-командой Т-Банка сейчас? Учитывая отсутствие коммерческого React, какой формат онбординга обсуждать с рекрутёром?

Closing Буду рада обсудить детали в удобное для вас время.


Gaps flagged:

  • Стек: нет коммерческого опыта с React (обязательное требование от 4 лет). Критичный разрыв.
  • Стаж: JD требует 4+ года, фактический опыт кандидата ≈1.5–2 года.

JD keywords to mirror (extracted for ATS + human read) React, JavaScript, TypeScript, Node.js, unit-тесты, CI/CD, GitLab, распределённая команда, интерфейсы, миллионы пользователей


Run /career-ops cover tbank-react to complete angles, confirm company research, and generate the PDF.