3 min de leitura
Cientistas de Dados, Engenheiros de Dados, Engenheiros de Software: a diferença de acordo com o LinkedIn
As diferenças entre Cientistas de Dados, Engenheiros de Dados e Engenheiros de Software podem ficar um pouco confusos às vezes. Sendo assim, aqui está um post fornecido pelo convidado Jake Stein, CEO da Stitch anteriormente RJ Metrics, que visa esclarecer algumas dessas confusões com base em dados do LinkedIn.
À medida que os dados crescem, é necessário conhecimento e experiência para gerenciá-lo. Nos últimos anos, houve uma distinção crescente entre os papéis principais encarregados de gerenciar dados: Engenheiros de Software, Engenheiros de Dados e Cientistas de Dados.
Mais e mais estamos vendo os Engenheiros de Dados surgirem como um subconjunto dentro da disciplina de Engenharia de Software, mas esta ainda é uma tendência relativamente nova. Muitos Engenheiros de Software ainda são encarregados de mover e gerenciar dados.
Nossa equipe lançou dois relatórios ao longo do ano passado, um focado na compreensão do papel da Ciência dos Dados e um sobre Engenharia de Dados. Ambos os relatórios são baseados em dados auto-reportados do LinkedIn. Nesta publicação, irei apresentar as distinções entre esses papéis e Engenheiros de Software, mas primeiro, aqui está um diagrama para mostrar-lhe (em traços mais amplos) o que vimos na quebra de habilidades entre esses três papéis:
Engenheiro de software
Um engenheiro de software constrói aplicativos e sistemas. Os desenvolvedores estarão envolvidos em todas as etapas deste processo, desde o design e até a escrita do código, teste e revisão. Eles estão criando os produtos que criam os dados. A engenharia de software é a mais antiga dessas três funções, e estabeleceu metodologias e conjuntos de ferramentas.
O trabalho inclui:
- Desenvolvimento de Frontend e Backend
- Aplicativos Web
- Aplicativos Móveis
- Desenvolvimento do Sistema Operacional
- Design de Software
Engenheiro de dados
Um engenheiro de dados constrói sistemas que consolidam, armazenam e recuperam dados das várias aplicações e sistemas criados pelos engenheiros de software. A engenharia de dados surgiu como um conjunto de habilidades de nicho dentro da engenharia de software. 40% de todos os engenheiros de dados trabalhavam anteriormente como engenheiro de software, tornando este o caminho de carreira o mais comum para engenheiros de dados.
O trabalho inclui:
- Estruturas de Dados Avançados
- Computação Distribuída
- Programação Simultânea
- Conhecimento de ferramentas novas e emergentes: Hadoop, Spark, Kafka, Hive, etc.
- Construindo ETL / Pipelines de Dados
Cientista de dados
Um cientista de dados cria análise em cima dos dados. Isso pode vir na forma de uma análise única para uma equipe tentando entender melhor o comportamento do cliente, ou um algoritmo de machine learning que é então implementado baseado em código por engenheiros de software e engenheiros de dados.
O trabalho inclui:
- Modelagem de Dados
- Aprendizagem de Máquina (Machine Learning)
- Algoritmos
- Painéis em Inteligência de Negócios
Equipes de dados em evolução
Esses papéis ainda estão evoluindo. O processo de ETL está ficando muito mais fácil, já que as novas ferramentas (como menciona Stitch) entram no mercado, facilitando a criação e manutenção de pipelines de dados pelos desenvolvedores de software. Empresas maiores estão puxando engenheiros de dados da equipe de engenharia de software inteiramente em vez de formar uma equipe de dados centralizada, onde a infra-estrutura e análise se juntam. Em alguns cenários, os cientistas de dados são responsáveis tanto pela consolidação quanto pela análise de dados.
Neste ponto, não há um único caminho dominante. Mas esperamos que essa evolução continue rápida, afinal, os dados certamente não estão ficando menores.
Fonte: Data Scientists, Data Engineers, Software Engineers: The Difference According to LinkedIn
Comentários