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.

Similar jobs

Senior Java Developer

Apply Now
Back to search page