




Resumo: Junte-se ao Centro de Tecnologia da América Latina da Uber como Engenheiro de Software, colaborando no projeto, desenvolvimento e manutenção de interfaces de usuário e funcionalidades de aplicativos móveis para o Uber para Famílias e o Uber para Adolescentes. Pontos principais: 1. Desenvolver e manter interfaces de usuário de aplicativos móveis para Android 2. Colaborar com engenheiros para construir e manter serviços de back-end 3. Contribuir para tecnologias sofisticadas no novo Centro de Tecnologia da Uber **Sobre a vaga** O Uber para Famílias foi criado para organizadores familiares que desejam compartilhar seu perfil de pagamento com seus entes queridos para pagar, gerenciar limites de gastos e acompanhar convenientemente seu status e ETA quando os convidam a ingressar no seu Perfil Familiar. O Uber para Adolescentes é uma experiência personalizada dentro do Uber para Famílias, exclusiva para jovens. Contas de adolescentes oferecem aos jovens a liberdade de solicitar suas próprias corridas, todas sob supervisão de seus responsáveis. Além disso, com recursos de segurança em tempo real e atualizações instantâneas, o responsável pode acompanhar a corrida desde a retirada até o destino final. Ao integrar a equipe, você colaborará com os demais membros para projetar, desenvolver e manter interfaces de usuário e funcionalidades de aplicativos móveis (Android). Como Engenheiro de Software na Uber, você fará parte do primeiro Centro de Tecnologia da Uber na América Latina! Inicialmente, nosso foco está em tecnologias sofisticadas para melhorar a segurança em todo o mundo, como telemática avançada, aprendizado de máquina, sistemas distribuídos em grande escala, processamento de dados em tempo real e desenvolvimento móvel, entre outros. **O que o candidato fará** * Colaborar com outros engenheiros para construir e manter serviços e soluções de back-end que suportem produtos voltados ao usuário final, serviços downstream ou ferramentas e plataformas de infraestrutura utilizadas em toda a Uber, por milhões de passageiros e motoristas em todo o mundo; * Trabalhar nas aplicações mais complexas da Uber, projetando, implementando e testando unitariamente o código dos aplicativos móveis; * Trabalhar com Gerentes de Produto e Designers para aprimorar experiências de usuário; * Impulsionar melhorias contínuas de eficiência e confiabilidade por meio de projeto e automação: disponibilidade, desempenho, escalabilidade, monitoramento e capacidade; * Liderar dependências upstream e downstream, colaborar com outras equipes de engenharia, capturar requisitos, evoluir soluções e possibilitar sua adoção bem-sucedida; * Criar frameworks e abstrações confiáveis, reutilizáveis e que evitem resultados inesperados; * Ser a pessoa de referência para esclarecer enunciados de problemas e também capaz de dividi-los em tarefas significativas; Promover e demonstrar expertise específica para cada problema e excelência na execução para entregar resultados. * **Qualificações básicas** * Graduação em Ciência da Computação, Engenharia, Matemática ou área correlata **E**/ **OU** experiência técnica total de +4 anos em engenharia de software; * Domínio de Java e Kotlin, com sólido conhecimento dessas duas linguagens de programação, comumente usadas no desenvolvimento para Android; * Experiência com o SDK do Android, com sólido conhecimento das bibliotecas, ferramentas e frameworks principais do Android. * Conhecimento dos princípios de design de UI/UX para Android, com experiência no projeto de interfaces de usuário responsivas e intuitivas; Habilidades avançadas em inglês para trabalhar com outros engenheiros e partes interessadas de diferentes regiões do mundo; * **Qualificações desejáveis** * Compreensão dos Componentes de Arquitetura do Android e de outros componentes arquiteturais para construção de aplicativos escaláveis e sustentáveis; * Familiaridade com as bibliotecas Jetpack para construção de aplicativos modernos para Android; * Expertise no uso de Kotlin Coroutines para gerenciamento de tarefas em segundo plano e código assíncrono; * Habilidades em perfis e otimização de aplicativos quanto ao desempenho, incluindo gerenciamento de memória, consumo de bateria e renderização suave da interface do usuário; * Profundo entendimento do ciclo de vida das Activities e Fragments do Android, incluindo o tratamento de mudanças de configuração e vazamentos de memória; * Experiência com frameworks de teste para Android e familiaridade com ferramentas de depuração; * Conhecimento em ajuste de desempenho, usabilidade e testes automatizados; * Bom entendimento de ferramentas de versionamento de código, como Git.


