* Salário: R$ 11.000 a R$ 20.000 por mês (estimado)
* O valor exibido é uma estimativa calculada com base em dados públicos e referências do mercado. Não garantimos que este seja o salário oferecido para esta vaga específica.
Área: Tecnologia da Informação
Nível: Senior
Engenheiro(a) de Software - Sênior (Remoto)
Você conhece a Icon?
Apaixonados por pessoas e especialistas em tecnologia. Nosso trabalho é encontrar talentos e soluções sob medida para os nossos clientes.
Vem encontrar o seu projeto ideal conosco e participar da comunidade ICON!
Sobre a Vaga
Código da vaga: A61625575783
Modelo de contratação: PJ
Buscamos uma liderança técnica focada em desenvolvimento mobile com sólida experiência na stack React Native e histórico comprovado no lançamento e evolução de aplicativos de grande escala no mercado.
Como Engenheiro(a) de Software Sênior, você será referência para o time na construção de soluções performáticas, escaláveis e seguras. Esperamos um profissional profundamente engajado com o ecossistema mobile, que domine as nuances da plataforma e possua mais de 7 anos como desenvolvedor, com no mínimo, 5 anos de experiência contínua atuando com React Native. Vivência prévia com outras tecnologias nativas ou web é muito bem-vinda, mas o seu foco diário será 100% direcionado a extrair o potencial máximo da nossa stack mobile.
Você atuará em um time cujo objetivo é definir e disseminar boas práticas e padrões de desenvolvimento, fazer pesquisas por novas ferramentas e features (incluindo IA e assistentes de código), além de apoiar os outros devs em caso de necessidade.
Além da excelência técnica, esta posição exige forte maturidade corporativa e inteligência interpessoal. Você precisará demonstrar excelente comunicação, capacidade para conduzir projetos de ponta a ponta com autonomia e habilidade para negociar prioridades técnicas com stakeholders, garantindo que as soluções tenham equilíbrio entre qualidade de código e valor entregue ao negócio.
Conhecimento Técnico Requerido:
- JavaScript: É necessário ter domínio completo, incluindo:
* Prototipagem e herança baseada em protótipos
* Closure, escopo e hoisting
* Event loop e assincronicidade (Promises, async/await, Promise.all)
* Funções puras, currying e funções de alta ordem
* Manipulação avançada do DOM (Shadow DOM, delegação de eventos)
* Gestão de memória (Garbage collection)
* Módulos e sistema de build (Webpack, import/export de módulos)
* Ferramentas e otimização (Linters, Prettier, debugging com DevTools) - TypeScript: É necessário ter domínio avançado, incluindo:
* Tipagem estática e inferência de tipos
* Generics, mapped types, utility types
* Classes, interfaces e herança
* Overloads e funções assíncronas tipadas
* Noções de configuração do tsconfig.json e arquitetura de tipos em monorepos - React Native:
* React: Domínio completo do React e suas apis.
* Environment Setup: Diferenciar quando usar Expo e quando usar React Native CLI
* Metro Bundler: Noções básicas de como funciona
* Estilização e layout: Usar Flexbox com StyledComponents e StyleSheet
* Gerenciamento de estado: Usar Redux ou Context API
* Integração de APIs: Utilizar React Query e Apollo
* Storage permanente: Usar Async Storage e MMKV
* APIs nativas: Integração e gerenciamento de permissões do sistema operacional
* Navegação: Usar React Navigation
* Testes: Utilizar Jest (com @testing-library e extensões) e Detox
* Otimização de desempenho: Trabalhar com frame rate, Garbage Collection, RAM Bundles, Inline Require, profiling
* Depuração: Dominar Reactotron, Flipper ou DevTools
* Native Modules: Noções básicas de criação com Swift e Kotlin
* CI/CD: Fastlane, Github Actions e noções básicas de python/ruby para os scripts de build"
Conhecimento Técnico Desejável:
- Ferramentas de busca (Algolia, Elastic Search, etc)
- Python e integrações básicas com LLMs (OpenAI API, LangChain) para prototipagem de features inteligentes.
Competências Técnicas:
- Domínio Avançado do Ecossistema React Native
* Arquitetura de Estado e Dados: Domínio de ferramentas como Redux Toolkit, Zustand ou TanStack Query (React Query) para gerenciar cache de produtos e estados de carrinho de forma eficiente.
* Performance & Rendering: Capacidade de diagnosticar memory leaks e utilizar TurboModules.
* Segurança em E-commerce: Definir boas práticas para checkout, como ofuscação de código, armazenamento seguro de tokens (Keychain). - Engenharia de Software e Qualidade (Boas Práticas)
* Design Patterns & Clean Architecture: Aplicação de padrões para separar a lógica de negócio (regras de cupom, frete) da camada de UI.
* Estratégia de Testes: Definição da pirâmide de testes, desde unitários (Jest) e de integração até E2E para fluxos críticos como o fechamento de pedido.
* Modularização: Capacidade de quebrar o app em pacotes ou micro-frontends (se necessário) para permitir que múltiplas squads trabalhem no mesmo repositório sem conflitos constantes. - Gestão de Releases e DevOps Mobile
* CI/CD Automatizado: Configuração e manutenção de pipelines via GitHub Actions para automação de builds e testes.
* Gestão de Lojas (App Store & Play Store): Conhecimento profundo sobre os processos de revisão, conformidade de privacidade e gestão de certificados/assinaturas.
* Observabilidade: Implementação e análise de ferramentas de monitoramento de erros (New Relic) e analytics (Firebase) para prever quedas antes que os usuários reclamem. - Integração
* Bridging & Expo Modules: Saber como e quando criar módulos personalizados para funcionalidades como leitura de código de barras, biometria e Deep Linking.
* Push Notifications: Estratégia de mensageria complexa (segmentação, rich notifications) para engajamento de vendas. - Radar Tecnológico e Materialização
* Agentes de IA & Engenharia de Prompt no Mobile: Capacidade de integrar e consumir serviços de IA generativa no app (ex: chatbots inteligentes de suporte, assistentes de compras personalizados por voz/texto, agentes locais ou baseados em API que automatizam tarefas para o usuário).
* Análise de ROI Técnico: Avaliar se a migração para uma nova biblioteca ou versão do React Native traz ganho real de performance ou produtividade.
* Proof of Concept (PoC): Capacidade de construir protótipos rápidos para testar novas tecnologias (ex: IA para busca de produtos, realidade aumentada para vitrine virtual).
* Cultura de Documentação: Materializar as decisões técnicas em RFCs (Request for Comments) e Style Guides para que as squads tenham autonomia.
#vemserICON
