Desenvolvedor Java Backend Sênior - Remoto

PJ, Campinas Remote

Muito prazer, Somos a Evertec!

A Evertec é uma empresa especializada em tecnologia para o setor financeiro, com mais de 27 anos de atuação e presença em 26 países da América Latina e Caribe. Com mais de 11 bilhões de transações processadas anualmente, somos referência em soluções que impulsionam a transformação digital do mercado.

Oferecemos um portfólio completo de soluções em software, atendendo instituições financeiras, empresas e fintechs que buscam inovação, segurança e eficiência.

Nosso compromisso é com a excelência tecnológica, a inclusão financeira e a geração de valor sustentável para clientes, colaboradores e parceiros, promovendo um ecossistema mais conectado e acessível.

Requirements

Atuação Remota - projeto 3 meses (possibilidade de extensão)

Descrição da Posição: 

Projetar, desenvolver e implementar soluções de software robustas e escaláveis 
utilizando a linguagem Java;  
Desenvolver, otimizar e manter APIs RESTful robustas e escaláveis;  
Projetar e implementar soluções baseadas em microsserviços;  
Colaborar com equipes multifuncionais para entender os requisitos do projeto e 
traduzi-los em soluções técnicas;  
Atuar na resolução de problemas complexos de performance e segurança;  
Realizar revisões de código, identificar áreas de melhoria e garantir a adesão aos 
padrões de codificação;  
Colaborar com arquitetos de software na definição de padrões e melhores práticas;  
Apoiar e orientar desenvolvedores juniores e plenos, promovendo um ambiente de 
aprendizado contínuo 

Requisitos Técnicos e Comportamentais: 
Experiência sólida com Java (Java 8+), Spring Framework (Spring Boot, Spring Data, 
Spring Security);  
Proficiência com bancos de dados relacionais (PostgreSQL, MySQL) e NoSQL 
(MongoDB, Redis);  
Experiência com arquitetura de microsserviços e mensageria (Kafka, RabbitMQ);  
Conhecimento em ferramentas de conteinerização e orquestração (Docker, 
Kubernetes);  
Prática com integração e entrega contínua (CI/CD) utilizando ferramentas como 
Jenkins, GitLab CI ou similares;  
Familiaridade com metodologias ágeis (Scrum/Kanban) e versionamento de 
código (Git);  

Requisitos Técnicos Obrigatórios
🔹 Orientação a Objetos
Domínio sólido de Programação Orientada a Objetos (POO).
Capacidade de diferenciar e aplicar corretamente:Classes concretas
Classes abstratas
Interfaces
Entendimento profundo das diferenças entre:Herança de classes
Implementação de interfaces
Capacidade de avaliar impactos de acoplamento, reutilização e evolução do código.
 
🔹 Linguagem Java
Conhecimento avançado das principais estruturas de dados em Java, incluindo:List, Set, Map, Queue, Deque
Capacidade de explicar:Características
Vantagens
Complexidade
Casos de uso apropriados de cada estrutura
Compreensão sólida da gestão de memória em Java:Diferenças entre Stack e Heap
Ciclo de vida de objetos
Impactos em performance e segurança
 
🔹 Concorrência e Multithreading
Experiência prática com programação multithread em Java.
Conhecimento em:Criação e gerenciamento de threads
ExecutorService, Thread, Runnable, Callable
Sincronização e controle de concorrência
Capacidade de identificar e evitar problemas como:Race conditions
Deadlocks
Starvation
Problemas de visibilidade de memória
 
🔹 Streams e Processamento Paralelo
Conhecimento prático de Java Streams API.
Capacidade de diferenciar:Stream
ParallelStream
Entendimento de impacto:Performance
Paralelismo
Quando não usar ParallelStream
 
🔹 Design de Software e Arquitetura
Capacidade de identificar e evitar code smells, especialmente:God Class
Aplicação prática de princípios SOLID, com foco em:Open/Closed Principle (OCP)
Conhecimento de Design Patterns relacionados ao OCP, como:Strategy
Factory
Decorator
Template Method
Capacidade de justificar decisões arquiteturais com base em:Manutenibilidade
Escalabilidade
Evolução do sistema

Ensino superior completo;  
Desejável Inglês Intermediário.  
Experiência em Open Finance e/Pix