As funções dentro da engenharia de software e dados são cada vez mais essenciais para a inovação e a excelência operacional. O Nubank, como a maior plataforma de banco digital do mundo fora da Ásia, exemplifica essa tendência por meio de sua equipe diversificada de Engenheiros de Software, Engenheiros de Analytics, Cientistas de Dados, Engenheiros de Machine Learning e Analistas de Negócios.

Cada uma dessas funções desempenha um papel crucial no desenvolvimento, otimização e melhoria de soluções orientadas por dados. Este post do blog explora as contribuições exclusivas de cada função no Nubank, sua colaboração sinérgica e um exemplo prático de como elas se unem para desenvolver um widget de recomendação de produtos focado no cliente.

Nosso objetivo é fornecer insights sobre o mundo multifacetado da engenharia de dados e software, ilustrando como cada função contribui para o objetivo maior de aprimorar a experiência do cliente e a eficiência dos negócios.

Engenharia de software: programação como base

A função dos Engenheiros de Software é crucial, abrangendo o desenvolvimento e a manutenção de aplicações voltadas para o cliente e de microsserviços de backend.

Esses engenheiros trabalham em uma ampla gama de tarefas, desde o desenvolvimento de aplicativos móveis usando Flutter até a criação de microsserviços com Clojure, integrando tecnologias como Kafka e hospedando tudo na AWS.

Além da programação, eles são responsáveis pela qualidade, estabilidade e desempenho de suas entregas, garantindo testes rigorosos e monitoramento proativo para identificar e solucionar qualquer problema em produção.

Conheça nossas oportunidades

Engenharia de Analytics: manuseio e otimização de dados

Os Engenheiros de Analytics desempenham um papel fundamental na criação e manutenção de conjuntos de dados de alta qualidade e desempenho. Suas responsabilidades abrangem a contribuição para pipelines de dados, visualização de dados e suporte ao usuário, especialmente utilizando Scala.

Eles se concentram na automação de processos para escalabilidade e eficiência, gerenciando dados de várias fontes e promovendo a acessibilidade e as melhores práticas de dados em toda a organização.

Embora essa definição se aplique aos Engenheiros de Analytics em todas as unidades de negócios, é importante notar que existem variações significativas no trabalho realizado em cada uma delas.

Por exemplo, na unidade de negócios de Marketplace, os Engenheiros de Analytics estão muito focados na criação e manutenção de conjuntos de dados. No entanto, na unidade de negócios de Dados, eles se preocupam mais em melhorar a plataforma de dados e as ferramentas de dados para ajudar outros Engenheiros de Analytics.

Ciência de dados: resolução de problemas de negócios com dados

Os Cientistas de Dados no Nubank têm a tarefa de resolver problemas complexos de negócios utilizando dados. Eles desenvolvem modelos preditivos para apoiar decisões estratégicas, constantemente inovam no desenvolvimento de features e avaliam rigorosamente o desempenho dos modelos.

Compartilhar insights e colaborar com diferentes equipes é uma parte significativa de sua função. Eles utilizam ferramentas como Jupyter Notebooks, Scikit-learn, Keras e bibliotecas de código aberto desenvolvidas internamente para realizar seu trabalho analítico.

Colaboração sinérgica entre as funções de dados

O esforço colaborativo entre Engenheiros de Software, Engenheiros de Analytics e Cientistas de Dados destaca a abordagem multifacetada de gestão e utilização de dados no Nubank. Cada função contribui de maneira única: os Engenheiros de Software constroem a infraestrutura técnica, os Engenheiros de Analytics otimizam o manuseio de dados e os Cientistas de Dados aplicam esses dados para resolver desafios reais de negócios. Essa interação coesa é essencial para fortalecer nossa estratégia centrada em dados.

Engenheiros de Machine Learning: conectando modelos e infraestrutura

Os Engenheiros de Machine Learning no Nubank desempenham um papel crucial na operacionalização dos modelos criados por nossos Cientistas de Dados. Eles pegam esses modelos sofisticados, inicialmente desenvolvidos em ambientes como notebooks Python, e os adaptam para nossa infraestrutura, que inclui tecnologias como Scala e Clojure.

Suas responsabilidades vão além da implementação, abrangendo também o monitoramento contínuo e a manutenção dos modelos, garantindo a consistência, a precisão e a saúde do sistema.

Analistas de Negócios: tomada de decisão e análise

Os Analistas de Negócios no Nubank são os pensadores estratégicos que ajudam na tomada de decisões do início ao fim, aproveitando toda a infraestrutura de dados.

Seu processo envolve a análise de negócios para identificar oportunidades, projetar testes para validar hipóteses, implementar estratégias e monitorar os resultados. Eles analisam os resultados dos testes e desenvolvem estratégias de negócios baseadas em dados, considerando tanto a perspectiva da empresa quanto a dos clientes.

Eles também estão envolvidos em processos internos, utilizando dados para melhorar o recrutamento, pesquisas internas e a eficiência operacional.

Desenvolvendo um widget

Para ilustrar como essas funções interagem, vamos considerar um projeto para desenvolver um widget de recomendação de produtos para nosso app, personalizado com base no comportamento individual dos clientes. O processo envolve:

  • Coleta de dados: Os Engenheiros de Analytics extraem e modelam os dados necessários para o projeto, tornando-os acessíveis para análise
  • Desenvolvimento do modelo: Os Cientistas de Dados analisam os dados e desenvolvem o modelo de recomendação.
  • Operacionalização do modelo: Os Engenheiros de Machine Learning trabalham na implementação do modelo, garantindo que seus inputs estejam prontos e monitorando seu desempenho. Eles também ajudam a determinar a viabilidade de certas funcionalidades. 
  • Análise de negócios: Os Analistas de Negócios se reúnem com os Cientistas de Dados para otimizar as funções com base nos resultados do modelo, avaliando os impactos comerciais dessas recomendações.
  • Criação do dataset final: Dependendo da complexidade das regras de negócios derivadas do modelo, os Analistas de Negócios ou os Engenheiros de Analytics criam um dataset final com as decisões de cliente-produto.
  • Desenvolvimento do widget: Os Engenheiros de Software desenvolvem o widget no app, utilizando o dataset final para exibir recomendações personalizadas de produtos para os clientes.

Principais pontos

  • Processos sequenciais, mas sobrepostos: embora descritos de forma sequencial, essas etapas frequentemente ocorrem simultaneamente ou se sobrepõem, demonstrando a natureza dinâmica e flexível do nosso gerenciamento de projetos.
  • Versatilidade das funções: essas funções não são rígidas; elas frequentemente se sobrepõem e se apoiam mutuamente. Por exemplo, um Analista de Negócios pode se envolver na modelagem de dados, ou um Engenheiro de Analytics pode desenvolver datasets para os inputs dos modelos.

Conclusão

Os esforços coletivos de todas as funções de dados no desenvolvimento de um widget de recomendação de produtos destacam a importância de uma abordagem integrada à engenharia de dados e de software. Ao combinarem suas habilidades e perspectivas únicas, esses profissionais do Nubank demonstram o poder do trabalho em equipe na criação de soluções que não são apenas tecnologicamente avançadas, mas também profundamente sintonizadas com as necessidades dos clientes.

Essa exploração serve como um testemunho da importância de conhecimentos diversos na indústria de tecnologia, comprovando que a soma dos esforços colaborativos é maior do que a simples adição das partes individuais. É um exemplo inspirador tanto para empresas quanto para profissionais, enfatizando o valor da colaboração multidisciplinar no mundo sempre em evolução da tecnologia.

Confira o que compartilhamos sobre esse tema no Meetup a seguir:

Conheça nossas oportunidades