DEV Community

Kaio Marx
Kaio Marx

Posted on

Engenharia de Dados: uma introdução

O mundo da tecnologia sempre surpreende com alguma coisa nova que você particularmente não sabia que existia, mas hoje não sabe como sobreviveu tantos pull requests sem (obrigado CI/CD, obrigado!). Com Engenharia de Dados não é diferente, não é uma tecnologia em si, mas sim uma posição pouco conhecida a qual tem impacto gigante até o presente momento da indústria, com promessas de continuar sendo uma das principais carreiras para o futuro mundo repleto de IA que nos aguarda.

Primeiramente, vale sempre a definição, já que é uma posição pouco conhecida (duvido que você saiba as atribuições só pelo nome), eu particularmente entendo engenharia de dados como o DBA do novo século. Alguns autores do setor são mais precisos do que eu, segundo alguns deles o engenheiro de dados é aquele profissional encarregado de garantir o dado correto, no formato certo, para pessoa certa, da forma mais eficiente possível.

Dessa forma, ao pensar na estrutura das empresas atuais, podemos perceber que o data engineer é praticamente o precursor da cultura de dados da empresa INTEIRA, end-to-end. Isso porque tanto o time de devs, quanto de machine learning, quanto de BI (business intelligence), vai acabar recorrendo a este profissional quando precisar acessar ou apenas entender melhor a infraestrutura de dados da empresa.

O engenheiro de dados é especialmente importante para o time de machine learning, pelo fato da consciência difundida que esse pessoal tem sobre o conceito de "garbage in, garbage out”, eles praticamente já têm trabalho suficiente apenas se preocupando com o modelo de machine learning “o que”, “como”, mas “quais os dados” é uma resposta que só o engenheiro de dados pode responder com propriedade.

Mas você pode pensar “nossa criaram uma carreira para cuidar dos dados só para treinar inteligência artificial direito”, essa é uma visão reducionista sobre engenheira de dados, na verdade a posição existe desde o primeiro computador que conseguiu fazer armazenamento (provavelmente em torno de 1815) e veio evoluindo junto da indústria, hoje as principais atribuições de um data engineer serão a respeito do “pipeline” da empresa.

Nesse momento, chegamos em uma buzzword, “pipeline” na tradução direta significa cano, resumindo o conceito então vemos que sempre existiu o encanador da empresa, a pessoa que cuida do fluxo que os dados fazem dentro dos canos, mais do que nunca essa pessoa utiliza do advento da cloud, batch processing, stream processing, para entregar o melhor dado possível, na maior velocidade que faz sentido para empresa.

Portanto, as principais ferramentas que compõem o dia a dia da engenharia de dados são aquelas que auxiliam na construção e manutenção do fluxo de dados de toda a organização. Temos como exemplo para a construção dessa primeira infraestrutura o Apache Airflow. Para o processamento e tratamento, pode ser necessário o uso de processamento distribuído, entrando então em cena o Apache Spark. Como é uma posição multidisciplinar que envolve engenharia de software, temos o uso intensivo de SQL e Python, que são as principais linguagens de programação. Juntas, elas representam quase 50% de todas as ferramentas utilizadas.

Top comments (0)