Desenvolvedor(a) Frontend Sênior — React

4Solution Group · São Paulo, SP, BR

**Código da Vaga:** 1724 ### **Empresa** ### **Área(s) de Atuação** TI \- Desenvolvimento/Programação **Tecnologia(s):** React ### **Descrição da Vaga** Período: indeterminado Remoto ### **Requisitos** **Conhecimentos técnicos** -------------------------- * Experiência sólida com desenvolvimento frontend em React. * Domínio do React 19 e de seus principais recursos. * Conhecimento avançado de JavaScript e/ou TypeScript. * Domínio de HTML, CSS, responsividade e compatibilidade entre navegadores. * Experiência com componentização e criação de componentes reutilizáveis. * Conhecimento de gerenciamento de estado, hooks, roteamento e integração com APIs. * Conhecimento de boas práticas de performance frontend. * Experiência com aplicações escaláveis e de médio ou grande porte. * Conhecimento de acessibilidade digital. * Conhecimento de Web Vitals e otimização de carregamento. * Experiência com organização e modularização de projetos frontend. * Conhecimento de padrões de projeto e princípios de código limpo. * Capacidade de trabalhar com aplicações legadas e propor melhorias graduais. * Conhecimento de controle de versão e fluxo de trabalho com Git. ** ****React 19** ----------------- * Desenvolver aplicações utilizando React 19\. * Criar componentes reutilizáveis, performáticos e fáceis de manter. * Utilizar corretamente hooks, composição de componentes e gerenciamento de ciclo de vida. * Avaliar o impacto de novas funcionalidades do React na arquitetura existente. * Evitar renderizações desnecessárias e problemas de performance. * Garantir organização, legibilidade e consistência no código React. * Aplicar boas práticas para separação de responsabilidades. * Criar soluções compatíveis com a evolução futura da aplicação. **Arquitetura frontend** ------------------------ * Compreender a arquitetura atual do projeto. * Contribuir para a evolução da arquitetura frontend. * Definir a melhor organização para páginas, módulos, componentes, serviços e estados. * Avaliar impactos técnicos antes da implementação de novas funcionalidades. * Identificar acoplamentos desnecessários, duplicações e pontos de complexidade. * Propor soluções escaláveis e sustentáveis. * Avaliar diferentes abordagens técnicas e seus impactos. * Considerar performance, segurança, testabilidade e facilidade de manutenção. * Garantir que as novas implementações respeitem os padrões arquiteturais do projeto. * Contribuir para a documentação de decisões técnicas. * Manter equilíbrio entre velocidade de entrega e qualidade estrutural do código. * Evitar soluções excessivamente complexas ou que gerem dívida técnica desnecessária. **Design System** ----------------- * Utilizar corretamente o Design System da empresa. * Respeitar componentes, tokens, padrões visuais e regras de usabilidade. * Garantir consistência visual e comportamental na aplicação. * Reutilizar componentes existentes sempre que possível. * Identificar quando é necessário adaptar ou criar novos componentes. * Trabalhar em conjunto com o time responsável pelo Design System. * Contribuir para a evolução dos componentes compartilhados. * Considerar acessibilidade, flexibilidade, performance e manutenção dos componentes. * Evitar a criação de soluções paralelas que gerem inconsistência visual. * Garantir que as implementações estejam alinhadas ao padrão visual definido pela empresa. **UX e colaboração com Design** ------------------------------- * Participar das discussões de UX desde o início das funcionalidades. * Avaliar fluxos, jornadas, estados de tela e possíveis problemas de usabilidade. * Discutir soluções com o time de Design. * Apresentar limitações e possibilidades técnicas de forma clara. * Sugerir melhorias na experiência do usuário. * Questionar decisões de UX quando houver impactos negativos técnicos ou de usabilidade. * Avaliar estados de carregamento, erro, sucesso, vazio e indisponibilidade. * Considerar acessibilidade e responsividade nas decisões de interface. * Encontrar soluções equilibradas entre experiência, prazo e viabilidade técnica. * Garantir que o design seja traduzido corretamente para a implementação frontend. **Entregas e produtividade** ---------------------------- * Realizar entregas rápidas sem comprometer a qualidade do código. * Dividir funcionalidades complexas em entregas menores e incrementais. * Identificar riscos, dependências e impedimentos com antecedência. * Priorizar atividades de maior valor para o produto. * Tomar decisões pragmáticas e tecnicamente responsáveis. * Comunicar impactos técnicos e riscos relacionados aos prazos. * Garantir previsibilidade nas entregas. * Reduzir retrabalho por meio de planejamento e entendimento adequado da demanda. * Entregar funcionalidades com código limpo, testável e sustentável. * Equilibrar velocidade, escopo, qualidade e manutenção futura. **Revisão de Pull Requests** ---------------------------- * Avaliar Pull Requests com atenção à qualidade e à legibilidade do código. * Verificar se a implementação s