Senior Java Developer
Builds and maintains backend services, REST APIs, batch jobs, and data pipelines in Java 8+/Spring Boot on Oracle Database, deployed via Docker/Kubernetes on Oracle Cloud, for a SaaS platform serving Latin American financial institutions. Heavy emphasis on AI-assisted development using Claude Code; no prior finance domain experience required.
- Compensation
- Not disclosed
- Location
- Brazil
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Contract
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Degree in Computer Science, Software Engineering, or related field
- 5+ years of professional Java development experience
- Solid command of Java 8+ (streams, lambdas, concurrency, collections, Optional, date/time API)
- Spring Boot 2.7+ (dependency injection, REST controllers, security, Spring Data, testing)
- Solid knowledge of GoF design patterns and applying them appropriately
- Mastery of SOLID, DRY, KISS, and YAGNI principles in daily practice
- OOP design experience: domain modeling, composition vs inheritance, encapsulation, exception handling, clear internal API design
- Strong SQL and relational database skills: query optimization, indexing strategies, complex joins, transaction management
- Testing experience: unit tests (JUnit, Mockito), integration tests, test doubles, TDD/BDD practice
- Experience with container deployments: Docker, Kubernetes, CI/CD pipelines
- Familiarity with Git flows (Git Flow or trunk-based) and Postman/OpenAPI for API development
- Hands-on experience with AI-assisted development tools, especially Claude Code, used daily
- Strong written communication: clear technical specs, design documents, and PR descriptions
Nice to have
- Oracle Database experience (strong differentiator)
- Knowledge of architecture patterns: caching (Caffeine/Redis), event-driven architecture, metadata-driven design, CQRS
- Experience with microservices or modular monolith architectures: inter-service communication, distributed transactions, contract testing
- Familiarity with Clean Architecture, Hexagonal Architecture, or Domain-Driven Design (DDD)
- Experience with observability tools: Grafana, Prometheus, application metrics, log aggregation
- Familiarity with WebLogic or similar enterprise Java runtimes
- Experience working on SaaS platforms or multi-tenant systems
- Java certification (OCA/OCP) or equivalent technical certifications
Full description
A VMetrix é uma plataforma SaaS que atende instituições financeiras na América Latina. Processamos fluxos transacionais complexos, pipelines de dados de alto volume e integrações em tempo real — tudo construído sobre uma stack Java/Spring Boot + Oracle implantada na Oracle Cloud. Buscamos desenvolvedores Java sólidos que escrevam código excelente, pensem em sistemas e adotem o desenvolvimento assistido por IA como parte central do seu fluxo de trabalho.
Propósito do Cargo
Como Senior Java Developer, você vai construir e manter serviços backend e módulos de plataforma que suportam operações críticas de negócio. Você não precisa de experiência prévia no domínio financeiro — nós ensinamos. O que precisamos é de um desenvolvedor que escreva Java limpo e performante, domine padrões de design, entenda sistemas distribuídos e use ferramentas como Claude Code para se mover rápido sem sacrificar qualidade.
Responsabilidades Principais:
- Projetar, construir e manter serviços backend em Java 8+/Spring Boot: APIs REST, jobs de processamento batch, pipelines de transformação de dados e camadas de integração.
- Escrever código limpo, bem testado e pronto para produção, aplicando princípios SOLID, padrões de design (Strategy, Factory, Observer, Builder, Template Method, entre outros) e as diretrizes arquiteturais da equipe.
- Ser dono de features end-to-end: desde o design técnico até a implementação, testes, code review e deploy em produção.
- Otimizar o desempenho de aplicações: identificar e resolver gargalos em queries, chamadas a serviços, uso de memória e throughput.
- Aplicar corretamente padrões de concorrência e gerenciamento de threads em Java para operações paralelas e assíncronas.
- Participar de decisões de design de software: seleção de padrões, definição de contratos entre componentes, separação de responsabilidades e modelagem de domínios.
- Aplicar princípios de design orientado a objetos (encapsulamento, herança, composição, polimorfismo) e design por contrato na construção de módulos.
- Contribuir para o design de arquiteturas limpas: separação de camadas (controller, service, repository), injeção de dependências, inversão de controle e baixo acoplamento entre módulos.
- Avaliar trade-offs técnicos entre diferentes abordagens de design, documentando decisões e suas justificativas.
Banco de Dados e Integrações
- Trabalhar com Oracle Database: escrever e otimizar consultas SQL, stored procedures e packages PL/SQL para operações intensivas em dados.
- Construir e manter integrações com sistemas externos via APIs REST, cobrindo ingestão, transformação e sincronização de dados.
- Projetar padrões de acesso a dados eficientes usando JPA/Hibernate ou JDBC, com atenção a gerenciamento de conexões, cache de entidades e limites transacionais.