Escrito por: Leonardo Abdalla e Michel Herszenhaut

No mundo acelerado de bancos digitais, a integridade dos dados e o controle são essenciais para o sucesso. É aí que o Controlinho, uma ferramenta inovadora desenvolvida pelo Nubank, entra. Como um dos líderes em inovações tecnológicas, o Nubank apresenta o Controlinho como uma revolução no gerenciamento de dados e controle no setor financeiro. 

Neste guia detalhado, vamos mostrar mais sobre o funcionamento interno do Controlinho, o papel dele na integração contínua, controle automatizado, monitoramento, registro de dados e o impacto profundo dele nas operações do Nubank.

Seja você um engenheiro de dados querendo simplificar seus processos de controle de dados ou um entusiasta de tecnologia financeira interessado nas estratégias de gerenciamento de dados mais recentes, este artigo fornece mais detalhes sobre como o Controlinho está moldando o futuro dos dados no setor bancário.

O Nubank é conhecido por suas inovações tecnológicas, e o Controlinho não é uma exceção. Esta ferramenta é essencial nas nossas operações e nos ajuda a entender nossos dados, algo que está no centro de tudo que fazemos no Nubank.

Arquitetura de dados e fornecimento de software

O fornecimento de software tende a dividir a indústria em arquiteturas monolíticas e de microsserviços. Há alguns anos, o fornecimento de software usava uma perspectiva monolítica. Era simples e fácil de gerenciar. Tudo estava em um só lugar: um único banco de dados, um único código-base e uma única implementação. Esta estrutura tem seus benefícios, como depuração e testes mais fáceis devido à simplicidade do sistema. No entanto, tem diversos lados negativos, como falta de flexibilidade, problemas de escalabilidade e um único ponto de falha que pode derrubar todo o sistema.

O Nubank nasceu no período da arquitetura de microsserviços, com cada um deles podendo ser desenvolvido, implementado e escalado independentemente. No entanto, isto também trouxe novos desafios, como garantir a consistência de dados em diversos multisserviços.

Veja aqui o que descobrimos criando um sistema complexo em uma tecnologia financeira nos últimos seis anos.

Conheça nossas oportunidades

Problemas de dados modernos

No mundo bancário e de serviços financeiros, relatórios confiáveis e pontuais são essenciais. Relatórios incorretos podem levar a decisões ruins e problemas regulatórios. Por isso, o Nubank entende a importância de entregar relatórios precisos e pontuais aos reguladores.

Além disso, a complexidade da análise de risco de crédito e o papel dos dados neste processo não pode ser subestimado. Esta complexidade, junto com a necessidade de uma ferramenta para automatizar os controles de dados, levou ao Controlinho.

Desenvolvendo o Controlinho: uma ferramenta de análise da engenharia

Para desenvolver uma ferramenta como o Controlinho, foi necessário um planejamento estruturado e foco. Decisões-chave precisaram ser feitas para garantir que ele servisse ao seu propósito com eficácia. Queríamos evitar tarefas repetitivas e simplificar a criação de controles. Além disso, queríamos tornar mais fácil para todo mundo contribuir, garantindo que tudo ficasse registrado por questões de responsabilidade.

A democratização dos dados por meio de uma cultura de controle era o centro da nossa abordagem, tornando o Controlinho uma ferramenta que empoderava nossas equipes para tomar o controle dos dados delas.

O que começou como uma ferramenta interna para uma equipe foi apresentada em um evento Megademo e rapidamente adotada por toda a empresa, com mais de 17.000 usos. 

Como o Controlinho funciona

Controlinho é uma ferramenta que organiza, classifica e executa controles. Ele é ótimo em contribuições coletivas e tem um ciclo de execução que facilita a criação de controles únicos por equipes diferentes. O objetivo não é só criar uma ferramenta, mas também uma cultura na qual todos podem contribuir para o Controlinho.

A unidade mais importante do Controlinho se chama “Controle”. É uma consulta do SQL, com alguns parâmetros e metadados que são definidos em um arquivo JSON. Cada Controle serve como uma lista de tarefas para o Controlinho analisar os dados de um serviço para garantir que sejam entregues corretamente. Se algo está errado, o Controlinho alerta o analista responsável. Ele aproveita o ambiente Bigquery para analisar conjuntos de dados e entregar mais de mil controles para colaboradores dentro e fora da engenharia do Nubank. 

Acreditamos que em uma arquitetura de microsserviços, cada serviço pode representar um mundo próprio com linguagens de programação e regras exclusivas entre os engenheiros. No entanto, como todos os dados são exibidos em tabelas no armazém de dados, é aí que implementamos as checagens automatizadas do Controlinho.

Integração contínua e controle automatizado

Escalabilidade e integração contínua

Em um ambiente onde mais de 250 engenheiros contribuem para o nosso código-base mensalmente, gerenciar a integridade do código se torna um desafio considerável. No entanto, no Nubank, usamos a integração contínua como uma aliada estratégica no gerenciamento desta complexidade.

Integração contínua é a prática de reunir todas as cópias de trabalhos dos desenvolvedores em uma central compartilhadas diversas vezes ao longo do dia. Esta abordagem é essencial para evitar o “inferno da integração” que normalmente acontece quando as pessoas trabalham isoladas por um longo período. Ela nos ajuda a detectar problemas antes e corrigi-los enquanto ainda não são graves.

Cada vez que um código é confirmado, ele ativa um processo de geração automático, que executa uma série de testes para garantir que o novo código não quebre nenhuma funcionalidade existente. Se qualquer problema for detectado, os desenvolvedores são automaticamente notificados para corrigi-lo. Este processo não só mantém o nosso código-base em funcionamento, mas também evita sobrecarga no processo de análise, garantindo um fluxo de trabalho simplificado e fornecimento mais rápido.

Controle de dados

Dados são o núcleo das nossas operações no Nubank. Por isso, garantir a integridade deles é essencial. Fazemos isso por meio de controles automatizados onde a frequência é definida pelo usuário, o que é uma parte muito importante do Controlinho. Estes controles monitoram a integridade dos dados continuamente, checando diversos elementos de dados para garantir a conformidade com padrões definidos.

Por exemplo, se considerarmos algo como avaliações de risco de crédito, os controles automatizados podem verificar que os dados de pontuação de crédito estão dentro do alcance esperado, que não há campos em falta e que os dados estão sendo atualizados constantemente. Estes controles nos ajudam a prevenir erros, detectar anomalias e manter a confiabilidade dos nossos processos de tomada de decisão com base em dados.

Implementação dos controles

A implementação destes controles no Controlinho é um processo estruturado. Os dados de controle são organizados cuidadosamente, com campos categorizados como obrigatórios ou opcionais de acordo com a relevância. Esta classificação garante que os campos de dados essenciais são sempre preenchidos, ao mesmo tempo que fornece flexibilidade onde necessário.

Além disso, utilizamos testes de integração extensivamente para garantir a validade dos dados. Estes testes verificam se componentes diferentes do Controlinho interagem corretamente, e os dados estão passando pelo sistema conforme esperado. Esta abordagem meticulosa da implementação dos controles é o que faz do Controlinho uma ferramenta poderosa e confiável.

Monitorando e registrando dados

Ciclo de feedback de dados

No Nubank, acreditamos na força do feedback sendo o melhor para a empresa e não para indivíduos ou equipes específicos. Isto também se aplica às nossas operações de dados. Assim que um conjunto de controles passa por todos os testes, mensagens de sucesso são geradas e enviadas para as equipes relevantes. Este feedback imediato ajuda a reforçar boas práticas e melhora o astral.

No entanto, também sabemos que o fracasso é uma oportunidade de aprendizado. Por isso, quando um controle falha, mensagens de erro são geradas e enviadas aos desenvolvedores, fornecendo insights valiosos sobre o que deu de errado e onde precisam depurar. É uma grande vantagem monitorar continuamente os aplicativos e compreender as mudanças entre os microsserviços.

É feito um registro de todas estas interações, sucessos e fracassos, criando um histórico das nossas operações. Este registro é essencial para análises futuras, permitindo a identificação de padrões, tendências e possíveis melhorias.

Visualização de dados

A visualização de dados é outro aspecto crucial da nossa estratégia de monitoramento de dados. Ela ajuda as equipes a entenderem a evolução de seus projetos e tomar decisões embasadas. No Nubank, usamos ferramentas de visualização de dados para representar nossos dados de uma forma fácil de entender, até para integrantes fora das equipes técnicas.

Estas ferramentas fornecem uma visão históricas dos controles, nos permitindo rastrear o progresso com o tempo e identificar tendências ou padrões. Esta visibilidade melhora nosso entendimento das nossas operações, levando a tomadas de decisões mais eficientes e eficazes.

Impacto do controle no Nubank

Estatísticas de controle no Nubank

O Controlinho foi adotado em todo o Nubank. Atualmente, temos uma grande quantidade de controles ativos, com diversas áreas de negócios dependendo da ferramenta para executar operações diárias. Este uso propagado é uma prova da eficácia da ferramenta e da importância dela para nossas equipes.

Benefícios do controle no Nubank

Sãos vários os benefícios da implementação do Controlinho no Nubank.

 Primeiramente, ele aumentou significativamente nossa habilidade de monitorar todos os processos, garantindo confiabilidade dos dados. Isto levou a um aumento na confiança em nossos dados, o que é essencial para uma organização orientada por dados como a nossa.

Em segundo lugar, o Controlinho permitiu a rápida detecção e correção de erros. Com controles automatizados executados continuamente, quaisquer anomalias são detectadas rapidamente, nos permitindo lidar com elas antes que impactem nossas operações ou a experiência do cliente.

Em terceiro lugar, o Controlinho reduziu os entraves técnicos para funcionários do Nubank. Ao automatizar tarefas de controle de dados complexas, ele facilitou para equipes não técnicas o engajamento com os dados, criando uma cultura de democratização de dados.

Além disso, o Controlinho foi muito importante para evitar a repetição de tarefas desnecessárias. Ao automatizar tarefas de controle de dados, ele permitiu que as nossas equipes focassem em atividades mais estratégicas e de mais valor.

Por último, o Controlinho fornece registros úteis para audição e tomadas de decisões. Estes registros oferecem insights valiosos sobre nossas operações, nos ajudando a tomar decisões embasadas e aprimorar constantemente.

Resumindo, o Controlinho foi essencial para transformar nossos processos de controle de dados, melhorando a eficácia operacional, a integridade de dados e criando uma cultura de democratização de dados. Não é só uma ferramenta. Ele cria opções, nos empoderando a tomar o controle dos nossos dados e aproveitá-lo para ter sucesso nos negócios.

Conheça nossas oportunidades