[Job-22960] Master BackEnd Java Developer

Work set-up: 
Full Remote
Contract: 
Experience: 
Senior (5-10 years)
Work from: 

Offer summary

Qualifications:

Proven experience with Java and Spring Boot development., Deep knowledge of OAuth2 protocols and token management., Practical experience with Keycloak customization and SPI development., Strong understanding of software architecture principles like Clean Architecture, SOLID, and DDD..

Key responsibilities:

  • Collaborate with frontend developers to validate and integrate authentication themes and SPIs.
  • Contribute to designing and architecting authentication solutions.
  • Ensure security and effectiveness of authentication implementations.
  • Develop applications with Java and Spring Boot, integrating with Keycloak for authentication and authorization.

Ci&T logo
Ci&T
5001 - 10000 Employees
See all jobs

Job description

Somos especialistas em transformação tecnológica, unindo expertise humana à IA para criar soluções tech escaláveis. Com mais de 7.400 CI&Ters ao redor do mundo, já formamos parcerias com mais de 1.000 clientes durante nossos 30 anos de história. Inteligência Artificial é nossa realidade.

Importante: posições localizadas na Região Metropolitana de Campinas, sua presença nos escritórios da cidade será obrigatória, conforme a política de frequência vigente.

Estamos em busca de um Desenvolvedor com experiência comprovada em Keycloak e habilidades sólidas em Java com Spring Boot. O candidato ideal deverá ter um profundo conhecimento sobre OAuth2 e uma sólida experiência prática com Keycloak, além de um forte entendimento das melhores práticas de desenvolvimento, como Clean Architecture, SOLID, Clean Code, e Domain-Driven Design (DDD).

Responsabilidades:
Trabalhar em estreita colaboração com desenvolvedores frontend para validar e integrar os temas e SPIs.
Contribuir para a arquitetura e o design das soluções de autenticação.
Garantir a segurança e a eficácia das implementações de autenticação.
Desenvolver aplicações utilizando Java e Spring Boot, assegurando a integração eficaz com Keycloak.
Implementar serviços RESTful que interajam com o Keycloak para autenticação e autorização.

Projetos com Spring Boot:
O candidato deve ter experiência em projetos que utilizam Spring Boot em diversas áreas, como:
Microserviços: Desenvolvimento de arquiteturas baseadas em microserviços, utilizando Spring Cloud para comunicação entre serviços, configuração centralizada e descoberta de serviços.
APIs RESTful: Criação de APIs robustas e escaláveis com Spring MVC, incluindo autenticação e autorização via Keycloak.
Integração com Banco de Dados: Utilização de Spring Data JPA para acesso a dados, além de conhecimento em bancos de dados relacionais e não relacionais.
Segurança: Implementação de autenticação e autorização em aplicações Spring usando Spring Security e integração com Keycloak.
Automação de Testes: Criação de testes automatizados utilizando Spring Test, JUnit e Mockito para garantir a qualidade do código.

Requisitos:
Conhecimento Avançado em OAuth2:
Entendimento detalhado dos diferentes fluxos do OAuth2:
Authorization Code Flow
Implicit Flow
Resource Owner Password Credentials Flow
Client Credentials Flow
Capacidade de implementar e gerenciar tokens de acesso e refresh tokens, incluindo escopos e permissões.
Experiência em configurar políticas de autorização e autenticação.

Experiência Prática com Keycloak:
Customização de temas no Keycloak.
Desenvolvimento e implementação de SPIs (Service Provider Interfaces).
Realização de customizações para atender às necessidades específicas do projeto.

Habilidades em Java e Spring Boot:
Experiência no desenvolvimento de aplicações com Java e Spring Boot.
Capacidade de integrar soluções de autenticação e autorização usando Keycloak em aplicações Spring.
Conhecimentos em Arquitetura e Práticas de Desenvolvimento:
Clean Architecture: Habilidade em estruturar aplicações de forma que as regras de negócio fiquem independentes de frameworks, permitindo fácil manutenção e extensão.
SOLID Principles: Compreensão e aplicação dos princípios SOLID para garantir um código mais limpo, organizado e de fácil manutenção.
Clean Code: Prática de escrever um código legível e compreensível, seguindo convenções e padrões de nomenclatura, evitando complexidade desnecessária.
Domain-Driven Design (DDD): Capacidade de modelar sistemas com base nos conceitos de domínio, garantindo que a lógica de negócios esteja bem estruturada e alinhada com os requisitos do negócio.


E aí? Se animou?! Então conclua a sua inscrição e boa sorte =D

 #LI-GV1
#Sênior
Nossos benefícios:

- Plano de saúde e odontológico;
- Vale alimentação e refeição;
- Auxílio-creche;
- Licença parental estendida;
- Parceria com academias e profissionais de saúde e bem-estar via Wellhub (Gympass)  TotalPass;
- Participação nos Lucros e Resultados (PLR);
- Seguro de Vida;
- Plataforma de aprendizagem contínua (CI&T University);
- Clube de descontos;
- Plataforma online gratuita dedicada à promoção da saúde física, mental e bem-estar;
- Curso gestante e parentalidade responsável;
- Parceria com plataformas de cursos online;
- Plataforma para aprendizagem de idiomas;
- E muitos outros

Mais detalhes sobre os nossos benefícios aqui: https://ciandt.com/br/pt-br/carreiras

Na CI&T, a inclusão começa no primeiro contato. Se você é pessoa com deficiência, é importante apresentar o seu laudo durante o processo seletivo. Assim, podemos garantir o suporte e as adaptações que você merece. Se ainda não tem o laudo caracterizador, não se preocupe: podemos te apoiar para obtê-lo.

Temos um time dedicado de Saúde e Bem-estar, especialistas em inclusão e grupos de afinidade que estarão com você em todas as etapas. Conte com a gente para fazer essa jornada lado a lado.

Required profile

Experience

Level of experience: Senior (5-10 years)
Spoken language(s):
Portuguese
Check out the description to know which languages are mandatory.

Back-End Developer Related jobs