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: Desenvolvimento Backend 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.
Design e Arquitetura 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.
Implementar estratégias de resiliência em integrações: retentativas, circuit breakers, timeouts e tratamento gracioso de falhas.
Infraestrutura e Deploy Implantar e gerenciar aplicações em Kubernetes (OKE) com contêineres Docker e servidor de aplicações WebLogic.
Trabalhar com pipelines CI/CD (GitLab CI ou similar) para fluxos automatizados de build, teste e deployment.
Diagnosticar problemas em produção: analisar logs, métricas de aplicação e comportamento do sistema para resolver incidentes.
Desenvolvimento Assistido por IA Usar Claude Code como ferramenta principal de desenvolvimento: geração de código, refatoração, debugging, escrita de testes e exploração de codebases desconhecidos.
Escrever e manter documentação técnica em Markdown que sirva como contexto de alta qualidade tanto para ferramentas de IA quanto para a equipe.
Aplicar habilidades de engenharia de prompts: decompor problemas complexos em prompts claros e acionáveis, avaliando criticamente as saídas geradas por IA.
Contribuir para as práticas de desenvolvimento com IA da equipe: compartilhar padrões eficazes, identificar limitações e ajudar a estabelecer melhores práticas.
Colaboração e Crescimento Participar de revisões de código com feedback construtivo e rigoroso, focado em corretude, legibilidade, padrões e manutenibilidade.
Mentorar desenvolvedores junior através de pair programming, discussões de design e transferência de conhecimento.
Contribuir para discussões técnicas sobre arquitetura, ferramentas e melhorias de processos.
Requisitos Obrigatórios: Graduação em Ciência da Computação, Engenharia de Software ou áreas correlatas.
5+ anos de experiência profissional em desenvolvimento Java.
Domínio sólido de Java 8+ (streams, lambdas, concorrência, collections, Optional, API de data/hora) e Spring Boot 2.7+ (injeção de dependências, REST controllers, segurança, Spring Data, testes).
Conhecimento sólido de padrões de design GoF (criacionais, estruturais, comportamentais) e capacidade de aplicá-los corretamente conforme o contexto do problema.
Domínio dos princípios SOLID, DRY, KISS e YAGNI na prática diária de desenvolvimento.
Experiência com design orientado a objetos: modelagem de domínios, composição vs herança, encapsulamento, tratamento de exceções e design de APIs internas claras.
Habilidades sólidas em SQL e bancos de dados relacionais: otimização de queries, estratégias de indexação, joins complexos, gerenciamento transacional.
Experiência com Oracle é um diferencial forte.
Experiência com estratégias de testes: testes unitários (JUnit, Mockito), testes de integração, test doubles e TDD ou BDD como prática habitual.
Experiência com deploys em contêineres: Docker, Kubernetes (qualquer distribuição), pipelines CI/CD.
Familiaridade com fluxos Git (Git Flow ou trunk-based), Postman/OpenAPI para desenvolvimento de APIs.
Experiência prática com ferramentas de desenvolvimento assistido por IA — especialmente Claude Code.
Esperamos que você use IA diariamente como multiplicador de produtividade, não como muleta.
Comunicação escrita sólida: capacidade de produzir specs técnicos claros, documentos de design e descrições de PR.
Requisitos Desejáveis: Experiência com Oracle PL/SQL: stored procedures, pipelined functions, performance tuning.
Conhecimento de padrões de arquitetura: caching (Caffeine/Redis), arquitetura event-driven, design metadata-driven, CQRS.
Experiência com arquiteturas de microsserviços ou modular monolith: estratégias de comunicação entre serviços, gerenciamento de transações distribuídas, contract testing.
Familiaridade com Clean Architecture, Hexagonal Architecture ou Domain-Driven Design (DDD).
Experiência com ferramentas de observabilidade: Grafana, Prometheus, métricas de aplicação, agregação de logs.
Familiaridade com servidor de aplicações WebLogic ou runtimes Java empresariais similares.
Experiência trabalhando em plataformas SaaS ou sistemas multi-tenant.
Certificação Java (OCA/OCP) ou certificações técnicas equivalentes.
O Que Valorizamos: Qualidade acima de velocidade: preferimos entregar código limpo e bem testado um dia depois do que debugar um desastre por uma semana.
Fluência com IA: você vê Claude Code e ferramentas similares como partes essenciais do seu toolkit, não como novidades.
Sabe quando confiar no output e quando questioná-lo.
Critério de design: você não aplica padrões por inércia — sabe quando um Strategy simplifica e quando um if-else é suficiente.
Prioriza clareza acima de cleverness.
Pensamento sistêmico: considera os efeitos downstream das suas decisões de design em desempenho, manutenibilidade e velocidade da equipe.
Ownership: leva suas features do design até produção e se importa com como seu código se comporta no mundo real.
Curiosidade: se mantém atualizado com ferramentas e práticas de desenvolvimento, e tem interesse genuíno em evoluir no seu ofício.
Comunicação clara: escreve documentação que seus colegas de equipe (e as ferramentas de IA) realmente conseguem usar.
Processo de Candidatura: Candidatura: Candidate-se diretamente pelo LinkedIn.
Teste técnico: Os candidatos selecionados receberão uma avaliação técnica online.
Esta etapa é obrigatória e parte fundamental do processo.
Entrevista com Líder e RH: Uma conversa com a equipe para te conhecer melhor e aprofundar sua experiência.
Decisão: Informaremos o resultado com feedback, independentemente de você avançar ou não.
Por que trabalhar na VMetrix Na VMetrix , não buscamos \"fazer mais barulho\", mas sim construir confiança em um mercado onde as decisões importam.
Você terá a oportunidade de liderar uma função estratégica, com autonomia real, impacto direto no negócio e visibilidade executiva.
Você fará parte de uma empresa que está redefinindo como as instituições financeiras adotam tecnologia crítica, em um ambiente desafiador, sofisticado e de alto nível profissional.
Se você se motiva a construir marca, reputação e relações de longo prazo no coração do sistema financeiro, a VMetrix é o lugar.