Atuação 100% Remoto – Projeto temporário inicialmente 30 dias
Requisitos técnicos:
- Profundo conhecimento em JavaScript e TypeScript (ES6+): Domínio da linguagem, incluindo funcionalidades modernas, conceitos assíncronos (Promises, async/await) e manipulação de APIs nativas.
- Experiência sólida com React Native e Expo: Compreensão dos princípios fundamentais (componentes, props, state, hooks, navegação), ciclo de vida dos componentes, Expo SDK, managed workflow vs bare workflow e melhores práticas para desenvolvimento mobile.
- Arquitetura Hexagonal: Implementação de Clean Architecture com separação clara entre domínio, aplicação e infraestrutura.
- Adapters Pattern: Criação de adapters para integração com APIs externas, serviços nativos, Expo modules e bibliotecas de terceiros.
- Presentation Layer: Estruturação da camada de apresentação com separação entre UI components, containers e view models.
- Dependency Injection: Implementação de inversão de dependências para desacoplamento de módulos.
- Análise e formatação de código: Domínio de ESLint, Prettier e configurações específicas para React Native/Expo.
- Storybook: Experiência na criação e manutenção de design system com Storybook para React Native, documentação de componentes e desenvolvimento isolado.
- State Management: Experiência com Redux Toolkit, Zustand, Context API ou Jotai, aplicando padrões adequados para aplicações mobile.
- Persistência: Implementação de estado persistente SQLite, Expo SecureStore, AsyncStorage ou MMKV.
- Expo Router: Domínio do sistema de roteamento file-based do Expo para criação de navegação stack, tab, drawer e modal.
- React Navigation: Experiência com React Navigation como alternativa ao Expo Router para navegação complexa.
- Deep Linking: Configuração e implementação de deep links e universal links utilizando Expo Linking.
- NativeWind: Proficiência na utilização do NativeWind para estilização com Tailwind CSS em React Native/Expo.
- Expo SDK: Experiência com módulos do Expo como Camera, Location, Notifications, FileSystem, ImagePicker.
- Responsive Design: Desenvolvimento de interfaces adaptáveis para diferentes tamanhos de tela e orientações usando Expo Screen Orientation.
- Design System: Criação e manutenção de componentes reutilizáveis seguindo padrões de design.
- OneSignal: Integração e configuração de push notifications com Expo Notifications e OneSignal, segmentação de usuários e campanhas.
- Expo Notifications: Configuração nativa de notificações push utilizando o sistema do Expo.
- SDK de Marketing: Implementação de SDKs de analytics (Expo Analytics, Firebase Analytics, Amplitude), attribution (Adjust, AppsFlyer) e marketing automation.
- Event Tracking: Implementação de tracking de eventos customizados e métricas de engajamento.
- Testing Strategy: Escrita de testes unitários com Jest, testes de componentes com React Native Testing Library.
- EAS Build CI/CD: Configuração de pipelines de integração contínua com EAS Build e GitHub Actions.
- Expo Development Build: Criação e configuração de development builds para testing em dispositivos físicos.
Habilidades Comportamentais
- Excelente comunicação: Habilidade para comunicar ideias técnicas de forma clara e eficaz com outros membros da equipe (designers, backend, QA).
- Proatividade: Iniciativa para buscar soluções, identificar problemas e propor melhorias na interface e no código.
- Trabalho em equipe: Capacidade de colaborar efetivamente com outros desenvolvedores e participar de discussões técnicas.
- Pensamento analítico: Habilidade para analisar requisitos, identificar problemas e propor soluções eficientes no frontend.
- Atenção aos detalhes: Cuidado na implementação de interfaces visuais e na qualidade do código.
- Aprendizado contínuo: Interesse em acompanhar as novidades e tendências do ecossistema React e JavaScript.
- Organização: Capacidade de gerenciar tarefas e prioridades em um ambiente de desenvolvimento ágil.
- Foco no usuário: Mentalidade de criar interfaces intuitivas e agradáveis para o usuário final.
Diferenciais:
- Experiência com Server-Side Rendering (SSR) ou Next.js: Conhecimento em otimizar o SEO e o desempenho inicial das aplicações React;
- Conhecimento em otimização de performance front end: técnicas para melhorar a velocidade de carregamento e a responsividade das aplicações.
- Capacidade de identificar e solucionar erros em produção.
- Experiência com testes end-to-end (Cypress): Garantia da funcionalidade completa da aplicação.
- Contribuições para projetos Open Source em React ou no ecossistema JavaScript.
- Conhecimento em design systems e bibliotecas de componentes reutilizáveis.
- Experiência com ferramentas de prototipagem (Figma, Adobe XD).
- Inglês técnico (leitura e escrita) para acompanhar a documentação e as novidades da área.
Área de Atuação: Desenvolvedor
Especialização: Front-end
Tecnologias: React React Native
Senioridade: Pleno Sênior
Atuação: Remota