Motivação
Em 2012, a Harvard Business Review declarou que cientista de dados era a profissão mais sexy do século XXI. Desde então, o termo cientista de dados ficou cada vez mais popular.

A imagem acima mostra o interesse pela palavra-chave “data science” no Google Search de 2016 a 2021. Dá para ver que o interesse pela área cresceu de forma constante nos últimos cinco anos.
Além de ser um cargo bem remunerado, ele permite usar uma variedade de habilidades, extrair insights relevantes de dados do mundo real e gerar impacto na sociedade por meio de análises. Não é à toa que foi chamada de a profissão mais sexy do século XXI.
Mas, antes de se candidatar a uma vaga em ciência de dados, vale a pena analisar o perfil e a formação de quem já atua na área. Entender as formações e competências mais comuns ajuda você a se preparar com as habilidades certas para se destacar entre os candidatos.
Algumas perguntas interessantes para investigar:
- Quais habilidades a maioria dos cientistas de dados tem?
- Como essas habilidades se diferenciam das de outras funções, como machine learning engineer, data analyst e data engineer?
- Quais são as graduações mais frequentes?
- É necessário ter mestrado ou Ph.D. para se tornar cientista de dados?
- Qual é a proporção de homens e mulheres na área?
- Onde estão localizadas a maioria das vagas em ciência de dados?
- Como a popularidade de diferentes cargos em dados muda ao longo do tempo?
- Como as habilidades exigidas de cientistas de dados evoluem com o tempo?
Obtenha os dados
Vamos usar dados de mais de 160.000 cientistas de dados, 570.000 analistas de dados, mais de 100.000 engenheiros de dados e mais de 19.000 machine learning engineers do mundo todo. Os conjuntos de dados foram extraídos do Diffbot, o maior grafo de conhecimento do mundo. Veja mais instruções sobre como usar o Diffbot aqui.
Para facilitar o acompanhamento, todos os dados usados neste artigo estão no repositório. O acesso e o download são gratuitos.
O notebook com o código deste artigo está disponível aqui. Se preferir obter os dados diretamente do Diffbot, use este notebook.
Encontre as linguagens mais populares
Quais são as principais habilidades de cientistas de dados, analistas de dados, engenheiros de dados e machine learning engineers? Podemos responder usando os dados com as 100 habilidades mais populares de pessoas com esses cargos.
import pandas as pd
skill_count = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/all_skills.csv",
index_col=0,
)
# Show the top 10 rows
skill_count.head(10)

Vamos usar esse conjunto de dados para analisar a popularidade de diferentes linguagens de programação em cada função da área de dados. Vamos visualizar tudo em uma matriz de bolhas criada no Observable.
Uma matriz de bolhas usa tamanhos e cores para representar informações bidimensionais. As linhas representam os cargos e as colunas representam as linguagens. Quanto maior a bolha, mais frequente é o uso da linguagem naquela função.

Para definir o tamanho das bolhas, calculamos a razão entre a frequência de uma linguagem e a frequência máxima entre todas as linguagens e cargos.
languages = skill_count[
skill_count["skill"].isin(
["python", "r", "sql", "c", "c++", "matlab", "java", "javascript"]
)
]
languages["Ratio to All Skills"] = languages["count"].apply(
lambda c: c / max(skill_count["count"])
)
# View languages used by data analysts
languages[languages["Title"] == "Data Analyst"]

As bolhas são destacadas quando estão acima de um número mínimo de ocorrências. Você pode usar o slider para escolher o limite a partir do qual as bolhas ficam em roxo escuro. Por exemplo, se definirmos o limite em 100.000, apenas as bolhas com contagem acima de 100.000 serão destacadas.
Outro recurso legal desse gráfico é ordenar as bolhas por cargo. Vamos usar isso para descobrir as principais habilidades de cada função.

Você pode interagir com o gráfico aqui. Com base nele, vemos que:
- As três principais habilidades de analistas de dados, em ordem, são SQL, Python e R
- As três principais habilidades de engenheiros de dados, em ordem, são SQL, Python e Java
- As três principais habilidades de cientistas de dados, em ordem, são Python, R e SQL
- As três principais habilidades de machine learning engineers, em ordem, são Python, Java e C++
Analise a formação acadêmica
As graduações mais comuns
Quais são as graduações mais frequentes nas funções de dados? Para responder, vamos baixar os dados que mostram a frequência das principais áreas de formação por cargo.
!wget 'majors_df.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/majors_df.pkl'
import pickle
majors_df = pickle.load(open("majors_df.pkl", "rb"))
majors_df["data scientist"]

Vamos visualizar esse dataset para entendê-lo melhor. Primeiro, criamos uma função para plotar as formações de cada cargo.
import plotly.express as px
def plot_majors(title: str, majors_df: dict):
majors = majors_df[title]
return px.bar(data_frame=majors, x="name", y="value")
As principais graduações de cientistas de dados:
plot_majors('data scientist', majors_df)

Interaja com o gráfico aqui. Como muitas vagas em ciência de dados exigem conhecimento de programação e matemática, não surpreende que as duas graduações mais comuns sejam ciência da computação e matemática.
As principais graduações de engenheiros de dados:
plot_majors('data engineer', majors_df)

Interaja com o gráfico aqui. Como o trabalho de engenheiros de dados requer domínio de diferentes tecnologias e linguagens, faz sentido que a maioria tenha cursado ciência da computação e tecnologia da informação, e não matemática.
As principais graduações de analistas de dados:
plot_majors('data analyst', majors_df)

Interaja com o gráfico aqui. As três graduações mais comuns entre analistas de dados são administração de empresas, ciência da computação e economia. Isso faz sentido, já que o trabalho envolve interpretar dados para o negócio.
As principais graduações de machine learning engineers:
plot_majors('machine learning engineer', majors_df)

Interaja com o gráfico aqui. Também podemos usar um gráfico de empacotamento de círculos para ver as diferenças de formação entre as funções.

Você pode interagir com o gráfico acima aqui.
Analise os níveis de formação
É comum ver descrições de vaga para cientista de dados que exigem mestrado ou Ph.D. Mas quantos profissionais de fato têm mestrado ou Ph.D.?
Vamos responder baixando os dados com a contagem de cada nível de formação por cargo.
degree_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/degrees.csv"
)
degree_df.head(10)

Os níveis de formação incluem:
- Ensino médio
- Associate’s
- Bacharelado
- Mestrado
- Ph.D.
- Certificado
Vamos visualizar os dados em uma matriz de bolhas.

Você pode explorar o gráfico aqui. O gráfico mostra que o nível mais comum em todas as funções de dados é o bacharelado. Faz sentido, já que a maioria das vagas exige ao menos graduação, e quem tem mestrado ou Ph.D. também possui bacharelado.
Veja como os dados ficam em um gráfico de barras agrupadas.

Vale notar que o número de analistas de dados com bacharelado é quase o dobro do número com mestrado. Já entre cientistas de dados, quem tem bacharelado é aproximadamente o mesmo número de quem tem mestrado.
Isso indica que a porcentagem de cientistas de dados que buscaram uma pós-graduação é maior do que a de analistas de dados que seguiram além do bacharelado.
Analise gênero
Qual é a proporção entre homens e mulheres em funções de dados? Vamos responder usando os dados com a contagem por gênero em cada cargo.
gender_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/genders.csv"
)
gender_df.head(10)

Em seguida, vamos visualizar em um gráfico de barras agrupadas.

Pelo gráfico, observamos que:
- Em todas as funções de dados, exceto digitação de dados (data entry), há mais homens do que mulheres.
- Em cargos como analista de dados e estatístico, o número de homens é quase o dobro do de mulheres.
- Em cargos como cientista de dados, engenheiro de dados e machine learning engineer, o número de homens é mais que o dobro do de mulheres.
Analise localidades
Os estados mais populares para cientistas de dados nos EUA
Quais são os estados com mais cientistas de dados? Vamos começar obtendo os dados de número de profissionais por estado.
state_jobs = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/state_jobs.csv"
)
state_jobs.head(10)

Depois, vamos plotar os dados usando o folium, uma biblioteca Python para criar mapas.
state_geo = "https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/us-states.json"
m = folium.Map(location=[48, -102], zoom_start=3)
folium.Choropleth(
geo_data=state_geo,
name="choropleth",
data=state_jobs,
columns=["state", "count"],
key_on="feature.id",
fill_color="YlGn",
fill_opacity=0.7,
line_opacity=0.2,
legend_name="Number of Data Science Jobs",
).add_to(m)
folium.LayerControl().add_to(m)
m

Você pode interagir com o mapa aqui. Pelo mapa, o estado com mais cientistas de dados é a Califórnia. Em seguida vêm Nova York, Massachusetts e Texas, respectivamente.
Os 25 países mais populares do mundo para cientistas de dados
Quais são os 25 países com mais cientistas de dados? Comece baixando e carregando os dados com o número de profissionais por país:
!wget 'countries.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/countries.pkl'
countries = pickle.load(open("countries.pkl", "rb"))
Em seguida, plotamos os 25 principais países:
def plot_top_25_locations(title: str, locations: dict):
data = locations[title]
return px.bar(data_frame=data, x="location", y="count")
plot_top_25_locations("data scientist", countries)

Interaja com o gráfico aqui. Os cinco países com mais cientistas de dados são:
- United States
- India
- France
- United Kingdom
- Germany
As 25 cidades mais populares do mundo para cientistas de dados
Quais são as 25 cidades com mais cientistas de dados? Vamos baixar os dados com o número de profissionais por cidade:
!wget 'cities.pkl' 'https://github.com/khuyentran1401/dataset/raw/master/data_science_market/cities.pkl'
cities = pickle.load(open("cities.pkl", "rb"))
O gráfico das 25 principais cidades para cientistas de dados:

Interaja com o gráfico aqui. Pelo gráfico, as cinco cidades com mais cientistas de dados são:
- São Francisco
- Bengaluru
- Londres
- Paris
- Nova York
Os cargos mais comuns para cientistas de dados
Existem várias denominações relacionadas ao cargo de cientista de dados, como sênior, júnior, estagiário, entre outras. Não seria ótimo ver a popularidade de cada uma?
Vamos começar obtendo os dados com a contagem de todos os títulos relacionados a cientista de dados:
!wget "top_titles.pkl" "https://github.com/khuyentran1401/dataset/raw/master/data_science_market/top_titles.pkl"
top_titles = pickle.load(open("top_titles.pkl", "rb"))
top_titles["data scientist"]

O gráfico de barras com os principais títulos relacionados a cientista de dados:

Interaja com o gráfico aqui. Também dá para usar um gráfico de empacotamento de círculos para visualizar a variedade de títulos em algumas funções da área de dados.

Você pode interagir com o gráfico aqui.
Analise tendências do mercado
Palavras-chave
Como o interesse pela palavra-chave data scientist no Google Search mudou ao longo do tempo? Podemos obter esses dados com o pytrends e plotá-los com Plotly Express:
from pytrends.request import TrendReq
def plot_keyword_trend(title: str):
pytrends = TrendReq(hl="en-US", tz=360)
pytrends.build_payload(kw_list=[title])
df = pytrends.interest_over_time()
return px.line(data_frame=df, y=title)
plot_keyword_trend("data scientist")

Interaja com o gráfico aqui. Parece que o interesse pela palavra-chave data scientist cresce de forma linear de 2016 a 2021.
A evolução no número de cargos ao longo do tempo
Como o número de cargos mudou com o tempo? Podemos descobrir usando os dados que mostram a variação no número total de posições ao longo dos anos.
dates_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/dates.csv",
index_col=0)
dates_df.head(10)

A primeira linha indica que havia 40 cientistas de dados em 1988. A segunda linha mostra que, em 1989, eram 52.
O gráfico de linhas desses dados:
px.line(dates_df, x="date", y="value", color="name")

Interaja com o gráfico aqui. Alguns destaques:
- O número de estatísticos se mantém estável ao longo do tempo.
- Antes de 2010, data entry era o cargo mais comum entre as funções de dados.
- Em 2010, data analyst ultrapassou data entry.
- Em 2013, cientista de dados, analista de dados e engenheiro de dados superaram estatístico; cientista de dados cresceu exponencialmente enquanto a digitação manual de dados perdeu relevância,
- Em 2019, machine learning engineer finalmente superou estatístico.
Vamos usar uma corrida de barras (bar chart race) para ver a mudança no ranking entre os cargos ao longo do tempo:

Muito legal! Com esse gráfico, dá para ver exatamente quando ocorreram as mudanças de posição. Visualize você mesmo aqui.
A evolução das habilidades ao longo do tempo
Como as frequências das principais habilidades de cientistas de dados mudaram ao longo do tempo? Vamos observar isso usando os dados de habilidades por período.
skills_df = pd.read_csv(
"https://media.githubusercontent.com/media/khuyentran1401/dataset/master/data_science_market/skills_over_time.csv",
index_col=0,
)
skills_df.head(10)

Em seguida, vamos criar uma bar chart race com esses dados:

Percebemos que, antes de 2014, teaching e economics eram as duas habilidades mais populares entre cientistas de dados. Depois de 2014, Python superou ambas e se tornou a habilidade mais demandada.
Conclusão
Pronto para mostrar suas habilidades profissionais em ciência de dados? Confira o programa de certificação da DataCamp e os serviços de carreira para conquistar o emprego dos seus sonhos na área.

