Introdução
Dados estão em todo lugar. Nos últimos anos, com o crescimento do número de dispositivos conectados e a expansão do seu uso, o mundo passou a produzir um volume gigantesco de dados que já não pode ser tratado com métodos tradicionais.
Segundo a Statista, em 2021 havia 23,8 bilhões de dispositivos conectados à internet, sendo 58% deles dispositivos de IoT (smart devices para casa, carros autônomos conectados, dispositivos industriais etc.) e os 42% restantes dispositivos não IoT (laptops, smartphones etc.). Ou seja, hoje os dados podem vir de diversas fontes. Algumas delas são:
- Atividades dos usuários: Toda ação do usuário gera dados — até informações sobre onde e com que frequência tocamos nos apps do celular têm valor. Cada ponto de dado desse tipo precisa ser armazenado e distribuído para os data centers dos aplicativos.
- Dispositivos de “Internet das Coisas”: Esses dispositivos produzem uma enorme quantidade de informações, como dados de sensores gerados em muitos locais diferentes. Todos esses dados precisam ser coletados e enviados para um pool de dados para análises posteriores.
- Logs de programas: As aplicações atuais são compostas por muitos componentes, e todos eles geram logs. Esses registros são enviados para um pipeline de engenharia de dados para análise.
Todos os diferentes dados estruturados que o mundo produz precisam ser entregues a outros componentes da arquitetura de software, ou visualizados e interpretados por analistas de negócios e cientistas de dados. Porém, essa entrega não é trivial. Há alguns requisitos essenciais sobre como fazer isso:
- Os dados precisam ser entregues em uma estrutura padronizada
- Os dados não devem apresentar conflitos
- Talvez seja necessário remover duplicidades
- Os dados precisam ser confiáveis
- A entrega deve ocorrer com o mínimo de atraso possível
Portanto, a entrega dessa informação é um processo complexo e, se não for executado corretamente, pode gerar muitos problemas, especialmente em empresas de médio e grande porte. É aqui que entram os engenheiros de dados.
Neste artigo, você vai conhecer os fundamentos da engenharia de dados, incluindo:
- O que é engenharia de dados e por que garantir um pipeline robusto
- A diferença entre ciência de dados e engenharia de dados
- O motivo do aumento da popularidade da engenharia de dados
- As habilidades de um bom engenheiro de dados
- Como a DataCamp pode ajudar você a se tornar um engenheiro de dados
Quais são as responsabilidades de um engenheiro de dados?
De forma simples, engenheiros de dados:
- Buscam tornar os dados fáceis de acessar e disponíveis para cientistas de dados e profissionais de business intelligence (ou qualquer pessoa que trabalhe com dados)
- Otimizam a arquitetura de big data das empresas
- Projetam e configuram bancos de dados
- Colaboram com times de business intelligence, cientistas de dados e analistas de dados
- Exploram e transformam dados. Para executar todas essas tarefas, os engenheiros de dados primeiro precisam configurar os pipelines de ETL.
Você pode saber mais sobre o que faz um engenheiro de dados no nosso artigo completo.
Pipelines de ETL
Os pipelines de ETL recebem dados complexos em intervalos regulares e os processam para armazená-los em uma forma utilizável. É responsabilidade dos engenheiros de dados estabelecer e manter esses pipelines.
Existem 3 etapas em pipelines de ETL:
- Extract Um grande volume de dados criado por várias fontes é coletado em formatos diferentes.
- Transform Como os dados chegam em formatos distintos e de fontes inconsistentes, eles são processados para ficarem o mais padronizados possível. Isso aumenta a capacidade de descoberta e o uso dos dados nas próximas etapas.
- Load Quando os dados estão em um formato consultável e utilizável, eles geralmente são armazenados em data warehouses. Assim, ficam sempre disponíveis para análises posteriores.
Data warehouses
Data warehouses são onde os dados padronizados são armazenados. Eles são otimizados para filtrar e ler grandes volumes de dados. Nos data warehouses modernos, é possível armazenar dados estruturados e não estruturados, pois também é importante guardar dados que não podem ser categorizados, como fotos e vídeos.
Engenharia de dados vs. ciência de dados
As diferenças entre os papéis de engenheiro de dados e cientista de dados são importantes. De um lado, cientistas de dados têm um papel-chave nas empresas, pois contribuem para a tomada de decisões baseada em dados. Mesmo assim, o sucesso desses profissionais depende diretamente da qualidade dos dados disponíveis.
Do outro lado, engenheiros de dados são quem projeta os sistemas que fornecem dados aos cientistas de dados de maneira organizada e consistente. Depois que os engenheiros disponibilizam as informações, os cientistas de dados buscam padrões e chegam a conclusões usando o formato fornecido pelos engenheiros.
Engenheiros e cientistas de dados trabalham claramente lado a lado. Podemos pensar em um jogo de futebol: o técnico desenvolve as estratégias que criam oportunidades de gol e define as posições dos jogadores. Nesse contexto, o técnico é o engenheiro de dados; a bola é o dado e quem marca o gol é o cientista de dados. O resto do time é a infraestrutura.
Por que a engenharia de dados ficou mais popular?
Segundo uma pesquisa na plataforma Burning Glass Nova, as vagas para "data engineer" cresceram 88,3% em 2019. De acordo com esse estudo, a demanda por engenheiros de dados vem aumentando desde 2016. Outro dado interessante é que o número de oportunidades para engenheiros de dados é quase 5 vezes maior que o de cientistas de dados. O salário de um engenheiro de dados também é de 20% a 30% superior ao de um cientista de dados.
Como dito acima, cientistas de dados são o elo final da cadeia de processamento. Eles precisam que os dados sejam trabalhados por um engenheiro de dados para conseguir realizar seu trabalho. À medida que as fontes e os tipos de dados se multiplicam, cresce a necessidade por engenheiros de dados. Por isso, as empresas têm investido cada vez mais na extração e distribuição de dados.
Na Figura 4.1, um gráfico em pirâmide mostra a hierarquia de necessidades da ciência de dados. Nessa hierarquia, as tarefas atribuídas aos engenheiros de dados estão na base da pirâmide, o que evidencia o quão cruciais eles são para as empresas.
Figura 4.1: a hierarquia de necessidades da ciência de dados.Quais são as habilidades de um engenheiro de dados?
As habilidades de engenheiros de dados geralmente se sobrepõem às de engenheiros de software e cientistas de dados, como mostra a Figura 5.1.
Figura 5.1: funções em dados e conjuntos de habilidadesO papel do engenheiro de dados é mais próximo do engenheiro de software ou do cientista de dados?
As ocupações anteriores de um grupo de engenheiros de dados estão na Figura 5.2. Segundo o gráfico, mais de 40% têm background em engenharia de software. Isso indica não só que engenharia de dados e engenharia de software são mais próximas do que muitos imaginam, como também que engenheiros de software hoje têm muito mais probabilidade de migrar para engenharia de dados do que para outras áreas.
Figura 5.2: engenheiros de dados por função anterior (top 10).Na DataCamp, acreditamos que as habilidades de um bom engenheiro de dados incluem:
- Background em engenharia de software Engenheiros de dados precisam desse background, pois devem encarar os desafios da área com conhecimentos de programação orientada a objetos, estruturas de dados e algoritmos. É essencial ter experiência em Python, Scala ou Java.
- Ferramentas Engenheiros de dados devem dominar ferramentas como Airflow, Apache Kafka e similares.
- Tecnologias de banco de dados Um engenheiro de dados deve conhecer múltiplos tipos de bancos de dados.
- Tecnologias de nuvem Engenheiros de dados devem se sentir à vontade em plataformas como Amazon Web Services, Google Cloud Platform e Microsoft Azure. Também precisam de experiência em arquitetura de nuvem e ferramentas de DevOps, já que são responsáveis por automatizar o fluxo de dados do sistema.
Como aprender engenharia de dados
Se você quer evoluir na área de engenharia de dados, pode começar pelos cursos recomendados da DataCamp abaixo. Ao concluir esses cursos e projetos, você terá um perfil mais competitivo para estágios ou vagas em engenharia de dados.
- Introduction to Python
- Intermediate Python
- Introduction to Relational Databases in SQL
- Introduction to Scala
- Introduction to Data Engineering
- Introduction to Airflow in Python
- AWS Cloud Concepts
- Exploring London's Travel Network (Snowflake, Redshift, BigQuery) Projects
- Building Data Engineering Pipelines in Python
- NoSQL Concepts
- ETL in Python
- Streaming Concepts
- Streaming Data with AWS Kinesis and Lambda
Além disso, nossa Data Engineer Certification é reconhecida pelo mercado e permite comprovar suas habilidades para empregadores.
Se você se interessa por essa carreira, veja em nosso outro artigo como se tornar um engenheiro de dados.



