Caro usuário, habilite o javascript para que esse site funcione corretamente.

Engenheiro(a) de Software - Sênior (Remoto)

* 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:

  1. 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)
  2. 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
  3. 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:

  1. Ferramentas de busca (Algolia, Elastic Search, etc)
  2. Python e integrações básicas com LLMs (OpenAI API, LangChain) para prototipagem de features inteligentes.


Competências Técnicas:

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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