Engenheiro(a) de Software Mobile Android (Remoto)
Publicada 16 de Outubro
Estamos em busca de uma pessoa Engenheira de Software Mobile Android para atuar no desenvolvimento e evolução de aplicações críticas, com foco em performance, segurança e experiência do usuário. Escopo de impacto: Aplicações críticas, performance em baixa conectividade e experiência do usuário.
Responsabilidades
- Desenvolver e evoluir aplicações Android críticas em Kotlin/Java, com arquitetura MVVM/Clean Architecture, Hilt e Navigation Component.
- Construir interfaces modernas com Jetpack Compose (ou Views avançadas), garantindo performance de layout, ausência de memory leaks e responsividade em baixa conectividade.
- Implementar estratégias offline-first, caching e sincronização de dados (Retrofit, OkHttp, Room, DataStore).
- Garantir segurança do app: secure storage, autenticação biométrica, SSL Pinning e criptografia de dados em repouso.
- Estruturar e escalar projetos multi-módulo, incluindo integrações nativas (JNI/C/C++) quando necessário.
- Implementar processamento em background (WorkManager, services, foreground services).
- Assegurar qualidade com testes unitários, de integração e UI (JUnit, Mockito, Espresso) e automação de testes.
- Monitorar crashes, performance e analytics (Firebase, Sentry), buscando zero crashes.
- Garantir acessibilidade (WCAG) e manter pipelines de CI/CD (GitHub Actions, Fastlane, Firebase Distribution).
- Colaborar com design, backend e QA, revisar código e mentorar o time.
Requisitos mínimos
- Kotlin & Java avançado: coroutines, Flow, collections, Java streams, memory management, padrões idiomáticos Kotlin.
- Android SDK & arquitetura: Activities, Fragments, Lifecycle; MVVM, Clean Architecture; Dependency Injection (Hilt); Navigation Component.
- UI/UX & performance: Jetpack Compose ou Views avançadas; layout performance, memory leaks; responsividade em baixa conectividade.
- Networking: HTTP client avançado (Retrofit, OkHttp); caching strategies, offline-first, sincronização de dados.
- Local storage & banco de dados: Room, SharedPreferences/DataStore, migrations, Repository pattern.
- Segurança: secure storage (Encrypted SharedPreferences), biometric authentication, SSL Pinning, data encryption at rest.
- Testes & QA: unit tests (JUnit, Mockito), integration tests, UI tests (Espresso), test automation.
- Analytics & observabilidade: crash reporting (Firebase, Sentry), performance monitoring, user analytics, error handling.
- Jetpack Compose: experiência com UI moderna declarativa e reativa.
- Multi-module architecture: escalabilidade de projetos grandes com separação de módulos e dependências.
- Native/JNI: integração com código C/C++ e otimizações de performance crítica.
- Background processing: WorkManager, services, foreground services.
- Acessibilidade: WCAG compliance; testes e implementação de acessibilidade.
- CI/CD & DevOps: GitHub Actions, Fastlane, Firebase Distribution; build optimization.
Habilidades comportamentais:
- Mentalidade user-centric: pensa no impacto para o usuário final; otimiza a experiência, não apenas funcionalidades.
- Visão de qualidade: preocupação com performance, estabilidade e UX; busca zero crashes.
- Autonomia: toma decisões técnicas com confiança e resolve problemas com mínima supervisão.
- Colaboração: trabalha bem com design, backend e QA; participa de decisões de produto.
- Mentoria: compartilha conhecimento, revisa código com paciência e didática e eleva o tempo.
Senioridade não é sobre ter tudo: buscamos profundidade técnica, pensamento crítico, ownership e capacidade de evoluir a arquitetura, não apenas execução.