# Evaluación: Т-Банк — Frontend-разработчик React (Junior) **Fecha:** 2026-07-08 **Arquetipo:** Frontend Developer (React) — off-archetype (primary del candidato es Vue.js) **Score:** 1.7/5 **Legitimacy:** Proceed with Caution **URL:** https://hh.ru/vacancy/119867578?query=frontend&hhtmFrom=vacancy_search_list **PDF:** not generated — run /career-ops pdf t-bank-react-junior-perm to create on demand **Batch ID:** 7 --- ## Machine Summary ```yaml company: "Т-Банк" role: "Frontend-разработчик React (Junior)" score: 1.7 legitimacy_tier: "Proceed with Caution" archetype: "Frontend Developer (React) — off-archetype" final_decision: "Skip" hard_stops: - "Основной стек — React, у кандидата нет коммерческого опыта на React (только Vue 3, её primary архетип)" soft_gaps: - "Уровень Junior — ниже фактического уровня ответственности кандидата (владеет продуктами end-to-end, спроектировала RBAC-модель); junior-компенсация вероятно ниже минимума кандидата (100 000 ₽/мес)" - "JD крайне лаконичен (нет команды, нет зарплаты, нет деталей о проекте) — сложно оценить реальный контекст роли" top_strengths: - "Крепкие JS/TypeScript основы и опыт компонентной архитектуры (Vue 3 Composition API), переносимые на React" risk_level: "Low" confidence: "Medium" next_action: "Не применять; при появлении вакансии на Vue в продуктовых командах Т-Банка (удалённо) — переоценить" ``` ## A) Resumen del Rol | Campo | Valor | |---|---| | Arquetipo detectado | Frontend Developer (React) — no coincide con ninguno de los 3 arquetipos objetivo de la candidata (Vue.js, Flutter, Fullstack Vue+Node) | | Domain | Fintech / Banking (Т-Банк — productos que abarcan banca, viajes, inversiones, entretenimiento, educación) | | Function | Frontend Developer — interfaces cliente e internas + herramientas de soporte | | Seniority | Junior (mínimo 1 año de experiencia comercial en JS) | | Remote | Sí — "на месте работодателя или удалённо" (oficina en Perm, ул. Куйбышева, 95Б, o remoto) | | Team size | No especificado en el JD; solo se menciona que la comunidad React de la empresa supera los 350 desarrolladores | | TL;DR | Vacante Junior de Frontend React en el hub de Perm de Т-Банк, con opción remota explícita. La ubicación no es bloqueo (a diferencia de otras vacantes de Т-Банк evaluadas previamente), pero el stack (React, no Vue) sigue siendo un choque directo con el archetype primario de la candidata, y el nivel Junior está por debajo de su alcance real de responsabilidad. | **Vibe команды (сигнал из JD, не подтверждённый факт):** JD крайне лаконичен — упоминает только "внедрение новых технологий и практик" и "постоянное обучение и повышение квалификации" как часть обязанностей, а также поддержку менторства и платформу "Т-Банк Апгрейд" в бенефитах. Это слабый позитивный сигнал в пользу культуры обучения, но текста недостаточно, чтобы судить об автономии, бюрократии или гибкости — стоит уточнять на собеседовании. Внешние отзывы о бюрократии в компании (см. Блок D) касаются организации в целом, не конкретно этой команды в Perm. ## B) Match con CV | Requisito JD | Match en CV | Estado | |---|---|---| | Опыт коммерческой frontend-разработки с JavaScript от 1 года | cv.md:16-17, 33-51 — с ноября 2024 в «Здравсервис» (~1 год 8 мес.) + фриланс-проект ТулГУ 2022 (~10 мес.) | ✅ Match (con margen amplio) | | Высшее образование по техническому направлению | cv.md:68-71 — ТулГУ, Институт прикладной математики и компьютерных наук, «Информационная безопасность автоматизированных систем» | ✅ Match | | React | Sin referencia en cv.md — стек кандидата: Vue 3, Composition API, Pinia (cv.md:85) | ❌ Gap crítico | | Node.js | cv.md:95 — «Backend (ознакомительный уровень): Node.js, Express, MongoDB» (проект ТулГУ + хакатон) | ⚠️ Match débil — nivel introductorio | | UI-Kit / librerías internas | cv.md:85 — experiencia con shadcn/shadcn-vue, Tailwind CSS (kits de componentes, aunque no el UI-Kit propietario de Т-Банк) | ⚠️ Match parcial — patrón transferible, no la librería específica | | Разработка клиентских и внутренних интерфейсов | cv.md:21-38 — desarrolló desde cero el frontend de ЕКОМ (interfaz interna) y trabajó en «Здесь Аптека» (app cliente) | ✅ Match fuerte (conceptualmente, en Vue no React) | | Внедрение новых технологий и практик | cv.md:44-47 — introdujo Feature Branching, Playwright E2E, versionado de builds en РМК | ✅ Match | ### Gaps y estrategia de mitigación 1. **React (hard blocker)** - ¿Bloqueador duro o nice-to-have? Duro — es el stack central mencionado explícitamente en el JD, sin mención de Vue en ningún punto. - ¿Experiencia adyacente demostrable? Sí, parcial: Composition API (Vue) y hooks (React) comparten el mismo modelo mental de UI reactiva y componentización; los fundamentos de JS/TS son agnósticos de framework. - ¿Proyecto de portfolio que cubra el gap? No — todo el trabajo comercial documentado en cv.md es Vue 3 o Flutter. - Plan de mitigación: dado que es un puesto Junior, el argumento "aprendo rápido" es más creíble aquí que en un rol Middle/Senior (cv.md:77 — completó un curso de reconversión y pasó a shippear Flutter en semanas). Aun así, no hay garantía de que el proceso de selección de un banco grande acepte un cambio de framework a este nivel de filtro. 2. **Nivel Junior vs. alcance real de la candidata (soft gap, mismatch inverso)** - A diferencia de otras vacantes evaluadas donde el JD pide más seniority del que tiene la candidata, aquí ocurre lo contrario: el JD pide "1+ año", pero la candidata ya diseñó un frontend completo desde cero (ЕКОМ), diseñó un modelo de autorización RBAC y explicado a un equipo de backend, y mentoreó a un colega con 11 años de antigüedad (cv.md:33-51). - Riesgo: un puesto Junior probablemente implica menor autonomía y una banda salarial (~55.000-80.000 ₽/mes según Bloque D) muy por debajo de su mínimo declarado (100.000 ₽/mes, config/profile.yml). - Plan de mitigación: no aplica una estrategia de "vender senior sin mentir" aquí en el sentido habitual — el problema no es convencer al reclutador de mayor nivel, sino que el puesto en sí está diseñado para pagar y dar alcance de Junior. ## C) Nivel y Estrategia - **Nivel detectado en el JD:** Junior (mínimo 1 año de experiencia comercial). - **Nivel natural de la candidata:** Middle en ascenso — dueña end-to-end de un producto interno (ЕКОМ) desde cero, con diseño de modelo de autorización (RBAC) y mentoría a un colega senior, pese a ~1.5-2.5 años de trayectoria total. - **Plan "vender senior sin mentir":** No aplica de forma útil aquí — el JD ya está calibrado a Junior; subir el nivel percibido no cambia la banda salarial ni el stack ofrecido. - **Plan "si me downlevelan":** Es la situación inversa: la candidata estaría aceptando un downlevel voluntario. Solo tendría sentido si (a) el objetivo fuera exclusivamente aprender React de forma remunerada, y (b) la compensación ofrecida en la entrevista superara su mínimo — algo poco probable dado el rango de mercado para Junior (Bloque D). No se recomienda perseguir esta vacante bajo esa lógica. ## D) Comp y Demanda | Fuente | Dato | |---|---| | JD | Salario no especificado — "Достойную зарплату — обсудим её на собеседовании" | | WebSearch (Skillbox Media, Habr Career, getgrade.ru) | Salarios de Junior frontend en Rusia en 2026 rondan ~55.000-80.000 ₽/mes en regiones fuera de Moscú; remoto reduce algo la brecha regional (10-15%) pero no la elimina para el nivel Junior | | WebSearch (dreamjob.ru, enigmai.ru) sobre Т-Банк | Comp de Middle frontend en Т-Банк descrita como fuerte (~257.000+ ₽/mes), pero esa cifra no aplica a Junior; reseñas mencionan buena comida/DMS con estomatología, plataforma de aprendizaje "Т-Банк Апгрейд", pero también quejas de burocracia e indexación salarial insuficiente frente a inflación | **Score de comp: 1.5/5** — el rango de mercado Junior (~55.000-80.000 ₽/mes) está por debajo del mínimo declarado de la candidata (100.000 ₽/mes, config/profile.yml), y no hay cifra confirmada en el JD que sugiera una excepción positiva. ## E) Plan de Personalización Dado el score bajo (stack fuera del archetype primario + compensación probablemente por debajo del mínimo), **no se recomienda invertir en personalización de CV/LinkedIn para esta vacante.** Se documentan los cambios que se harían solo por completitud: | # | Sección | Estado actual | Cambio propuesto | Por qué | |---|---|---|---|---| | 1 | Summary | Enfatiza Vue 3 + Flutter | Reescribir enfatizando fundamentos JS/TS y velocidad de aprendizaje de nuevos frameworks | Para intentar pasar un primer filtro de keywords, sin fabricar experiencia React | | 2 | Experiencia | Bullets en términos de Vue/Composition API | Reformular en vocabulario agnóstico de framework donde sea honesto (ej. "arquitectura de componentes reactivos") | Suaviza el mismatch sin inventar | | 3 | Skills | Vue 3 listado primero | No aplicable — no hay React real que destacar | No inventar experiencia no existente | **Top 5 cambios al CV:** no recomendado dado el score. **Top 5 cambios a LinkedIn:** no recomendado dado el score. ## F) Plan de Entrevistas STAR stories disponibles si la candidata decidiera aplicar de todos modos (por ejemplo, si busca activamente aprender React de forma remunerada): | # | Requisito del JD | Historia STAR | S | T | A | R | |---|---|---|---|---|---|---| | 1 | Разработка внутренних интерфейсов | Frontend de ЕКОМ desde cero | Necesidad de sistema interno de gestión de pedidos/logística | Construir el frontend completo | Vue 3 + Composition API + TS + Pinia + Vite, desde arquitectura hasta despliegue | Sistema en uso activo por logística, soporte y desarrollo (cv.md:33-38) | | 2 | Клиентские интерфейсы | Diagnóstico y fix del bug de «Избранное» en «Здесь Аптека» | Usuarios se quejaban de que la sección no cargaba | Diagnosticar la causa raíz | Identificó carga de todos los productos en una sola query; implementó carga paginada | Quejas de usuarios cesaron (cv.md:23) | | 3 | Внедрение новых технологий и практик | Introducción de Feature Branching en GitLab | Releases inestables, features "colgadas" | Implementar Git Flow y capacitar a un colega | Enseñó control de versiones a colega con 11 años de antigüedad | Equipo pasó a releases semanales estables (cv.md:46) | | 4 | Разграничение доступа / internal tools | Diseño del modelo RBAC en ЕКОМ | Necesidad de separar accesos entre departamentos | Diseñar y explicar el modelo de roles al equipo de backend | Aplicó fundamentos de su formación en seguridad de la información | Modelo implementado y adoptado (cv.md:37) | | 5 | Node.js (soporte/backend ligero) | Proyecto de hackathon TulaHack.Digital | App con filtrado de recetas por ingredientes | Construir un backend ligero | Express + Node.js + MongoDB | App funcional entregada en el hackathon (cv.md:63-64) | | 6 | Continuous learning / postoyanное обучение | Transición Flutter → Vue 3 en «Здравсервис» | Empezó como desarrolladora Flutter tras un curso de reconversión | Asumir el frontend de ЕКОМ (Vue 3) sin experiencia previa en ese framework | Aprendió Composition API/Pinia/TS en el puesto y lo llevó a producción | Producto en uso activo ~1 año después (cv.md:17, 33) | **Case study recomendado (si aplicara):** transición Flutter → Vue 3 en «Здравсервис» — es la evidencia más directa de que puede aprender un framework nuevo en producción, que es exactamente lo que este puesto exigiría con React. **Preguntas red-flag y cómo responderlas:** - *"Vemos que tu experiencia es en Vue, no React — ¿por qué deberíamos considerarte para este puesto Junior?"* → Honestidad directa + evidencia concreta: ya hizo esta transición de framework una vez (Flutter → Vue 3) en producción real, en semanas, sin experiencia previa. - *"¿Por qué buscarías un puesto Junior teniendo ya experiencia de dueño de producto?"* → Respuesta honesta: el interés sería aprender React remunerado; sería razonable pedir aclaración sobre banda salarial y alcance real de responsabilidades antes de avanzar, ya que un desajuste de nivel/comp descartaría el puesto rápidamente. ## G) Posting Legitimacy **Assessment: Proceed with Caution** | Señal | Resultado | |---|---| | Especificidad de la descripción | Media — incluye dirección física exacta (Perm, ул. Куйбышева, 95Б), horario 5/2, beneficios (DMS con estomatología, T-Upgrade, compensación de comida/transporte), pero los requisitos técnicos son muy genéricos (1 año de experiencia, sin detalle de proyecto/equipo/producto específico) | | Empresa | Т-Банк — banco/fintech grande y verificable, sin señales de estafa | | Reposting / historial | `data/scan-history.tsv` muestra que esta misma URL ya fue escaneada el 2026-07-07 (fuente: telegram-api) — una sola aparición, no hay patrón de repost sospechoso | | Freshness de la publicación | No verificado (batch mode) — Playwright no disponible en este contexto; no se pudo confirmar el estado exacto del botón "Responder" ni días desde publicación | | Señales de mercado / despidos | No se encontraron señales de freeze o layoffs en la búsqueda de comp (Bloque D); la empresa aparece descrita como reclutadora activa en el mercado fintech ruso | **Nota:** posting freshness unverified (batch mode). Se marca "Proceed with Caution" (en vez de "High Confidence") porque la descripción es notablemente más genérica que otras vacantes de Т-Банк evaluadas previamente (menos detalle de stack/equipo/proyecto) — no hay señal de fraude, pero sí menos información verificable que en el caso típico "High Confidence". --- ## Keywords extraídas React, JavaScript, Node.js, UI-Kit, internal libraries, frontend, client interfaces, internal tools, Perm, hybrid, remote, 5/2 schedule, junior, T-Upgrade, banking, fintech, mentoring, continuous learning, DMS, meal compensation, transportation compensation, higher education