Esse post foi revistado por: Luis Moneda, Tiago Magalhães, Jessica Sousa, Cristiano Breuel e Henrique Lopes


Cientistas de Dados (CD) e Engenheiros de Aprendizado de Máquina (EAM)  já existem há algum tempo (pelo menos pelos padrões tecnológicos), mas isso não significa que as definições e expectativas específicas para cada função sejam bem acordadas na indústria como um todo.

Longe disso. Muitas vezes as pessoas não têm a certeza de como diferem exatamente e onde se sobrepõem.

Neste post vamos compartilhar nossa visão sobre esse assunto, ou seja, o alcance dessas funções no Nubank. 

Como você verá nas próximas seções, existem algumas dimensões a serem analisadas aqui, portanto, há uma resposta curta com os insights mais importantes e uma resposta longa onde explicamos o que acontece com mais detalhes.

Então, como as funções de CD e EAM são diferentes? Onde estão as semelhanças e onde elas diferem?

Resposta curta: É um espectro de habilidades e elas se sobrepõem

skills needed for a functioning squad lie on a spectrum
As habilidades necessárias para um esquadrão funcional estão em um espectro, e os CD/EAMs estão bem no meio dele.
A quantidade de sobreposição dependerá de quão madura (soluções de AM) sua equipe é

Resposta longa: Depende

Depende muito, principalmente do tipo de equipe da qual você faz parte.

Embora possam ser definidas diretrizes gerais para cada função, haverá muitas variações nas atividades típicas do dia a dia de um CD ou EAM no Nubank, principalmente dependendo do tipo de equipe em que trabalham.

As duas distinções mais importantes são geralmente: 

  • a) quão madura a equipe está em relação às soluções CD/AM
  • b) se essa equipe está mais focada em modelos em tempo real ou em lote.

Como regra geral, quanto mais experiência uma equipe tiver na aplicação de AM a problemas de negócios, menor será a sobreposição entre cientistas de dados e engenheiros de aprendizado de máquina. 

Em equipes de maior maturidade, o foco geralmente muda de implementações ad hoc para soluções escaláveis e econômicas.

A sobreposição CD/AN está presente em todas as equipes. Embora os CDs passem a trabalhar em modelagem mais especializada à medida que a maturidade da equipe cresce, essas duas funções são fundamentais porque conectam o “mundo dos dados” ao “mundo dos negócios”.

Em equipes orientadas para tempo real/streaming, os EAMs estarão mais próximos dos engenheiros de software regulares, pois executarão muitas tarefas semelhantes aqui. Em contraste, os AMEs terão um escopo mais próximo dos engenheiros analíticos (EAs) e engenheiros de dados em equipes onde os modelos são executados em lote ou em trabalhos de longa duração.

O diagrama abaixo mostra o que entendemos serem essas diferenças de equipe. Iremos analisá-las em detalhes nas próximas seções.

General overview of types of teams
Visão geral dos tipos de equipes:
 O eixo X separa equipes de baixa maturidade de equipes de alta maturidade, no que diz respeito a soluções baseadas em AM.
O eixo Y separa as equipes onde os modelos precisam fornecer resultados “just-in-time” (foco em tempo real) comparando com aquelas onde podemos pontuar instâncias em lote 

Conheça nossas oportunidades

Tipos de equipes

1) Baixa maturidade, foco em tempo real

Diagram showing the different roles present in a low-maturity, real-time-focused squad.

Tem muita ambiguidade em uma equipe que está trabalhando no seu primeiro modelo em tempo real. Ainda não está claro quais tarefas precisam ser realizadas, e por quem, o que resulta em muitas sobreposições entre funções. Espera-se que todos desempenhem um papel mais “generalista” durante todo o processo.

Pontos-chave

  • O EAM conecta o “mundo da engenharia” e o “mundo dos dados”. Habilidades de comunicação são fundamentais aqui.
    • Eles precisarão desempenhar várias funções, portanto, muitas sobreposições com Engenheiros de Desenvolvimento de Software (EDSs) e Engenheiros de Confiabilidade de Site (ECSs)
  • Sobreposição considerável entre cientistas de dados e engenheiros de aprendizado de máquina!
    • Eles terão que trabalhar juntos para chegar a um acordo sobre os detalhes de implementação, resolver compromissos (desempenho vs. velocidade, desempenho vs. complexidade, desempenho vs. tempo de lançamento no mercado etc.) e corrigir problemas como distorções no serviço de trem.
  • Muita sobreposição entre cientistas de dados (CD) e analistas de negócios (AN), muita interação necessária para traduzir problemas de negócios, às vezes vagos, em modelos, políticas e medidas a serem tomadas.
  • Provavelmente, espera-se que os CDs forneçam aos Gerentes de Produto (GPs) conhecimento técnico para ajudá-los a priorizar tarefas e definir o backlog da equipe.

2) Alta maturidade, foco em tempo real

Diagram showing the different roles present in a high-maturity, real-time-focused squad.

São equipes que já têm experiência na aplicação de modelos em tempo real a alguns problemas de negócios. As pessoas entendem a responsabilidade de cada função e quais são os desafios habituais. O foco muda da implementação para manutenção, otimização e eficiência.

Pontos-chave

  • A sobreposição entre CD e EAM diminuiu bastante, mas ainda existem algumas tarefas que eles podem compartilhar, como monitoramento e depuração de problemas de dados.
  • Os EAMs gastarão muito tempo mantendo, depurando e monitorando os modelos existentes, de modo que as habilidades de ECS ganham importância
  • As habilidades de EDS ainda são muito úteis para EAMs, especialmente para construir ferramentas para tornar o processamento mais simples e eficiente (por exemplo, extrair padrões comuns em bibliotecas, refatorar código etc.) 
  • A sobreposição entre CD e AN diminui, os problemas de negócios agora são mais claros e os cientistas de dados geralmente podem gastar mais tempo otimizando e ajustando modelos.
  • Provavelmente não haverá mais sobreposição entre CD e GP neste momento, o AN provavelmente será capaz de traduzir os objetivos de negócios em tarefas técnicas (um gerente de tecnologia também pode participar aqui)

3) Baixa maturidade, foco em lote

Diagram showing the different roles present in a low-maturity, batch-focused squad.

Equipes focadas em lote sem modelos de AM anteriores geralmente tentarão adaptar suas rotinas de dados (ou seja, fluxos ETL) e/ou gerenciadores de agendamento (por exemplo: cron jobs, airflow) para dar suporte à pontuação em lote. Mais uma vez, deve-se esperar muita sobreposição entre vários papéis.

Pontos-chave

  • Tal como no cenário em tempo real, há uma sobreposição considerável entre as funções de EAM e CDs, elas precisam se comunicar frequentemente para que estejam cientes do que cada um está fazendo.
  • Mais uma vez, os ANs e os CDs precisarão estar em contato próximo para garantir que os modelos de AM realmente agreguem valor ao negócio.
  • Habilidades de Engenharia Analítica (EA) serão úteis para EAMs.
    • O pré-processamento de dados, a limpeza e a engenharia de recursos consumirão muito tempo para construir e isso geralmente é feito em ferramentas como Spark ou bancos de dados relacionais (ou seja, muito SQL)

4) Alta maturidade, foco em lote

Diagram showing the different roles present in a high-maturity, batch-focused squad.

Uma equipe focada em lotes e de alta maturidade já terá vários modelos em produção e a maioria dos problemas iniciais (implantação, integridade de dados, monitoramento) já terá sido resolvida para modelos individuais, então o foco se volta para escalonamento/eficiência. A sobreposição entre CD/EAM é diminuída.

Pontos-chave

  • Menos sobreposição entre EAM e CDs, pois a equipe já entende os tipos de tarefas necessárias e as pessoas têm expectativas mais claras.
  • Um pouco menos de sobreposição entre AN e CD, mas eles ainda precisarão se comunicar, como em equipes focais de alta maturidade e em tempo real.
    • Os CDs poderão se concentrar em tarefas mais técnicas, como otimização de modelos, adição de novos recursos etc.
    • Da mesma forma, há menos sobreposição entre CD e GP, pelo mesmo motivo.
  • A sobreposição entre EAM e Engenharia de Análise não desaparece. Depois que você atinge um determinado nível de maturidade em equipes orientadas a lotes, o foco geralmente se volta para tornar as coisas mais precisas, mais eficientes e mais baratas
    • Isso geralmente inclui coisas como otimização de consultas, rotinas ETL e outros fluxos relacionados ao gerenciamento de dados.
  • Habilidades gerais de engenharia de software (ou seja, EDS) tornam-se importantes novamente para EAMs
    • A eficiência e a relação custo-benefício também são alcançadas através da criação de ferramentas ad hoc e da refatoração/desduplicação de responsabilidades entre modelos.

5) Equipes horizontais/de apoio

Diagram showing the different roles present in a horizontal team, focused on support and ml-ops.

Existem engenheiros de aprendizado de máquina (raramente, também cientistas de dados) que trabalham em equipes de suporte horizontais. É difícil encaixá-los nas descrições acima, então o que acontece com eles?

Bem, antes de mais nada, o que queremos dizer com equipes horizontais? 

No domínio da ciência de dados/aprendizado de máquina, as equipes horizontais são equipes cruzadas que trabalham com várias unidades de negócios ao mesmo tempo, fornecendo suporte e construindo ferramentas e plataformas para uso do resto da empresa. 

Recentemente, isso também é conhecido como MLOps (Operações de AM).

Pontos-chave

  • Nas equipes de suporte/plataforma, geralmentenão há cientistas de dados. A maior parte do trabalho de plataforma/ferramentas não é tão diferente do trabalho normal de EDS/ECS, portanto, pode ser feito por engenheiros de aprendizado de máquina.
    • É importante, no entanto, que os EAMs horizontais compreendam pelo menos os fundamentos do trabalho dos cientistas de dados para que possam apoiá-los melhor.
  • A sobreposição de EDS é grande aqui, as equipes horizontais geralmente são responsáveis pela construção/manutenção de ferramentas usadas por outras equipes, portanto, habilidades gerais de engenharia de software são essenciais.
    • Da mesma forma, para habilidades de EA, os fluxos em lote também precisarão de ferramentas, suporte etc.
  • As habilidades de ECS também são importantes, porque as ferramentas e processos entre equipes falharão inevitavelmente, exigindo suporte, rotações de plantão, monitoramento, depuração etc.
  • Mesmo que a equipe tenha um GP dedicado, os EAMs precisarão fazer a função de GP para ajudar a priorizar o que precisa ser feito.

Descrições de funções sugeridas

Com todas estas especificidades em mente e independentemente do tipo de equipe, ainda existem algumas atividades centrais que estão inequivocamente no âmbito dos Cientistas de Dados e dos Engenheiros de Aprendizado de Máquina, respectivamente.

Cientista de dados: Descrições de funções sugeridas

Deve saber fazer

  • Preparação de dados: pré-processamento de dados, limpeza de dados, construção de tabelas, extração de recursos, seleção de recursos
  • Trabalho de modelagem: estratégias de amostragem, modelagem, treinamento, avaliação, otimização
  • Comunicação: explicar e apresentar análises, conclusões e compensações às partes interessadas e aos tomadores de decisão. 
  • Foco nos negócios: Ajude os especialistas em negócios a definir quais problemas devem ser tratados pelo CD/AM (e como). 

Pode fazer

  • Monitoramento/depuração de modelo
  • Análises e estimativas relacionadas ao impacto dos modelos nos negócios (por exemplo, definir políticas, limites de pontuação etc.)

Engenheiro de aprendizado de máquina: Descrições de funções sugeridas

Deve saber fazer 

  • Implementação: Todo o trabalho relacionado a pegar um modelo e integrá-lo onde quer que ele seja executado na produção (seja em lote ou em tempo real).
  • Suporte à implantação/ciclo de vida: Cuide das rotinas de CI/CD e corrija os problemas à medida que surgirem. Desenvolva soluções ad hoc, como scripts.
  • Comunicação: preencha a lacuna entre a engenharia (lote e em tempo real), os cientistas de dados e as partes interessadas do negócio.
  • Foco nos negócios: Ajude o CD e as partes interessadas a compreender o esforço/custo de implementação das decisões, ajude-os sugerindo compensações.

Pode fazer

  • Monitoramento/depuração de modelo
  • Ajude as partes interessadas e os líderes a definir quais problemas devem ser tratados pelo CD/AM (e como). 

Relacionado

Outras funções

Uma empresa moderna é composta por diversas funções, e claro que não incluímos todas elas nos diagramas. Entre aqueles que podem interagir de alguma forma com CD/EAMs, temos:

  • Engenheiros de Desenvolvimento de Software (EDS)
    • O EDS é o seu engenheiro de software generalista regular. Um EDS constrói sistemas, trabalha em sistemas regulares (não AM) e executa tarefas relacionadas. As responsabilidades dos EDS se sobrepõem principalmente às dos EAMs.
  • Engenheiros de confiabilidade do site (ECS) (também conhecidos como “Engenheiros de produção”)
    • Os ECSs são responsáveis por monitorar, solucionar problemas de sistemas, lidar com interrupções, suporte de plantão etc. Mais uma vez, os EAMs frequentemente exercerão as funções de ECSs, principalmente quando se trata de sistemas e ferramentas baseados em AM.
  • Analistas de Negócios (AN)
    • ANs são analistas generalistas cuja principal função é impulsionar os objetivos de negócios usando dados como principal fonte de informação. Muitas vezes, os cientistas de dados interagem estreitamente com os ANs para definir os objetivos de negócios e como eles se relacionam com os modelos etc.
  • Engenheiros de Análise (EA) 
    • Também chamados de “analistas de dados” em algumas outras empresas, eles geralmente têm a tarefa de manter a integridade dos dados do ponto de vista semântico. Suas responsabilidades incluem gerenciamento/manutenção de banco de dados, otimização de consultas, ferramentas baseadas em SQL e rotinas gerais de ETL.
  • Gerentes de Produto (GP)
    • São pessoas que pensam nas necessidades do cliente e geralmente impulsionam o backlog. Pode-se esperar que um cientista de dados comunique/traduza conceitos de modelagem para GPs. Cientistas de dados seniores podem até “exercer a função de GPs” de vez em quando.
  • Engenheiros de Dados (ED)
    • Os engenheiros de dados trabalham garantindo a integridade e a qualidade geral dos dados utilizados pela empresa como um todo (não apenas CDs e EAMs). Embora os EDs geralmente trabalhem em um nível mais baixo de abstração (otimizando bancos de dados, tabelas e similares), pode haver momentos em que um EAM (ou mesmo CD) possa ter que interagir com eles para solucionar problemas de dados (geralmente em equipes focadas em lotes).
  • Analistas de Operações (Ops) 
    • As equipes de operações são as posições voltadas para o usuário nas empresas B2C, lidando diretamente com os usuários finais e resolvendo seus problemas de maneira individual, por meio de mídia social, ferramentas de CRM, chat/e-mail etc. Tanto os cientistas de dados quanto os engenheiros de aprendizado de máquina podem interagir com analistas de operações porque às vezes são os consumidores ou partes interessadas posteriores dos modelos.

Conheça nossas oportunidades