Pleno 1
Objetivo do Nível
Atuar com autonomia técnica em funcionalidades de ponta a ponta, tomando decisões de arquitetura local e garantindo a qualidade do código através de mentoria aos níveis Júnior. Possui visão clara do impacto do design e do QA no desenvolvimento.
Objetivo esperado: Desenvolve uma feature completa (ex: Módulo de Teleconsulta) do zero, definindo Sagas, Mutations e tratando erros de negócio complexos com classes customizadas.
Critérios de Conhecimento
Fundamentos
- Clean Code: Aplicação prática dos princípios SOLID e DRY.
- TS Especialista: Mapeamento de tipos complexos, Inferência de tipos em Generics, domínio total de Interfaces vs Types.
React Core
- Patterns de Reutilização: Domínio total de composição, slots e compound components para criar bibliotecas internas.
- Portals: Uso de
createPortalpara modais e overlays complexos.
State
- State Machines: Noções de como modelar estados complexos (ex: XState) para fluxos de negócio.
- Redux Saga Avançado: Uso de
fork,spawn,alle gerenciamento de concorrência refinado. Ver guia de Redux Saga.
Design Patterns
- Container-Presenter: Domínio da separação entre lógica (hook) e visual (screen) seguindo o guia de Hooks e Page.
- Inversão de Controle: Uso de padrões que permitem maior flexibilidade nos componentes do Design System.
Arquitetura
- Modularização: Capacidade de dividir o sistema em módulos independentes e reutilizáveis.
- SoC (Separation of Concerns): Aplicação rigorosa em todas as camadas seguindo o guia de SoC.
- Conceitos: Domínio total de KISS, YAGNI e CI/CD (entendimento do pipeline) em decisões arquiteturais.
Performance/Render
- Memory Leaks: Identificação e correção de vazamentos de memória em aplicações complexas.
- Otimização de Asset: Gerenciamento de imagens, fontes e ícones para performance.
Testes
- TDD (Test Driven Development): Capacidade de iniciar o desenvolvimento guiado pelo guia de TDD em utilitários e regras de negócio.
- Mocking Strategy: Definir estratégias de mock consistentes para o time.
Rede
- BFF (Backend for Frontend): Entender a arquitetura conforme o guia de BFF e como consumir dados agregados.
- Streaming de Dados: Noções de consumo de APIs via stream/chunks.
Segurança
- Content Security Policy (CSP): Entendimento profundo de como as políticas de segurança afetam o carregamento de scripts e estilos.
- Headers de Segurança: Conhecimento de headers como
HSTS,X-Content-Type-OptionseReferrer-Policy. - Ataques de Injeção: Prevenção ativa contra injeções de JSON e manipulação de dados em trânsito.
- DOM Clobbering: Reconhecimento e mitigação de ataques que exploram a estrutura do DOM.
- Segurança na Cadeia de Suprimentos: Noção de como proteger nossas dependências.
- Análise de Ferramentas: Uso de ferramentas SAST/DAST.
Entregáveis Esperados
- Documentação técnica de novas funcionalidades complexas.
- Revisão de código focada em arquitetura e padrões técnicos.
- Criação de novos componentes base para o Design System.
Como fazer vs Como não fazer
Como fazer
- Antecipar problemas de performance em features com muitos dados.
- Colaborar ativamente no Design Handoff.
- Manter o README e as documentações técnicas atualizadas.
Como não fazer
- Aceitar Pull Requests que quebrem os padrões de arquitetura sem dar feedback construtivo.
- Criar soluções "mágicas" ou complexas demais que ninguém consiga manter.
- Ignorar o custo de manutenção de bibliotecas externas adicionadas ao projeto.