Artigo escrito em colaboração com Rodolfo Helfenstein
Um Primeiro Projeto de Carreira
Todos têm que começar em algum lugar, certo? Recentemente, Rodolfo decidiu seguir a carreira de Cientista de Dados e vem estudando essa área com afinco. Embora ele já tenha experiência na área de dados, por meio de uma bolsa de iniciação científica e de um estágio, ainda sente lacunas em seu conhecimento, especialmente em ferramentas como modelos de machine learning e conceitos estatísticos. Essas habilidades são cruciais para sua busca pelo primeiro emprego como Cientista de Dados júnior.
Por isso, Rodolfo decidiu criar seu portfólio de projetos, onde documenta o processo de desenvolvimento de cada trabalho, ao mesmo tempo em que aprofunda seus conhecimentos e estuda os requisitos exigidos para as vagas na área de Ciência de Dados. Quem busca uma oportunidade como Cientista de Dados pode entender melhor as exigências do mercado e aprofundar seus estudos realizando uma análise das vagas disponíveis no LinkedIn.
A primeira etapa desse projeto envolve a compreensão de como extrair dados de vagas para Cientista de Dados no LinkedIn. Para isso, Rodolfo optou por utilizar web scraping como método de estudo, visando coletar e analisar essas informações. Ele escolheu Python como a linguagem de programação, tanto por sua familiaridade com ela quanto por sua ampla aplicação no tratamento e visualização de dados. Além disso, o Python oferece bibliotecas poderosas para web scraping, como o Selenium. No entanto, já que ele extrairia dados de uma página web, precisou aprender o básico de HTML para identificar e buscar as informações no código-fonte usando XPath.
Coleta de Informações das Vagas e Seus Desafios
O primeiro problema encontrado ao estudar como extrair os dados da descrição das vagas foi a diferença entre o código HTML inspecionado pelo navegador e o HTML lido pela biblioteca. Embora ambas as estruturas contenham as mesmas informações, elas possuem divergências nos tag-names. Assim, foi necessário visualizar o código da página por meio do próprio web scraping para extrair as informações necessárias.
Outro problema enfrentado foi que, ao pesquisar por vagas de Ciência de Dados no Brasil, a página de pesquisa continha apenas a descrição da primeira vaga, enquanto as demais vagas apresentavam apenas links para suas descrições. Dessa forma, foi necessário programar o script para percorrer toda a página e coletar todos os links de cada vaga. Como a página é otimizada e existem aproximadamente 1000 vagas para essa área no Brasil, a página exibe um número limitado de vagas. Por isso, foi preciso que o script rolasse a página até o final e clicasse no botão para mostrar mais vagas.
Após coletar as URLs de cada vaga, Rodolfo pôde finalmente extrair a descrição de cada uma. Como o objetivo é analisar os requisitos mais comuns das vagas de Ciência de Dados, ele criou um dicionário de palavras-chave que correspondem às habilidades e conhecimentos comumente exigidos na profissão, como linguagens de programação (Python, R, C/C++, SQL, Scala), ferramentas de visualização (Tableau, QlikView, Power BI), armazenamento em nuvem (AWS, Redshift, Azure), entre outros.
Top 20 Requisitos para Vagas de Cientista de Dados
A figura abaixo apresenta os resultados dos requisitos mais solicitados em vagas de Cientista de Dados e semelhantes.
Como era de se esperar, SQL e Python foram as linguagens mais requisitadas, sendo mencionadas em 94 e 62 vagas, respectivamente. Isso não surpreende, visto que são amplamente utilizadas no trabalho com dados. Embora não seja uma linguagem de programação propriamente dita (o Excel utiliza VBA como linguagem de programação, mencionada apenas 7 vezes), o Excel foi muito requisitado. Já a linguagem R aparece mais para o final do ranking. Outras linguagens, como Scala e C/C++, foram pouco mencionadas, a ponto de não aparecerem na lista. A comparação das linguagens de programação mais requisitadas é apresentada na figura a seguir.
Análise das Ferramentas e Habilidades Requisitadas
Uma grande surpresa foi descobrir que o inglês é a segunda habilidade mais requisitada, ao lado de Python. Isso pode ser explicado pelo fato de muitas empresas serem multinacionais ou atenderem clientes globalmente, o que torna o domínio da língua inglesa essencial na área de Ciência de Dados. Ferramentas de visualização de dados, como Power BI (com 48 menções) e Tableau (com 18 menções), também se destacaram e devem ser levadas em consideração, já que a visualização é crucial para facilitar a interpretação e o entendimento dos dados.
Considerações Finais
Alguns pontos importantes a serem ressaltados nesta análise são:
- Nem todas as vagas analisadas são especificamente para Cientistas de Dados, pois a pesquisa no LinkedIn retorna vagas semelhantes (às vezes nem tanto), como Engenheiro de Dados, Analista de Dados, Analista de BI, entre outras.
- As palavras-chave de cada tecnologia ou conceito foram escolhidas manualmente, de acordo com o que foi percebido como mais cobrado nas vagas de Cientista de Dados.
- Para verificar se um requisito estava presente na descrição da vaga, foi feita uma busca simples pela palavra-chave no texto, o que pode gerar erros, como detectar “essa vaga não necessita de Python” como um requisito para Python.
- Palavras-chave mais simples, como as linguagens de programação C e R, foram pesquisadas como ” C ” e ” R ” (com espaços antes e depois) para evitar que todas as descrições contendo essas letras fossem retornadas como requisitos.
- A análise foi realizada com base nas vagas disponíveis em um determinado dia. Uma análise mais precisa dos requisitos mais relevantes para essa área envolveria considerar mais vagas ao longo de um período maior.
Sendo este seu primeiro projeto, Rodolfo ficou satisfeito com os resultados, mesmo reconhecendo as limitações e possíveis falhas na detecção dos requisitos, dado que a análise de textos envolve uma complexidade maior (que não era o foco principal). A partir desse projeto, ele poderá direcionar seus estudos para os requisitos mais recorrentes nas vagas de Data Science, aumentando suas chances de ser selecionado para futuras oportunidades. O código completo está disponível no GitHub.