Job Information
Este é um cargo remoto.
Como Desenvolvedor(a) Java Pleno na Supera, você será peça-chave na evolução e manutenção de sistemas críticos distribuídos, atuando de forma autônoma com qualidade e contribuindo para a visão técnica dos produtos.
Sua missão: entregar software estável, seguro e escalável; antecipar melhorias; colaborar em decisões arquiteturais; garantir que os produtos dos nossos clientes operem com observabilidade e desempenho de nível de produção.
Inteligência artificial: conseguir atuar em conjunto com ferramentas de LLM para entregas melhores e mais elaboradas, saber lidar com prompts, saber revisar e filtrar o que é entregue.
Responsabilidades
- Desenvolver novas features, correções e evoluções em sistemas Java em múltiplas versões (Java 5+).
- Trabalhar com autonomia e foco em entrega, cumprindo prazos e metas definidas.
- Participar de reuniões de planejamento, refinamento e definição de escopo técnico.
- Fazer code reviews com foco em qualidade, padrões, legibilidade e segurança.
- Contribuir para decisões de arquitetura, padrões e boas práticas (DDD, Clean, Hexagonal).
- Escrever e manter testes automatizados (unitários e de integração).
- Participar da integração contínua e pipelines de CI/CD.
- Contribuir com observabilidade, logs, métricas e monitoramento nas aplicações.
- Atuar em contêineres e orquestração (Docker/Kubernetes) quando aplicável.
- Atuar junto ao time para melhorar desempenho, escalabilidade e confiabilidade dos sistemas.
- Orientar e compartilhar conhecimento com colegas do time, promovendo melhoria técnica coletiva.
Requisitos
Requisitos (obrigatórios)
- Formação em TI (graduação, pós ou experiência equivalente).
- Experiência sólida com Java 8+ (preferencialmente até versões modernas).
- Domínio do ecossistema Spring (Spring Boot, Spring Data, Spring Security).
- Experiência com JPA/Hibernate/JDBC para persistência de dados.
- Modelagem relacional e domínio de SQL (PostgreSQL ou MySQL preferencialmente).
- Experiência no desenvolvimento de APIs RESTful.
- Gerenciamento de dependências e build com Maven ou Gradle.
- Versionamento com Git e práticas de CI/CD (implementação e manutenção de pipelines).
- Testes automatizados (JUnit, Testcontainers ou similares).
- Experiência com servidores de aplicação (Tomcat, WildFly, JBoss) é desejável, se aplicável.
- Conhecimento em mensageria (Kafka ou RabbitMQ).
- Uso de Docker em ambiente de desenvolvimento e local.
- Observabilidade: logs, métricas, tracing (OpenTelemetry / ELK / Prometheus / Grafana).
- Segurança: autenticação/autorização via OAuth2, OIDC ou Keycloak.
- Aplicação de padrões de arquitetura (DDD, Clean Architecture, Hexagonal).
- Experiência com metodologias ágeis (Scrum, Kanban).
- Comunicação clara e colaborativa, proatividade e senso de responsabilidade.
Diferenciais
- Certificações Java (SCJP, OCJP) válidas.
- Inglês técnico intermediário ou avançado.
- Arquiteturas orientadas a eventos, CQRS / event-driven.
- Experiência com GraphQL e integração com sistemas legados.
- Atuação em ambientes multi-cliente / multi-stack.
- Geração de relatórios (ex: JasperReports ou semelhantes).
Critérios de senioridade (Pleno)
- Capacidade de entregar soluções completas com mínima supervisão.
- Participar de decisões arquiteturais e técnicas com embasamento.
- Contribuir para evolução técnica do time e revisões de código.
- Ter visão de produto: entender impacto das entregas no cliente final e nos sistemas integrados.
- Postura de ownership, assumindo responsabilidade pela tarefa que foi entregue.
- Utilização de IA para entrega de tarefas e analises com o discernimento correto entre e errado.