09-11-2020
Data Engineer ou Data Scientist? Descobre a carreira que faz match contigo
Por André Pires, Big Data Engineer e Nuno Chicória, Data Scientist @Xpand IT
“90% dos dados existentes foram criados nos últimos dois anos”. À medida que a quantidade de dados cresce, maior necessidade existe de armazená-la, analisá-la e torná-la útil. À parte de todas essas necessidades, vários empregos começaram a emergir no mundo das TI com diferentes objetivos em mente. E é neste panorama que encontramos os data scientists e os data engineers – unidos pelos dados, mas separados por objetivos diferentes. Assim, neste artigo vamos clarificar as principais diferenças entre as funções de um Data Engineer e de um Data Scientist enquanto provavelmente te encontras com várias questões. Vamos descobrir que carreira e emprego faz match contigo. Data Engineer ou Data Scientist?
O que fazem os Data Scientists?
O número de data scientists duplicou nos últimos quatro anos e tem sido sistematicamente identificado como o emprego número 1 nos Estados Unidos, bem como considerado o emprego mais sexy do século XXI. Mas qual o verdadeiro significado de data science?
Uma piada comum no mundo das TI é de que um data scientist é melhor em programação do que um estatístico; e é melhor em estatística do que um programador.
Com essa “piada” podemos começar a perceber as diferentes habilidades que um data scientist deve possuir para prosperar no mundo das TI. Não é apenas programação, porque no final do dia ainda nos preocupamos com distâncias Euclidianas, desvios padrão ou médias, e não é apenas estatística, porque nunca vais pedir a um estatístico para treinar uma Support Vector Machine em Python.
Data science é uma mistura de ferramentas, conhecimento teórico e as limitações que isso acarreta
Agora, como introduzimos alguma ordem neste cocktail de habilidades e conhecimento? Com perguntas. Um data scientist “vive e morre” pela sua capacidade de fazer as perguntas certas. Podemos criar um pipeline para um cientista dos dados trabalhar (acredita, nós já o fizemos) e, como podemos ver, a base de tudo é a exploração de dados, que é fortemente orientada e influenciada pelas perguntas que fazes.
Quando falamos sobre data science, irás ouvir muitas vezes que 80% é exploração de dados e 20% treino e teste de modelos – o que está muito próximo da verdade. Compreender os dados recebidos, saber como manipulá-los e “prepará-los” são algumas das habilidades mais importantes necessárias para criar um bom modelo de análise de dados/modelo de aprendizagem automático que responda às perguntas que fizemos.
A próxima pergunta deve ser: ‘que ferramentas aqui encaixam?’. No caso de data science, não há uma solução definitiva. Terás que aprender e trabalhar com uma variedade de tecnologias. Só para dar um exemplo, não existe uma linguagem de programação clara. Muitos usam Python, mas R, Matlab e Java são outras opções viáveis com várias bibliotecas associadas, que vão ajudar no teu trabalho de forma mais rápida e fácil (NumPy e Pandas no Python e o TidyVerse no R). Finalmente, enquanto continuas a aprender, vais mergulhar em Machine e Deep Learning e aqui também existem muitas bibliotecas úteis (SciKit Learn, TensorFlow, PyTorch.
Resumidamente, um data scientist “apenas” precisa entender o negócio, saber fazer as perguntas certas, ser um estatístico, ser um programador e estar familiarizado com um “pequeno” conjunto de ferramentas. O data scientist pode ser identificado como o “joker” do mundo das TI.
E os Data Engineers?
Se um data scientist é um “joker” no mundo IT, um Big Data Engineer é o canalizador do mundo movido a dados. Porquê? Porque tem a responsabilidade de arquitetar/projetar e desenvolver as pipelines de dados (batch ou streaming/NRT) que serão a espinha dorsal das futuras organizações orientadas por dados.
O dia-a-dia de um data engineer consiste em engenharia (sim, a maior parte do nosso trabalho é engenharia!) de pipelines e plataformas de processamento de dados eficientes, que podem levar os dados das organizações das fontes aos destinos de maneira eficiente e adequada com a melhor qualidade possível. Dessa forma, as organizações podem alavancar seu melhor ativo – os seus dados – para fins operacionais (como por exemplo: alimentar back-ends críticos que servem como fundamentos operacionais) e analíticos (ser usado pelos data scientists para extrair insights de mudança estratégicas para a organização, por exemplo). Os data engineers devem ser vistos como facilitadores dos dados e o seu objetivo final deve ser fornecer facilmente os dados para que o data scientist (não exclusivamente) brilhe.
Um bom data engineering pode aumentar em dez vezes a produção dos data scientists, fornecendo dados bons e oportunos no melhor formato para que este último os aproveite.
Normalmente, um engenheiro dos dados é o intermediário no mundo dos dados e é responsável por integrá-los entre várias fronteiras: tecnológicas, políticas, departamentais – isso geralmente torna-o num facilitador e integrador de sistema.
Tira proveito de um muito bom conhecimento em sistemas distribuídos como:
- Storages Engines (por exemplo, HDFS, S3, NoSQL DBs)
- Message Brokers (por exemplo, Apache Kafka, Apache Pulsar)
- Sistemas/estruturas de processamento distribuído (por exemplo, Apache Spark, Apache Hive, Apache Impala, Kafka Streams, Apache Flink)
- Plataformas de computação em cloud (por exemplo, Azure, AWS)
Um data engineer geralmente trabalha com linguagens de programação/tempos de execução fortemente estruturados e muito eficientes (por exemplo, Scala, Java), que permite produzir pipelines de processamento de dados robustos e muito rápidos. Como data engineer, na maioria das vezes aplica-se a “cola” que anexa vários sistemas (incluindo projetos de data science) e que devem ser bem versado em Python e outras linguagens comuns usadas por data scientists.
A Data engineering também requer um muito bom conhecimento de dados, de forma diferente que os data scientists
É preciso saber como mapear com eficiência as propriedades dos dados (tipo, volume, taxa de produção, relacionamentos, etc.) em mãos para as transformações de processamento mais eficientes, camadas de armazenamento físico e muito mais. Ter um bom conhecimento de linguagens semelhantes a SQL também é desejável.
No final, a equação é: Data Engineer = Sistemas Distribuídos + Software Engineer + Conhecimento de Dados.
Conclusões: Data Engineer ou Data Scientist?
Apesar das suas diferenças, data engineers e data scientists devem coexistir no mesmo meio. Podemos partilhar algumas ferramentas e haver uma sobreposição de competências, mas aquelas que nos definem e os nossos objetivos são muito diferentes e bem estabelecidas . Ambos agregam grande valor ao mundo das TI, mas de maneiras diferentes. Enquanto os engenheiros dos dados se concentram no processamento/tratamento de dados eficiente, movimentação e armazenamento, os cientistas dos dados concentram-se na descoberta de conhecimento e análise dos mesmos. Independentemente do seu caminho específico, a curiosidade é o pré-requisito comum destas carreiras orientadas aos dados.
As futuras plataformas de dados serão construídas por Data Engineers e Data Scientists, que se devem complementar, em vez de se tentarem ofuscar. Data Engineer ou Data Scientist? Esperamos que descubras a carreira que faz match contigo.
Leave a comment
Comments are closed.