Descrição
Resumo:
Procuramos um Desenvolvedor Sênior React Native para refatorar, estabilizar e modernizar um aplicativo móvel crítico para a missão, assumindo total responsabilidade por seu desenvolvimento e manutenção.
Pontos de destaque:
1. Propriedade total de um aplicativo móvel crítico para a missão
2. Oportunidade de refatorar, estabilizar e modernizar um grande sistema em produção
3. Foco em arquitetura voltada para offline primeiro e funcionalidades de geolocalização
Estamos procurando um **Desenvolvedor Sênior React Native** experiente para assumir total responsabilidade por um **aplicativo móvel crítico para a missão**, construído exclusivamente com React Native puro (sem Expo). Esse aplicativo é utilizado em larga escala, em tempo real, por clientes e desempenha um papel central nas operações diárias.
Originalmente desenvolvido como um MVP, o aplicativo evoluiu para um grande sistema em produção. Como resultado, partes da base de código não estão totalmente alinhadas às melhores práticas modernas do React Native. Seu foco principal será **refatorar, estabilizar e modernizar** o aplicativo, continuando a entregar novos recursos sem interromper o uso contínuo.
**RESPONSABILIDADES:**
* **Propriedade do Aplicativo (Extremo a Extremo):** Assumir total responsabilidade pelo aplicativo móvel — desenvolvimento, lançamentos, monitoramento de problemas em produção e manutenção contínua nas plataformas iOS e Android.
* **Refatoração Principal e Estabilização:** Refatorar o aplicativo existente seguindo as melhores práticas (arquitetura, gerenciamento de estado, desempenho, manutenibilidade), sem quebrar fluxos de trabalho reais.
* **Arquitetura Voltada para Offline Primeiro (Crítica):** Projetar e implementar um comportamento confiável voltado para offline primeiro para lidar com problemas reais de conectividade (estratégias de sincronização, persistência local, resolução de conflitos, degradação graciosa).
* **Geolocalização / GPS (Crítico):** Implementar e manter funcionalidades de geolocalização, incluindo integração com GPS, atualizações de localização em segundo plano, tratamento de permissões e comportamento do ciclo de vida do aplicativo.
* **Integração de Capacidades Nativas:** Trabalhar com confiança com módulos nativos quando necessário (integrações em nível de Swift/Kotlin, se exigido, ou bibliotecas de ponte).
* **Desempenho e Confiabilidade:** Diagnosticar e resolver gargalos (renderização, memória, rede, execução em segundo plano) e melhorar a estabilidade do aplicativo em escala de produção.
* **Integração com Backend:** Integrar APIs REST e eventos em tempo real para suportar rastreamento e fluxos operacionais críticos para a missão.
* **Testes e Qualidade de Lançamento:** Manter uma forte disciplina de lançamento — estratégia de testes, prevenção de regressões e verificações de prontidão para produção.
* **Colaboração e Revisão:** Trabalhar com o líder técnico interno e a equipe em revisões, mantendo-se, contudo, o principal responsável pela execução móvel.
Requisitos:
**REQUISITOS TÉCNICOS**
**Obrigatórios:**
* **Engenheiro sênior React Native (sem curva de aprendizado):** 5+ anos em desenvolvimento móvel, 3+ anos com React Native, com comprovada responsabilidade por aplicativos em produção.
* **React Native puro (sem Expo):** Conforto para trabalhar diretamente com a CLI do React Native e pipelines nativos de construção.
* **Experiência com abordagem offline primeiro:** Experiência comprovada na construção e arquitetura de **aplicativos móveis offline primeiro** (armazenamento local, sincronização, resiliência).
* **Experiência com geolocalização / GPS:** Experiência prática na implementação de **geolocalização + GPS**, incluindo comportamento em segundo plano e fluxos de permissão.
* **Depuração de nível produtivo:** Capacidade sólida de solucionar problemas e estabilizar bases de código React Native complexas e legadas.
* **Entrega para iOS + Android:** Conforto para gerenciar lançamentos, submissões às lojas e problemas em produção em ambas as plataformas.
**Base Técnica Forte:**
* TypeScript + padrões modernos do React (hooks, arquitetura modular, gerenciamento de estado).
* Profundo entendimento do ciclo de vida do React Native, diferenças entre plataformas e restrições de execução em segundo plano.
* Conforto para integrar APIs REST e atualizações em tempo real.
**Desejável:**
* Experiência com desenvolvimento nativo (Swift/Kotlin) ou trabalho intenso com módulos nativos.
* Familiaridade com Firebase/FCM/APNs (especialmente para notificações).
* Exposição básica a testes E2E (Detox/Appium) e estratégia sólida de testes unitários/integrados.