Create Alert
Email me similar jobs

Senior java developer

Contract

A VMetrix é uma plataforma Saa S 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 Web Logic. Trabalhar com pipelines CI/CD (Git Lab 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 Go F (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/Open API 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 Web Logic ou runtimes Java empresariais similares. Experiência trabalhando em plataformas Saa S 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 Linked In. 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