DESENVOLVEDOR(A) BACKEND/FULL STACK JAVA
Description
• Desenvolver, evoluir e manter aplicações Backend utilizando Java e Spring Boot;
• Desenvolver e manter APIs REST e integrações entre sistemas corporativos;
• Projetar, desenvolver e evoluir soluções baseadas em arquitetura de microsserviços;
• Implementar integrações síncronas e assíncronas utilizando mensageria com RabbitMQ;
• Desenvolver soluções seguindo arquitetura orientada a eventos e alta disponibilidade;
• Trabalhar com bancos de dados relacionais e NoSQL, realizando modelagem, consultas e otimização de performance;
• Aplicar boas práticas de engenharia de software utilizando Clean Code, SOLID e Design Patterns;
• Desenvolver código limpo, sustentável, reutilizável e de fácil manutenção;
• Criar e manter testes unitários e testes de integração garantindo qualidade das entregas;
• Utilizar Git para versionamento de código e colaboração entre equipes;
• Participar de Code Reviews, contribuindo para a evolução técnica e padronização do código;
• Investigar, diagnosticar e solucionar problemas em aplicações, integrações e ambientes produtivos;
• Participar de discussões técnicas e contribuir para decisões relacionadas à arquitetura e evolução das soluções;
• Atuar de forma colaborativa com demais desenvolvedores, analistas e áreas de negócio durante todo o ciclo de desenvolvimento de software.
Required Requirements
• Experiência sólida com Java 11 ou superior;
• Experiência sólida com Spring Boot 2 ou superior;
• Experiência no desenvolvimento de APIs REST;
• Experiência com arquitetura de microsserviços;
• Conhecimento em comunicação síncrona e assíncrona entre serviços;
• Experiência com mensageria utilizando RabbitMQ;
• Conhecimento em OAuth 2.0 e OpenID Connect (OIDC);
• Experiência com bancos de dados relacionais, preferencialmente PostgreSQL;
• Experiência com bancos de dados NoSQL/documentais, preferencialmente MongoDB;
• Conhecimento em JPA, Hibernate e Spring Data;
• Experiência com Git e fluxo de desenvolvimento baseado em branches;
• Conhecimento em orientação a objetos;
• Domínio de Clean Code, princípios SOLID e Design Patterns;
• Experiência com testes unitários e de integração utilizando JUnit, Mockito ou ferramentas equivalentes;
• Capacidade de desenvolver soluções escaláveis, performáticas e de alta disponibilidade;
• Capacidade de compreender regras de negócio e traduzi-las em soluções técnicas;
• Perfil com autonomia na análise, desenvolvimento e implementação de soluções.
Differentials
• Experiência com Kubernetes;
• Experiência com Docker;
• Experiência com serviços em AWS;
• Vivência em projetos do segmento bancário ou financeiro;
• Conhecimento em CI/CD e pipelines de entrega contínua;
• Experiência com aplicações distribuídas de alta disponibilidade;
• Conhecimento em observabilidade, monitoramento, métricas e logs;
• Experiência com padrões de resiliência e tolerância a falhas em microsserviços.