Construir sistemas de alta confiança: o dia a dia de uma engenheira na ComplyAdvantage
Descobre como é construir sistemas de compliance financeiro com milhões de pesquisas, alta performance e impacto no combate ao crime financeiro.
A ComplyAdvantage foi fundada em 2014 em Londres para resolver um problema concreto: as ferramentas de compliance financeiro existentes eram lentas, cheias de falsos positivos, e não acompanhavam o ritmo dos riscos reais.
Hoje o produto é usado por mais de 3.000 bancos, fintechs e outras instituições em 75 países para detectar, em tempo real, riscos de branqueamento de capitais, fraude e violações de sanções internacionais. O que isso significa do lado da engenharia é que o sistema tem de correr bem todos os dias, em todas as regiões, sem excepção.
Joana Godinho é Senior Software Engineer na empresa. Começou na equipa Ongoing Risks team, a trabalhar num sistema que re-verifica centenas de milhões de pesquisas por dia, e passou depois para a equipa Monitor & Search, onde está envolvida no motor de pesquisa e no sistema de re-verificação de nova geração. Falámos com ela sobre o que é crescer tecnicamente quando os sistemas são infalíveis.
1. Olá Joana, podes falar-nos um bocadinho do teu background e percurso de carreira?
Até ter entrado para a ComplyAdvantage, a maioria dos projectos em que estive envolvida estavam assentes numa arquitectura e stack tecnológica modestas e operavam a uma escala pequena. Cheguei então a um ponto na carreira em que queria trabalhar e aprender a construir sistemas mais desafiantes e inovadores. Desde a primeira entrevista, foi claro que a ComplyAdvantage era um desses lugares onde isso não é aspiração, é requisito.
2. Entraste à espera de um desafio técnico exigente. O que mais te surpreendeu?
Entrei à espera do desafio técnico, sabia que ia ser exigente e que havia muito para aprender. O que me surpreendeu foi o equilíbrio entre a exigência técnica e o espírito de equipa. A Comply está cheia de pessoas que adoram resolver problemas complexos e que, ao mesmo tempo, partilham conhecimento com uma naturalidade incrível. É difícil não evoluir rápido quando estamos rodeados de profissionais que são, simultaneamente, referências técnicas e excelentes companheiros de equipa.
3. Trabalhas na ComplyAdvantage há 3 anos. Como é trabalhar aqui no dia a dia?
É uma cultura onde as pessoas se importam genuinamente com o trabalho, não só em entregar, mas em entregar bem. Há um cuidado real com as decisões de design, com a forma como os sistemas são pensados a longo prazo. E isso nota-se no dia-a-dia: nas conversas de código, nas discussões de arquitectura, na forma como alguém mais experiente te desafia a pensar melhor em vez de te dar simplesmente a resposta.
4. Fizeste a transição de mid-level para senior. Como aconteceu esse percurso?
Nunca foi um objectivo em si no início do meu percurso na ComplyAdvantage. Não pensava muito no título de senior, pensava mais em querer resolver problemas maiores e tomar melhores decisões. A progressão acabou por ser uma consequência disso. Quando o ambiente te empurra constantemente a pensar com mais profundidade, a responsabilidade vai crescendo de forma natural.
5. Por onde começaste e qual foi o primeiro grande desafio técnico?
Comecei na equipa Ongoing Risks, que era responsável pelo sistema de monitorização do nosso produto de screening antigo. O conceito era directo: re-verificar cada pesquisa dos nossos clientes diariamente para detectar novos riscos. Mas quando isso significa centenas de milhões de pesquisas por dia, em múltiplas regiões, a complexidade é uma ordem de grandeza diferente. Foi o meu primeiro contacto real com o que escala verdadeiramente significa.
6. Trabalhaste em sistemas com centenas de milhões de pesquisas por dia. Há um exemplo concreto de impacto que tenhas tido?
Dois projectos ficaram marcados. O primeiro foi repensar a forma como o processamento era distribuído, conseguimos cortar entre duas a cinco horas no tempo de execução diário nas regiões mais exigentes.
O segundo foi mais conceptual, mas com um impacto enorme. Percebemos que o sistema estava a repetir pesquisas no Elasticsearch que, na maioria dos casos, iam devolver exactamente o mesmo resultado. Estava a gastar recursos sem qualquer benefício. Ao mudar a lógica de quando fazia sentido re-consultar os dados, reduzimos drasticamente a carga e isso permitiu-nos diminuir os clusters em 50 a 60% nalgumas regiões, sem qualquer perda de qualidade.
7. O que aprendeste a trabalhar a esta escala pela primeira vez?
Que a solução raramente é fazer mais do mesmo. Há uma tentação natural de resolver problemas de escala com mais infraestrutura, mais capacidade, mais recursos. O que aprendi é que as melhorias mais significativas costumam vir de questionar aquilo que toda a gente já deu como certo. Muitas vezes o problema não é a escala em si, é um pressuposto antigo que nunca ninguém voltou a examinar.
8. O que mudou quando passaste para o Monitor & Search team?
O âmbito cresceu consideravelmente. Passámos a ser responsáveis pelo motor de pesquisa e pelo sistema de re-verificação de nova geração - que é essencialmente o núcleo de como os nossos clientes identificam risco hoje. O que também mudou foi a composição da equipa: trabalhamos lado a lado com engenheiros de machine learning, o que torna o trabalho muito mais variado. Numa semana podes estar a analisar a precisão das pesquisas, na seguinte a redesenhar um workflow distribuído. É um equilíbrio constante entre melhorar velocidade e exactidão, o que combina pensamento algorítmico com restrições de engenharia.
9. Estás agora envolvida no projecto low latency Monitor. Podes falar-nos sobre o projecto?
É provavelmente o desafio arquitectural mais complexo em que estou envolvida neste momento. Hoje, os clientes ficam a saber sobre novos riscos de sanções através das re-pesquisas diárias, o que significa que pode passar quase um dia inteiro entre uma actualização numa lista de sanções e o momento em que o cliente é notificado. O que estamos a construir vai mudar isso: a janela de tempo passa a ser mais curta. É o tipo de problema que te obriga a pensar detalhadamente sobre cada decisão de design e as consequências das mesmas a longo prazo.
10. Tens trabalhado em sistemas críticos, com escala e complexidade crescentes. O que te mantém envolvida e motivada?
O facto de nunca sentir que cheguei ao tecto. Os problemas evoluem, a plataforma cresce, as expectativas aumentam e isso mantém o trabalho genuinamente estimulante. Mas há algo mais do que isso. O que construímos aqui tem um propósito concreto: ajudar organizações a detectar e prevenir crimes financeiros. Isso não é uma abstracção. É algo que acontece todos os dias, em tempo real, com consequências reais. E saber que o teu trabalho contribui para isso muda a forma como te relacionas com ele.
