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

147 lines
20 KiB
Markdown
Raw 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-разработчик (Angular)
**Дата:** 2026-07-06
**URL:** https://www.tbank.ru/career/it/vacancy/moscow/senior-frontend-developer-angular/ec1e861d-d4c4-4cac-b641-e7170c123c7c/
**Архетип:** Frontend-разработчик (Angular) — не входит в основные архетипы кандидата (Vue.js/Flutter), близкий архетип по `_shared.md`: "Frontend-разработчик"
**Балл:** 2.3/5
**Legitimacy:** Высокая уверенность
**PDF:** не создан (балл < 3.0)
---
## A) Резюме роли
| Параметр | Значение |
|---|---|
| Архетип | Frontend-разработчик (Angular) |
| Domain | Fintech / внутренние инструменты (Т-Бизнес, Т-Банк CRM, Т-Банк Мессенджер, HR-проекты) |
| Function | Build (новая функциональность + поддержка существующего кода + код-ревью) |
| Заявленный уровень | **Middle / Senior** (обе метки указаны на странице; URL-слаг говорит "senior", видимый заголовок — "Frontend-разработчик — Angular" без уточнения уровня в названии) |
| Формат работы | **Удалённый · Любой город** (офис или удалённо — по договорённости) |
| Размер команды | Angular-комьюнити Т-Банка — более 300 разработчиков (десятки SPA-приложений в разных бизнес-линиях) |
| Оформление | Не указано явно; "аккредитованная IT-компания" упомянута как плюс |
| TL;DR | Middle/Senior Angular-роль в крупном финтех-комьюнити (300+ разработчиков) с полностью гибким удалённым форматом — сильный локационный fit, но у кандидата нет коммерческого Angular (обязательное требование), а порог входа по стажу (3+ года) выше фактического. |
**Проверка соответствия локации:** JD прямо указывает "Удалённый · Любой город (офис или удалённо по договорённости)" — противоречий с "жёстким правилом локации" из `_profile.md` нет. Локация оценивается нормально, без штрафа 1.0.
## B) Совпадение с CV
| Требование JD | Совпадение с CV | Оценка |
|---|---|---|
| Отличное знание JavaScript, коммерческий опыт от 3 лет | JS/TS входят в стек; фактический стаж ≈1.5–2 года (Здравсервис с ноября 2024 + учебно-заказная разработка ТулГУ 2022 + хакатон 2024) | **Gap** — короче требуемого, но разрыв меньше, чем в аналогичных вакансиях с порогом 4 года |
| Опыт работы с Angular от 2 лет | Отсутствует полностью — стек кандидата: Vue 3 | **Hard gap** — обязательное требование, нулевой опыт |
| Опыт работы в Agile-команде | "Активно участвует в планировании спринтов и анализе бэклога; неоднократно обращала внимание руководства на забытые/утерянные приоритеты — после этого команда вернулась к постановке целей на полгода/год, а product owner начал привлекать её к планированию спринтов" | Совпадает, причём с проактивным вкладом сверх стандартного участия |
| Понимание HTTP-протокола, REST API | "Сеть: REST API, WebSocket/WSS" | Совпадает |
| Умение проводить качественное код-ревью | Не описано явно в cv.md (нет прямого упоминания код-ревью), но "обучила коллегу с 11-летним стажем работе с системой версионирования" косвенно говорит о менторской/ревью-роли в команде | Частично совпадает — не хардкодить как прямое совпадение |
**Пробелы:**
1. **Angular (hard blocker).** Обязательное требование ("есть опыт работы с Angular от 2 лет"), второй пункт блока требований. У кандидата нет ни одного коммерческого проекта на Angular — весь опыт на Vue 3.
- Смежный опыт: TypeScript есть (Vue 3 + TS), понимание компонентной SPA-архитектуры и реактивного стейта присутствует — но Angular как экосистема (RxJS, DI-контейнер, модули, Angular CLI) требует отдельного обучения, не покрываемого переносом Vue-паттернов напрямую.
- Портфолио-проект на Angular: отсутствует.
- План: в сопроводительном письме честно обозначить отсутствие Angular, подчеркнуть перенос архитектурных решений (RBAC, компонентная декомпозиция, тестирование) и готовность обсуждать онбординг-план.
2. **Стаж (gap, но менее критичный, чем в 007/008).** JD требует 3+ года против фактических ≈1.5–2 лет — разрыв меньше, чем в других двух вакансиях (там требовалось 4 года), но всё ещё не закрыт.
## C) Уровень и стратегия
1. **Уровень в JD:** Middle/Senior (обе метки на странице), 3+ года общего опыта + 2+ года Angular. **Естественный уровень кандидата** для основного архетипа (Vue.js): Middle. Для Angular конкретно — ближе к нулевому, так как фреймворк не использовался коммерчески.
2. **План "продать senior без обмана":** невозможен честно для Senior-трека, но раз JD допускает и Middle-уровень — теоретически ближе к реалистичному сценарию, чем 007/008, если бы не полное отсутствие Angular. Это по-прежнему остаётся основным блокером независимо от заявляемого уровня.
3. **План "если понизят уровень":** даже при рассмотрении на Middle-уровне требование "опыт работы с Angular от 2 лет" стоит явно и отдельно от общего стажа коммерческой разработки — снижение до Middle не отменяет этот пункт.
## D) Компенсация и спрос
Комп-данные переиспользованы из общего WebSearch-бюджета, проведённого для парной вакансии Т-Банк/React (та же компания, тот же рынок; в рамках лимита 5 запросов на вакансию, включая пересечение с Блоком G):
| Показатель | Значение | Источник |
|---|---|---|
| Senior Angular, Москва | Angular описывается как нишевый инструмент для enterprise/banking/ERP; медиана ≈250 000 ₽/мес, в 5 раз меньше вакансий, чем на React, но конкурентная зарплата из-за дефицита кадров | [enigmai.ru](https://enigmai.ru/salary/frontend/frontend-salary-2026/) |
| Senior Frontend, Москва (диапазон) | 270 000–410 000 ₽/мес | [practicum.yandex.ru](https://practicum.yandex.ru/blog/skolko-zarabatyvayut-frontend-razrabotchiki/) |
| Т-Банк — специфика удалённой оплаты | Полная ставка из Москвы/СПб/hub-городов; для полностью удалённой работы из других регионов возможно снижение на 10–15% | web search results |
| Т-Банк — бонусная структура | Для Senior+ при высокой оценке Performance Review годовой бонус может достигать 3–4 окладов | web search results |
| Зарплата в вакансии | Не указана — "Достойную зарплату — обсудим ее на собеседовании" | JD |
**Специфика РФ:** зарплата не раскрыта. Даже с учётом возможного регионального понижения на 10–15% (Тула не входит в hub-города), диапазон Angular-медианы (≈250 000 ₽) заметно выше таргета кандидата (100–120 тыс. ₽ на руки на данный момент) — компенсационно роль привлекательна, но не компенсирует полное отсутствие обязательного стека.
## E) План персонализации
| # | Раздел | Текущее состояние | Предлагаемое изменение | Почему |
|---|--------|-------------------|------------------------|--------|
| 1 | Summary | Акцент на Vue 3 + Flutter | Не переписывать под Angular — фабрикация опыта | Этичность: keywords reformulated, never fabricated |
| 2 | Опыт | Vue-ориентированные bullets | При отклике подчеркнуть Agile/backlog-вклад, REST/WebSocket, TypeScript как переносимые сильные стороны | Единственные честные точки пересечения |
| 3 | PDF | — | Не генерировать при балле 2.3/5 | Ниже порога auto-PDF (3.0) |
**Рекомендация:** генерация PDF не оправдана — Angular остаётся обязательным требованием независимо от уровня (Middle или Senior).
## F) План собеседований
Балл ниже порога уверенного отклика (2.3 < 3.5). Минимальный набор историй на случай отклика:
| # | Требование JD | История STAR+R | S | T | A | R | Reflection |
|---|---|---|---|---|---|---|---|
| 1 | Опыт работы в Agile-команде | Возврат команды к целеполаганию на полгода/год | Приоритеты в бэклоге терялись, руководство не замечало | Проактивно подняла вопрос на планировании | Команда вернулась к формальной постановке целей, PO начал привлекать кандидата к планированию спринтов | Показывает зрелость выше формального стажа — влияние на процесс, а не только исполнение задач |
| 2 | Понимание HTTP/REST, качественный код | Постраничная загрузка в разделе «Избранное» | Раздел не открывался — все товары грузились одним запросом | Обсудила с бэкендом, реализовала пагинацию через REST | Жалобы пользователей прекратились | Конкретное диагностическое мышление, применимое к любому фреймворку |
**Рекомендуемый кейс:** история с возвратом команды к целеполаганию — сильный сигнал proactive ownership, который важен именно для комьюнити из 300+ разработчиков с формализованными процессами код-ревью.
**Вопрос-ловушка:** "Почему нет опыта с Angular?" → "Мой коммерческий стек — Vue 3. Angular не использовала в проде, но работаю с TypeScript и понимаю компонентную SPA-архитектуру. Готова обсудить реалистичные сроки адаптации, если команда рассматривает такой вариант."
## G) Легитимность вакансии
**Оценка:** Высокая уверенность
| Сигнал | Наблюдение | Вес |
|---|---|---|
| Свежесть публикации | Дата не показана явно; текущий URL (`/career/it/vacancy/moscow/senior-frontend-developer-angular/...`) отличается от устаревшего пути в `scan-history.tsv` (`front-end-razrabotka/senior-frontend-developer-angular/`), помеченного `skipped_expired` | Positive — миграция на новую структуру сайта, а не признак фиктивности |
| Состояние отклика | Кнопка "Откликнуться на вакансию" активна, встроенная форма | Positive |
| Качество описания | Указан конкретный размер комьюнити (300+ разработчиков), конкретные продукты (Т-Бизнес, Т-Банк CRM, Мессенджер, HR-проекты), упоминание вклада в open-source — заметно выше среднего по конкретике | Positive |
| Реализм требований | 3+ года общего опыта + 2+ года Angular для Middle/Senior — реалистичное сочетание, внутренних противоречий (например, junior-требования при senior-заголовке) не найдено; расхождение между слагом URL ("senior") и отображаемым уровнем (Middle/Senior badge) отмечено в самом JD-файле как особенность страницы, не как признак фиктивности | Positive/Neutral |
| Репост | Найден устаревший путь той же роли со статусом `skipped_expired` — та же картина, что и в парной React-вакансии (008): реорганизация карьерного сайта, а не подтверждение множественных фиктивных republish | Neutral |
| Компания | Т-Банк — крупный публичный финтех с 300+ разработчиками в Angular-комьюнити, отзывы сотрудников со средними оценками 3.3–5.0, явных сигналов о заморозке найма не найдено | Positive |
**Контекст:** Оба сигнала — миграция URL-пути и отсутствие явной даты — типичны для крупных компаний с непрерывным (rolling) наймом на популярные позиции в большом инженерном комьюнити, а не признак ghost job. Дополнительный отдельный WebSearch по увольнениям для этой конкретной вакансии не проводился — данные Блока D (общие для обеих Т-Банк ролей) не выявили тревожных сигналов.
---
## Извлечённые ключевые слова
Angular, JavaScript, HTTP-протокол, REST API, код-ревью, Agile-команда, SPA-приложения, Т-Бизнес, Т-Банк CRM, Т-Банк Мессенджер, HR-проекты, опенсорс, удалённо, Middle, Senior, коммерческая разработка, ДМС со стоматологией, Т-Банк
---
## Cover Letter Draft
> Draft generated at evaluation time. Complete via `/career-ops cover tbank-angular` 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-разработчика (Angular) в Т-Банке — возможность присоединиться к комьюнити из 300+ разработчиков и работать над продуктами вроде Т-Бизнеса и Т-Банк CRM в удобном удалённом формате.
**Profile introduction**
Я frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia) и Flutter. С ноября 2024 года веду несколько продуктов в аптечной сети «Здравсервис» (~1200 аптек по всей России), активно участвую в планировании спринтов и приоритизации бэклога.
**Key achievements** *(selected from cv.md — exact wording preserved)*
- **Активно участвует в планировании спринтов и анализе бэклога** — после её инициативы команда вернулась к постановке целей на полгода/год, а product owner начал привлекать её к планированию спринтов.
- **Диагностировала причину жалоб на не открывающийся раздел «Избранное»** и реализовала постраничную загрузку через REST — жалобы прекратились.
- **Спроектировала ролевую модель авторизации (RBAC)**, опираясь на профильное ИБ-образование.
- **Внедрила Feature Branching в Git (GitLab)**, обучила коллегу с 11-летним стажем — команда перешла на стабильные еженедельные релизы.
**Problems I will solve** *(placeholder — requires company research + your input)*
> To be completed: над какими из перечисленных продуктов (Т-Бизнес, Т-Банк CRM, Мессенджер, HR-проекты) идёт набор конкретно в эту команду? Учитывая отсутствие коммерческого Angular, какой формат онбординга обсуждать с рекрутёром?
**Closing**
Буду рада обсудить детали в удобное для вас время.
---
**Gaps flagged:**
- **Стек:** нет коммерческого опыта с Angular (обязательное требование от 2 лет). Критичный разрыв.
- **Стаж:** JD требует 3+ года, фактический опыт кандидата ≈1.5–2 года.
**JD keywords to mirror** *(extracted for ATS + human read)*
Angular, JavaScript, REST API, Agile, SPA-приложения, код-ревью, комьюнити, удалённо
---
*Run `/career-ops cover tbank-angular` to complete angles, confirm company research, and generate the PDF.*