Staff Engineer / Software Architect
Hands-on staff engineer/architect at VAAS, a risk-decision platform for credit, fraud, AML and KYC. You own the domain model and cross-team contracts (Protobuf/gRPC) across Java and TypeScript services, set DDD/hexagonal conventions enforced as CI fitness functions, record ADRs, build proofs of concept, and mentor tech leads.
- Compensation
- Not disclosed
- Location
- Florianópolis, SC, BR
- Work setup
- Hybrid
- Seniority
- Staff
- Employment
- Not specified
- Experience
- Not specified
- Category
- Architecture
- Posted
Skills
Must have
- Atuação como Staff, Principal ou arquiteto(a) hands-on em produto de software, com código em produção
- Domínio de DDD estratégico e tático e arquitetura hexagonal, com experiência modelando domínios complexos junto com times
- Experiência sólida em Java ou TypeScript em produção, e leitura fluente da outra linguagem
- Desenho de contratos entre times: APIs versionadas, gRPC ou eventos, com compatibilidade e evolução
- Sistemas distribuídos: consistência, idempotência, execuções longas e falhas parciais
- Decisões registradas com trade-offs explícitos, mudando de ideia com evidência
- Influência sem autoridade formal, alinhando times por escrito e em conversa
- Uso de agentes de código com rigor, ajudando os times a fazer o mesmo
- Comunicação escrita clara em português; leitura técnica em inglês
Nice to have
- Domínio regulado: banco, fintech, crédito, KYC ou AML; auditoria e risco de modelo
- Motores de workflow ou execução durável: Serverless Workflow, Temporal, Camunda, Step Functions
- Sistemas com LLM em produção: agentes, evals e custo
- Fitness functions: ArchUnit, dependency-cruiser
- Autorização fina: OpenFGA ou modelos no estilo Zanzibar
- Plataformas multi-tenant
- Palestras, ADRs públicos ou escrita técnica
Full description
Sua missão
Como nosso(a) Staff Engineer / Software Architect, você terá um papel fundamental em ser dono(a) do modelo de domínio e dos contratos entre times da VAAS, atuando em toda a plataforma (serviços de domínio, workflows de decisão e agentes de IA), em um trabalho que cruza times e linguagens, Java e TypeScript. Sua missão será contribuir diretamente para que empresas que decidem sobre crédito, fraude, AML e KYC contem com uma plataforma em que cada módulo tem fronteiras claras e cada contrato evolui sem quebrar consumidores, ajudando a garantir que cada decisão de arquitetura fique registrada e verificável. Você escreve código: provas de conceito, módulos de referência e revisões de PR.
##
O que você vai fazer no dia a dia
- Modelar o domínio com os times: bounded contexts, agregados, invariantes e linguagem ubíqua.
- Ser dono(a) dos contratos entre times: Protobuf e gRPC, schemas versionados e linguagens publicadas.
- Definir e evoluir as convenções de arquitetura (hexagonal, DDD, testes e erros), transformando convenções em fitness functions no CI.
- Registrar decisões em ADRs, com alternativas e trade-offs.
- Revisar desenhos e PRs críticos nos repositórios Java e TypeScript.
- Construir provas de conceito e módulos de referência antes de uma decisão grande.
- Evoluir, com os times, o modelo de domínio de agentes de IA e de decisão automatizada.
- Evoluir a integração entre serviços Java e TypeScript e a orquestração de workflows de decisão.
- Mentorar Tech Leads e pessoas sêniores em modelagem e desenho de sistemas.
- Escrever convenções e specs que pessoas e agentes de código conseguem seguir.
Stack e ferramentas
- Java: Java 25, Spring Boot, gRPC e Protobuf, MapStruct, Testcontainers.
- TypeScript: Node.js/Bun, NestJS, tRPC, Zod, Drizzle, React.
- Workflows e execução durável: Serverless Workflow e Temporal.
- IA: Vercel AI SDK. Modelos Anthropic, OpenAI, Google e Bedrock.
- Dados: PostgreSQL, Redis.
- Autorização: OpenFGA.
- Infra: GCP, Kubernetes, Argo CD, GitHub Actions.
- Qualidade: fitness functions com ArchUnit e dependency-cruiser, SonarQube, testes em todas as camadas.
- Trabalho diário: Claude Code e agentes de código.
O que buscamos no seu perfil
Mais do que preencher requisitos técnicos, queremos alguém alinhado(a) à nossa missão de ajudar empresas a tomarem decisões melhores de maneira inteligente, ágil e confiável, e que queira crescer junto conosco na construção da visão de ser a .