Ciandt

[Job 29235] Senior Android Developer, Brazil

Apply Now

Job Description

Sua missão:
  • Atender junto com a CI&T um cliente do mercado de Mídia;
  • Escrever código limpo, de fácil manutenção, utilizando as melhores práticas de desenvolvimento de software;
  • Projetar soluções usando frameworks apropriados;
  • Identificar oportunidades de melhoria;
  • Trabalhar de forma colaborativa com outros membros da equipe, incluindo desenvolvedores, designers e stakeholders, para garantir o sucesso dos projetos;
  • Fazer revisões de código;
  • Garantir um ambiente de desenvolvimento estável e produtivo;
  • Exercer liderança técnica como referência no time, influenciando e orientando desenvolvedores mais júniores;
  • Disponibilizar-se para realizar onboarding e ambientação de novos desenvolvedores;
  • Orientar e guiar o pareamento, trazendo discussões técnicas ricas e propondo melhorias de código;
  • Desenvolver um senso de propriedade sobre o que está sendo construído;
  • Abertura para aprender como usar ferramentas amplamente adotadas na pilha de tecnologia;
  • Participar ativamente na resolução de problemas complexos, identificando oportunidades de melhoria e propondo soluções inovadoras;
  • Entender o contexto de negócio do cliente, o funcionamento de uma empresa de mídia, o impacto das features desenvolvidas e a relação com os usuários;
  • Visualizar e comunicar oportunidades de melhoria para o negócio e para a jornada de outras pessoas;
  • Buscar o equilíbrio entre questões técnicas e de entrega, sabendo quando aprofundar em uma investigação ou pedir ajuda;
Você precisa ter prática com:
  • Proficiência em Java e total domínio da linguagem Kotlin, com capacidade analítica para propor refactorings complexos;
  • Profundo conhecimento em repositories e use cases;
  • Conhecimento em padrões de projeto (principalmente MVVM) e suas variações;
  • Domínio dos aspectos do Android SDK de forma aprofundada, incluindo gerência de atualização de bibliotecas, otimização de hierarquia de views e configuração de regras em arquivo ProGuard;
  • Maestria na utilização da IDE Android Studio, com profundo conhecimento de atalhos, recursos e ferramentas de depuração de layout, rede e recursos;
  • Experiência na criação de interfaces/componentes escaláveis em projetos de larga escala;
  • Experiência com programação reativa (RxJava, LiveData, Flow);
  • Conhecimento avançado de Lifecycle;
  • Experiência com injeção de dependência e Android Architecture Components;
  • Gerenciamento de dependências (Gradle, Maven);
  • Necessário ter domínio na implementação/manutenção de queries em GraphQL, incluindo conceitos aprofundados como agrupamento em fragments, operações em queries (union, etc), utilização de playground para testes e visão analítica para refatorar queries;
  • Conhecimento avançado em técnicas de versionamento, resolução de conflitos, merges e rebases, rollback de commits e tags;
  • Experiencia com técnicas de CI/CD para automação de pipeline, criação/manutenção de fluxos e conhecimento em ferramentas como Bitrise;
  • Experiência com implementação de banco de dados SQLite e manipulação de dados, bem como domínio em criação de cache e técnicas de resiliência para persistência de dados;
  • Experiência com técnicas de monitoramento de tráfego de dados/rede;
  • Domínio de TDD e aplicação de testes unitários, testes instrumentados, automatizados de interface e fluxo de navegação;
  • Experiência com BDD (Behavior-Driven Development);
  • Conhecimento em conceitos avançados de segurança, incluindo segurança de dados, encriptação, certificados, autenticação biométrica/facial e JWT;
  • Experiência em técnicas de monitoramento e otimização de performance de apps, especialmente em dispositivos AndroidTV, com eficiência energética e uso eficiente de memória;
  • Domínio de ferramentas/técnicas de monitoração de recursos como Android Profiler e Traceview;
  • Experiência com Custom Views;
  • Experiência na criação de layouts performáticos com diferentes ViewGroups;
  • Conhecimento em acessibilidade;
  • Experiência com Firebase, Google Analytics e Crashlytics;
Desejável:
  • Experiência com a comunidade Android e produção de conteúdo relevante, como artigos, documentações, talks, apresentações ou palestras sobre temas do universo Android;
  • Experiência com gerenciamento de conflitos em atualizações de bibliotecas de times parceiros;
  • Domínio de Jetpack Compose;
  • Conhecimento em ferramentas de análise de dados de tráfego de rede (network inspector, charles proxy, etc.);
  • Capacidade de guiar o pareamento e trazer discussões ricas, propondo melhorias no código;
  • Projetos "forkeados" e/ou PRs submetidos em repositórios expressivos da comunidade;
  • Conhecimento em metodologias ágeis (Scrum, Kanban e outros);
  • Experiência em liderar projetos;