Acreditamos no poder transformador da tecnologia e na sua capacidade de contribuir para a construção de uma sociedade mais diversa e inclusiva. Como a maior empresa brasileira de tecnologia, temos o compromisso com uma política e programa de diversidade e inclusão para termos um ecossistema cada vez mais representativo, respeitoso e acolhedor. Desenvolver e sustentar funcionalidades de software , que agreguem valor ao produto, garantindo a satisfação do cliente dentro do segmento de atuação. O QUE VOCÊ VAI FAZER: Desenvolver soluções técnicas de média e alta complexidade, com baixo nível de supervisão e pouco apoio, através do desenvolvimento de requisitos de softwares utilizando-se das tecnologias back-end envolvidas no projeto; Conhecer a fundo a arquitetura back-end do software e ser capaz de atuar nela através da análise de seus componentes, organização e funcionalidades; Criar testes de alta complexidade, sejam estes manuais ou automatizados, que cubram o comportamento desejado dos componentes técnicos desenvolvidos utilizando os requisitos e ferramentas de testes; Documentar as etapas de desenvolvimento realizando o registro nas ferramentas de versionamento e documentação; Orientar e trabalhar com o time de desenvolvimento para encontrar soluções de negócio, arquitetura e desenho através da comunicação e trocas de conhecimento; Manter a qualidade do software verificando os processos, ferramentas e boas práticas disponíveis para o produto e tecnologia utilizados; Orientar desenvolvedores de menor senioridade apoiando suas dúvidas, disseminando seu conhecimento, desenhando e arquitetando soluções ou indicando documentação de apoio; Detalhar requisitos de média através do contato com clientes e áreas envolvidas no projeto/atendimento; Cria framework se necessário para o desenvolvimento de suas soluções. O QUE ESPERAMOS DE VOCÊ: Formação: Superior completo em tecnologia e afins (desejável). Lógica de Programação; Linguagem de programação Java – nível avançado; Fundamentos em Spring – nível avançado; Fundamento em testes unitários - nível avançado; Banco de Dados – nível avançado; Métodos ágeis de desenvolvimento de software – desejável nível intermediário; Formação Superior na área de TI. É importante conhecer os conceitos de microsserviços, microfrontend e experiência com teste de API. DIFERENCIAIS: Comunicação assíncrona entre serviços (RabbitMq); Arquitetura Hexagonal; Conhecimento do mercado de logística; Conhecimento prático de modelagem DDD; Conhecimento prático de DevOps; Projetos disponíveis para avaliação no Git; Aplicação de testes unitários de forma automatizada com JUnit com mockito. Experiência com desenvolvimento front-end em Angular 2+