Engenheirxs de Dados
Quem são? Como vivem? Do que se alimentam? Hoje no Medium.
Olá, esse é o primeiro post de uma série sobre Engenharia de Dados, aqui vou compartilhar como tem sido minha experiência trabalhando como Engenheiro de Dados e liderando tecnicamente um projeto de inteligência artificial.
Atualmente trabalho em uma das maiores empresas de Private Equity do mundo. Eu sou lider técnico em um time onde o objetivo é melhorar nossa plataforma com modelos de aprendizado de máquina para encontrar empresas que podemos investir ou comprar.
Processamos um volume de dados enorme (petabytes) para extrair, treinar e aprimorar nossa plataforma.
Para que isso seja possível precisamos de professionais com conjunto de habilidades complementares. A pessoa Engenheira de Dados é uma entre tais profissionais.
Ok, mas muitos podem se perguntar o que é uma pessoa Engenheira de Dados?
Pessoa Engenheira de Dados
De forma simples, a pessoa Engenheira de Dados é responsável por fazer com que os dados do ponto A cheguem até o ponto B.
Esses dados podem ser diversas coisas, como por exemplo:
- Arquivos em formato texto (contratos, formulários, noticias, planilhas do excel, arquivos word)
- Imagens, vídeos e músicas
- Banco de dados (dados do RH, financeiro, )
- Dados extraídos digitalmente (cópia do LinkedIn, posts no Twitter, posts no Facebook, posts no Instagram, histórico de interações e etc)
Dados podem ser intangíveis o que faz com que seja dificil visualizar mentalmente o que esses dados podem ser, ao ler esse artigo por exemplo o leitor está gerando diversos dados sem ao menos perceber.
Provavelmente seu IP de conexão está sendo guardado e vários eventos sendo disparados para o Medium sobre qual artigo você está lendo, quanto tempo você o leu, e etc. Esses dados serão em algum momento processados e analisados por alguma pessoa.
Se o trabalho da pessoa Engenheira de Dados é fazer com dados do ponto A cheguem até o ponto B, qual o desafio?
Desafios
Entre o ponto A e o ponto B existem diversas paradas, o que depende estritamente de qual problema a pessoa Engenheira de Dados está resolvendo.
Vamos usar uma empresa como o Spotify, eles vão capturar diversos dados relacionados aos seus usuários, por exemplo:
- Quais músicas você gosta
- Quais músicas você ignora
- Quais tipos de músicas você ouve em determinados períodos durante o dia
- Quais são os estilos musicais que você mais houve
- Quais são as pessoas que você segue, se conecta
- Quais são as playlists que você segue
Vamos explorar como seria o trabalho da pessoa Engenheira de Dados na construção da funcionalidade para sugerir músicas para um usuário.
Sugestões de músicas
Nosso ponto A é o lugar onde guardamos todas as interações dos usuários e o nosso ponto B é o lugar onde vamos guardar todas as sugestões de músicas para cada usuário que podem ser utilizadas pelo aplicativo depois.
Na nossa primeira parada precisamos extrair somente as interações que estamos interessados para nossa análise, talvez essas interações estão em um formato não ideal e precisamos também convertê-las.
Nossa segunda parada pode ser para agrupar todas as métricas por usuário.
Nossa terceira parada pode ser para extrair todos os genêros, artistas e albums das músicas que foram ouvidas e com isso construir um perfil para cada usuário.
Como última parada antes da parada final podemos filtrar músicas parecidas com os genêros, artistas e albums ouvidos.
Assim chegamos no ponto B, onde guardamos todas as sugestões para cada usuário em uma forma que pode ser usada pelo aplicativo.
Isso demonstra que por mais que o objetivo seja mover os dados do ponto A ao ponto B, esse caminho pode ser cheio de paradas para realizar a limpeza, tratamento ou transformações dos dados.
Resumo
A pessoa Engenheira de Dados é responsável por fazer com que os dados se movam entre um ponto ao outro, fazendo com que eles cheguem ao destino no formato em que podem ser consumidos corretamente.
É de responsabilidade da pessoa Engenheira de Dados fazer com isso seja feito da maneira mais rápida, performática e eficiente possível, isso inclui toda a preparação de dados, filtragem, limpeza e transformações.
No próximo artigo vamos falar sobre abordagens de extração de dados EL, ETL e ELT.
Até mais :)