Uma empresa, sediada nos EUA, com a missão de ajudar a financiar a construção da próxima geração de projetos de infraestrutura, está procurando contratar um Engenheiro Java Sênior. O desenvolvedor trabalhará diretamente sob o Vice-Presidente de Engenharia e será responsável por ajudar a empresa a alcançar seus objetivos comerciais e relativos aos produtos. A tecnologia avançada da empresa ajuda fornecedores a realizarem, em volumes maiores e com custos menores, empréstimos normais e sindicados, além de planos de empréstimo, para projetos de infraestrutura. Essa é uma oportunidade incrível para desenvolvedores apaixonados por lidar com problemas multifacetados.
Responsabilidades:
- Ajudar no design e implementação de grandes histórias de usuários
- Trabalhar com os líderes de desenvolvimento para atualizar o código e resolver problemas de escalabilidade, performance e recursos compartilhados
- Ajudar e guiar desenvolvedores juniores que usam os módulos
- Desenvolver APIs Java escaláveis, de alta performance e fácil manutenção usando Spring Boot e JPA
- Trabalhar com JUnit e Mockito para manter uma alta cobertura para os unit tests
- Colaborar com as equipes de engenharia de software e produtos para determinar as abordagens de implementação e identificar possíveis pontos cegos
- Servir como especialista técnico na hora de resolver problemas nas áreas de produtos, client success e vendas
- Participar de revisão de código, programação em pares e conhecer o processo de desenvolvimento para ajudar a implementar códigos novos, resolver bugs no código já existente e eliminar gargalos
- Trabalhar de maneira sincronizada com os desenvolvedores front-end para garantir uma boa experiência para os usuários finais no que toca à implementação de APIs
- Dividir tarefas complexas em outras menores e mais abordáveis, estimando a necessidade de tempo para cumprí-las
- Recomendar bibliotecas de terceiros para uso e implementação
- Oferecer uma segunda linha de suporte em termos de produção para a equipe
- Defender e implementar as melhores práticas de codificação e metodologias Agile
- Realizar revisão de código e manter-se em dia com as mais novas tecnologias e tendências da área, visando a ajudar na tomada de decisões mais informadas, quando o assunto é engenharia de software
Requerimentos:
- Bacharelado ou Mestrado em Engenharia ou Ciência da Computação (ou experiência equivalente)
- Ao menos 3 anos de experiência relevante como engenheiro de software
- Proficiência em programação com Java e Java Persistence API (JPA)
- Histórico comprovado entregando código de alta qualidade e fácil manutenção
- Entender sobre metodologias de testagem de software e frameworks de automatização de testes
- Ser capaz de solucionar bugs e diagnosticar e corrigir erros
- Proficiência com metodologias Agile e SCRUM
- Excelentes capacidades organizacionais e ser capaz de lidar com múltiplas tarefas ao mesmo tempo e entregá-las segundo a ordem de prioridade
- Fluência em inglês, de forma a ser capaz de explicar e discutir conceitos e ideias complexas com os membros da equipe e outros stakeholders interfuncionais de maneira clara
- Curiosidade intelectual e a capacidade de aprender rapidamente e se adaptar à evolução tecnológica
- Mentalidade de startup e ser capaz de resolver problemas criativamente
- Ser capaz de trabalhar bem em situações dúbias com poucas supervisão e realizando entregas em ritmo rápido
- Profundas capacidades de trabalhar colaborativamente, com inteligência cultural e emocional que lhe permitam trabalhar facilmente em um ambiente diverso
- Vasta experiência com JavaScript e seus frameworks
- Experiência construindo interfaces em sistemas de terceiros
- Experiência trabalhando com PostgreSQL e implementando SSO ou outras aplicações similares de grandes empresas
- Experiência com tecnologia em nuvem (AWS)
- Experiência profunda com serviços financeiros em um FinTech será um bom diferencial
- Experiência com outras tecnologias do stack da empresa: JavaScript, Vue, Quasar e AWS S3