Desejamos um Desenvolvedor Android Sênior
Estamos em busca de uma pessoa com profundo conhecimento do SDK Android, incluindo o gerenciamento de múltiplas versões do sistema e a adaptação a diferentes dimensões de tela.
Será responsável por desenvolver código limpo, eficiente e de alta qualidade a partir de designs e wireframes, projetar, implementar e manter código bem estruturado, reutilizável e com excelente performance.
Além disso, precisará identificar e solucionar bugs, otimizando gargalos de performance, contribuir ativamente para a arquitetura do sistema, garantindo a qualidade do código e a robustez dos testes automatizados.
Aqui estão as principais responsabilidades:
* Desenvolvimento de Código: Desenvolver código limpo, eficiente e de alta qualidade a partir de designs e wireframes.
* Projetos e Manutenção: Projetar, implementar e manter código bem estruturado, reutilizável e com excelente performance.
* Identificação e Solução de Bugs: Identificar e solucionar bugs, otimizando gargalos de performance.
* Contribuição para a Arquitetura: Contribuir ativamente para a arquitetura do sistema, garantindo a qualidade do código e a robustez dos testes automatizados.
Para ter sucesso nesta posição, é necessário ter:
* Conhecimento do SDK Android: Profundo conhecimento do SDK Android, incluindo o gerenciamento de múltiplas versões do sistema e a adaptação a diferentes dimensões de tela.
* Conhecimentos em Java e Kotlin: Sólidos conhecimentos em Java e Kotlin.
* Desenvolvimento de Views e Animações Customizadas: Conhecimento em desenvolvimento de views e animações customizadas.
* Familiaridade com Serviços de Push Notification: Familiaridade com serviços de Push Notification (como Firebase Cloud Messaging) e seus gateways.
* Experiência com Ferramentas e Conceitos de Injeção de Dependência: Experiência com ferramentas e conceitos de Injeção de Dependência.
* Testes Unitários: Sólida compreensão e prática em testes unitários.
* Domínio dos Principais Padrões de Arquitetura de Software Mobile: Domínio dos principais padrões de arquitetura de software mobile, com capacidade de analisar prós e contras de diferentes abordagens, identificar desafios arquiteturais em fluxos de usuário e propor soluções inovadoras baseadas nas melhores práticas de mercado.
* Programação Reativa: Experiência com programação reativa (ex: RxJava/RxKotlin, Coroutines/Flow).
* Uso Prático de CI/CD: Uso prático de CI/CD para automação de builds (ex: Fastlane), coleta de artefatos e releases para diferentes públicos (Beta, Piloto e Produção).
* Vivência com A/B Testing: Vivência com a implementação e análise de testes A/B.
* Proficiência em Versionamento de Código com Git: Proficiência em versionamento de código com Git.