Guia Prático em Analytics Engineering
Disclaimer: Este é um port do mesmo post que escrevi no Medium há alguns meses, na época infelizmente ainda não existia uma excelente plataforma como o TabNews para postar o conteúdo haha
Se você acompanha a evolução de times de Dados e Analytics nos últimos 5 anos, provavelmente deve ter percebido em tempos recentes uma escalada de vagas sendo abertas no Brasil para uma nova posição: A pessoa Analytics Engineer.
Esta transformação vem ganhando cada vez mais força em cenário nacional, e naturalmente muitas dúvidas acabam surgindo dentro da comunidade sobre os objetivos destes(as) profissionais, as dores que a função procura resolver e até mesmo sugestões de preparação que as pessoas candidatas em potencial possam seguir. Portanto, este post procura servir como guia prático para responder estas e outras dúvidas existentes sobre o tema.
Antes, um pouco de história
Para compreendermos claramente a missão da pessoa Analytics Engineer, precisamos retornar alguns anos na história a fim de analisar como era disposta a estrutura dos times de Dados até então. O mais comum é que encontrássemos duas principais funções, a saber:
- Data Engineer/ETL Analyst: Pessoa responsável pela extração e tratamento dos dados brutos da companhia, geralmente oriundos de bases relacionais e dados de sistemas parceiros, tais como Zendesk e Salesforce. Também era a pessoa responsável pela reorganização e carga dos dados em sistemas de Data Warehousing visando o consumo eficiente para fins de Analytics/BI.
- Data Analyst/BI Analyst: Pessoa responsável pela interface com os times de Negócio, construção de análises descritivas e de dashboards de indicadores para a companhia. Também ficava responsável pela construção das queries responsáveis pela apresentação final dos dados a stakeholders.
A partir de 2012, a adoção dos serviços de Computação em Nuvem por parte das empresas e a evolução cada vez mais acentuada das Tech Startups levou a uma série de transformações profundas no cenário de Analytics, onde podemos citar como principais:
- A evolução das tecnologias de hardware computacional e a adoção de provedores de nuvem levou a uma redução substancial dos custos de armazenamento e/ou processamento de dados por parte das empresas, permitindo a adoção de estratégias até então inviáveis, tais como a armazenagem e processamento de dados históricos em longo prazo, a utilização de Machine Learning para viabilizar novos produtos e/ou serviços, a construção de Data Lakes e a exploração de formatos de dados semi e/ou não estruturados, tais como textos e imagens.
- A criação e evolução de ferramentas de extração e pipeline de dados, tais como Fivetran,Stitch e Airbyte trouxeram avanços significativos aos processos de ingestão e tratamento básico de informações de diferentes tipos.
- A criação e evolução de ferramentas modernas de BI, tais como Looker, Mode e Metabase passam a democratizar a exploração e consumo de dados para além dos limites de Data Analysts, o que por sua vez levou a uma série de discussões interessantes de democratização de dados nas companhias.
Como é de se esperar, todas estas transformações também levaram a discussões e transformações profundas na estruturação dos times de Analytics. Com a maior variedade e volume de dados, logo a tarefa de manutenção de plataformas de dados por parte dos(as) Data Engineers torna-se uma tarefa cada vez mais complexa, levando à existência de um “gap” entre a ingestão dos dados brutos e a composição das modelagens necessárias para a utilização democrática dos dados por parte dos times de Negócio, levando-se em conta também questões envolvendo a qualidade destas informações e robustez do entendimento das métricas.
É com base nestas e outras questões que surge então uma nova figura: A pessoa Analytics Engineer 😆
E quem é a pessoa Analytics Engineer?
De acordo com as definições do dbt, a pessoa Analytics Engineer é diretamente responsável pela construção de datasets e modelagens atreladas a boas práticas de Engenharia de Software, tais como controle de versão, testes e integração contínua. Também espera-se que esta pessoa consiga realizar as devidas interfaces com os times de Negócio com o objetivo de educar e apoiar na construção do movimento de self-service e democratização de dados dentro da companhia.
Em um contexto geral, a imagem abaixo consegue resumir de forma sucinta as responsabilidades esperadas para cada profissional dentro de times de Analytics modernos:
E como estar preparado(a) para as vagas?
Com base nos pontos que trouxemos até agora, podemos notar que a figura da pessoa Analytics Engineer envolve tanto o desenvolvimento de temas técnicos quanto de comunicação e envolvimento com o Negócio. Portanto, procuramos estruturar um breve guia que apresente uma relação de materiais úteis para o desenvolvimento de pessoas candidatas e/ou interessadas em migrar para esta função.
- Use a Cabeça — Python: Um dos melhores livros para pessoas iniciantes, possui uma extensa relação de exercícios práticos e projetos aplicáveis no dia-a-dia. Altamente recomendado para estudantes ou pessoas que se encontram nos primeiros estágios da Carreira.
- Aprenda Python do Jeito Certo: Este livro é uma tradução direta para o análogo Learn Python: The Hard Way, do Zed A. Shaw. Possui uma abordagem extremamente prática, apresentando os mais diversos fundamentos da linguagem por meio de exercícios.
- Curso de Análise de Dados em Python: Excelente série de vídeos disponibilizada no YouTube pelo time do LabHacker da Câmara dos Deputados, apresentando todos os fundamentos necessários para utilização de Python em Análise de Dados.
SQL
- Practical SQL: Uma das referências mais completas e didáticas sobre SQL, este livro consegue expor muito bem os fundamentos da linguagem, trazendo cases de análise e expondo como estas são resolvidas por meio de queries de diferentes níveis de dificuldade. Serve também como guia de preparação para testes das principais startups do mercado.
- SQL Bolt: Site que traz uma apresentação dos fundamentos da linguagem por meio de exercícios práticos. No entanto, não chega a trazer conceitos mais avançados.
- Aula de SQL para Iniciantes: Aula de aproximadamente 4 horas disponibilizada no YouTube sobre a linguagem, possui mais de 1 milhão de visualizações, sendo portanto uma boa referência gratuita para quem esteja começando.
ETL/ELT e Pipelines de Dados
- Supletivos — Data Hackers: TODOS os vídeos desta playlist são recomendados. Estes são encontros gravados por membros da comunidade de Engenharia de Dados do Data Hackers e que trazem uma boa gama dos fundamentos de cada tecnologia, sendo portanto uma fonte vasta de conhecimentos em Português sobre diversas ferramentas que vêm ganhando força em ecossistemas de dados modernos. Dentre as tecnologias já abordadas estão o Airflow, o Spark e o Amundsen.
- dbt Fundamentals: Curso gratuito construído pela equipe do dbt, traz uma ótima série de explicações sobre Analytics Engineering e sobre a ferramenta de transformação de dados.
- Learning Spark: Um dos melhores livros sobre processamento de dados e a suíte Spark. Disponível para download gratuito por meio da Databricks.
- Data Pipelines Pocket Reference: Um dos melhores livros práticos existentes sobre pipelines de dados, traz uma ótima coletânea de casos de uso e processos de construção de pipelines de dados modernos de forma prática e coesa.
Guidelines em Analytics Engineering
- The Analytics Engineering Guide: Excelente guia disponibilizado pela equipe do dbt, possui uma série de explicações claras envolvendo a criação da função em diferentes empresas e algumas dicas de implementação de processos e/ou construção de equipes.
- The Analytics Setup Guidebook: Este é um guia com proposta similar à do primeiro, mas que possui uma seção excelente sobre modelagem de dados e apresentação das metodologias mais consolidadas na literatura. Produzido pelo time da Holistics, cujo produto possui proposta similar a do dbt.
Conclusões
Escrevi este guia com enorme carinho a partir das minhas próprias descobertas que tive ao longo dos últimos meses sobre o assunto, com a expectativa de que os pontos trazidos aqui sirvam como ponto de partida de preparação para pessoas em diferentes níveis. Fico à disposição em meu LinkedIn para tirar outras dúvidas ou receber sugestões de melhorias para o texto, visando apoiar ainda mais a comunidade 😊