Este artigo aborda uma nova função emergente chamada Analytics Engineering.

Nos últimos anos, muito foi escrito sobre problemas como descoberta, observabilidade, qualidade de dados e a necessidade de as equipes de dados se tornarem mais “orientadas para a engenharia” em sua mentalidade.

Movimentos como engenharia analítica e ferramentas de código aberto como dbt, Dagster e Great Expectations fizeram um trabalho incrível municiando os profissionais de dados com as ferramentas de que eles precisam para começar a adotar as melhores práticas de engenharia de software, como modularidade, teste e gerenciamento de liberação…. vamos entender como resolver um gap importante para melhores entregas e estratégia de Data Product.

Apenas um primeiro passo para aproximar técnicas mais modernas como o Domain Driven Design para entregas de Data & Analytics.

data-product-example-triggo.ai
Fonte: MartinFowler (Data products serving the domain-oriented analytical data)

Os analistas de dados tradicionais são encarregados de preparar os dados e análises para os usuários de negócios, porém esta função está mudando dramaticamente. Ao passo que os usuários de negócios estão municiados com ferramentas mais “friendly” e cada vez mais aptos a criarem relatórios e implementarem suas necessidades de negócios, os analistas de dados estão deixando um pouco a desejar caso mantenham seu papel tradicional na organização, já que passam a ser um gargalo para as entregas.

Isso acontece por vários motivos, um deles é a complexidade de preparação dos dados na velocidade que são exigidos pelo time de negócios e consequentemente impulsionado pelo time-to-market.

Mudando um pouco o contexto e descendo uma camada, ou seja, da análise para a preparação dos dados, a inserção de Big Data no mercado, criou outras funções como o Engenheiro de Dados e o Cientista de Dados. O Engenheiro de Dados deve ser responsável em preparar os dados, fazer integrações, manter a arquitetura de soluções estáveis, implementar os pipelines, diferente dos analistas de dados que dominam o SQL como linguagem nativa, os engenheiros possuem habilidades de desenvolvimento com linguagens mais amplas e robustas como python, scala, java e outras além do SQL.

Voltando no ponto crítico na complexidade dos dados, integrações para a construção dos data lakes e arquiteturas modernas. Os engenheiros de dados têm dedicado muito tempo para ingestão de dados, que realmente é uma função crítica e custosa. Em segundo plano são tratadas as questões de qualidade dos dados e modelagem de dados (importantíssima para não criar duplicidade de esforços e falhas de governança).

O fato é que sobra muito trabalho para os cientistas de dados e analistas de dados, que precisam atuar na preparação dos dados, em busca de
maior qualidade e organização dos modelos com base nas necessidades de negócios. Dessa forma reduzimos o potencial de criar valor com novos insigths reais e analytics.

Bom, dado todo este pano de fundo inicial, vamos falar então sobre a necessidade da função do Engenheiro de Analytics.

O que é Engenheiro de Analytics?

Os engenheiros de analytics fornecem conjuntos de dados limpos para os usuários finais, modelando dados de uma forma que capacita os usuários finais a responderem às suas próprias perguntas. Enquanto um analista de dados gasta seu tempo analisando dados, um engenheiro analítico gasta seu tempo transformando, testando, implementando e documentando dados. Os engenheiros de analytics aplicam as melhores práticas de engenharia de software, como controle de versão e integração contínua usando a base de código analítico.

O engenheiro analítico se encontra na interseção dos conjuntos de habilidades de cientistas, analistas e engenheiros de dados. Eles trazem uma prática de engenharia de software formal e rigorosa para os esforços de analistas e cientistas de dados e trazem uma mentalidade analítica e de resultados de negócios aos esforços da engenharia de dados. “

Segundo Saira Barles, Analytics Engineer @ Hubspot descreve as diferenças entre as 3 funções usando a analogia de um armário:

“Os engenheiros de dados constroem o armário, eles reúnem a madeira e as ferramentas e as montam. Os engenheiros analíticos abrem o armário e começam a colocar os pratos, canecas, tigelas e organizá-los em uma determinada ordem. Isso pode ser organizá-los em cores, formas ou tamanhos específicos. Em seguida, os analistas de dados vão para o armário e sabem onde tudo está, visto que está bem organizado. Eles podem pegar a caneca cinza que estavam procurando e ir fazer uma xícara de chá!”

Engenheiro de Analytics - triggo.ai

Independente se estamos falando de Data Warehouse ou Data Lake, sempre chegamos ao ponto crítico de entrega para os usuários de negócios, que precisam complementar os relatórios com dados de excel em suas análises, dificultando uma estratégia de Data Driven madura.

É neste elo que encaixamos a função do Engenheiro de Analytics, o gap existente entre a engenharia de dados e os usuários de analytics, sejam eles usuários de negócios, analistas de dados ou cientista de dados que precisam dos dados com maior qualidade para desenvolverem seus trabalhos.

Abaixo algumas diferentes funções das equipes de dados modernas em organizações maiores:

analytics-engineer-role-triggo.ai
Fonte: getdbt.com

Conforme as ferramentas de dados mudaram, também mudaram as pessoas que as usavam. Pessoas que não faziam parte das equipes de dados começaram a desenvolver a alfabetização em dados, “data literacy”. Isso é ótimo, os usuários de negócios queriam autoatendimento e data driven. A desvantagem é que essas pessoas geralmente conhecem SQL o suficiente para serem perigosas. Se você já esteve em uma reunião em que dois executivos têm números diferentes para a mesma métrica, você experimentou o resultado disso.

O que faz o Engenheiro de Analytics?

Os engenheiros de analytics fornecem conjuntos de dados bem definidos, transformados, testados, documentados e revisados por código. Devido à alta qualidade desses dados e da documentação associada, os usuários de negócios podem usar ferramentas de BI para fazer suas próprias análises enquanto obtêm respostas confiáveis e consistentes. 

O engenheiro de analytics faz a curadoria do catálogo para que os analistas de dados e usuários de negócios possam fazer seu trabalho com mais eficácia. 

De maneira geral, os profissionais podem ir diretamente para a engenharia analítica a partir de uma experiência em engenharia de dados ou de um analista. Vir deste último provavelmente é mais fácil, pois esse profissional já conhece o contexto do negócio e outras competências ‘soft skills’, que não são as mais fáceis de aprender. 

  • Algumas habilidades e experiências comuns importantes para o Engenheiro de Analytics: 
  • Engenharia de software, como controle de versão e uso do Git. Ensinar outras pessoas a adotar essas práticas recomendadas. 
  • Modelagem de dados SQL e NoSQL, criar modelos de fácil entendimento, organizar os dados para alto desempenho. 
  • O conhecimento de outra linguagem de programação, por exemplo, Python, é uma vantagem. 
  • Experiência trabalhando em equipe de dados, de preferência como analista ou engenheiro de dados. 
  • Capaz de construir e manter relacionamentos multifuncionais com várias equipes em toda a empresa. 

Todas as funções de dados possuem muitas intersecções e podem parecer confusas, o mais importante é focar na criação de valor. 

É importante mais especialização nas camadas de preparação dos dados!

Fazendo uma analogia, décadas atrás seus pais devem se lembrar de histórias como a do farmacêutico do bairro que atendia todas as consultas de triagem médicas e receitava quase todos os tipos de tratamentos, hoje isso é um absurdo. Existem muitos médicos especialistas em várias áreas, a medicina avançou bastante. Uma análise clínica passa por exames com o radiologista, exames laboratoriais, médicos especialistas e vários outros profissionais de saúde.

Especializar as funções de dados será essencial para os desafios da era digital, entendo que no futuro próximo teremos especialistas em dados segregados por indústrias inclusive (exemplo: cientista de dados financeiro). Veja abaixo algumas funções com exemplos atuais: (em destaque as que foram criadas nos últimos anos).

  • Analista de Dados (dashboard, entendimento dos requisitos de negócios, visual analytics);
  • Engenheiro de Dados (ingestão de dados, pipelines, implementação de soluções e integrações de dados);
  • Cientista de Dados (desenvolvimento de algoritmos e modelos de análises avançadas);
  • Engenheiro de Machine Learning (implementação e manutenção dos algoritmos/sistemas de machine learning);
  • Engenheiro de Analytics (prepara os dados com versões, testes e modelagem correta para analytics, implementando qualidade e curadoria para o negócio);
  • Arquiteto de Dados (especifica e dimensiona as soluções que compõem uma arquitetura de dados, guia do roadmap);
  • Administrador de Dados (esta mais focado nos modelos de dados transacionais);

As plataformas modernas de dados em nuvem, como Snowflake, BigQuery, RedShift, Databricks e outras, abrem espaço para os profissionais de dados dedicarem mais tempo a entender a necessidade dos usuários, dessa maneira a TI deve colocar os pés nas áreas de negócios transcendendo a barreira que a pouco tempo delimitava esta fronteira. Os analistas e cientistas de dados vão ter mais tempo para mergulharem nos modelos de negócios e se tornarem experts. À medida que isso acontece, as falhas de interpretação dos requisitos serão reduzidas e vamos acelerar a entrega de valor nas duas pontas, os usuários de negócios implementando analytics e os cientistas e analistas de dados implementando advanced analytics.

A triggo.ai está conectada com todo o ecossistema de Data & Analytics, acompanhando de perto todas as tendências do mercado. Fale com nossos especialistas!