Analyzing Job Requirements for Data Scientist Positions

Posted on Feb 22, 2021

Introduction

For many of us in the Data Science Boot Camp at the New York City Data Science Academy, the end goal is to acquire a position as a Data Scientist. To do so, many of us will scan the job boards like Indeed.com, LinkedIn, and Glassdoor. I thought that there is no better use of the skills I acquired at the boot camp than to automate my search and glean insights from as many posts as I could get acquire through web scraping Indeed.com.

Why Indeed?

Indeed.com is a popular web site used by job seekers and job posters to connect with each other. Of all the job boards, Indeed.com has the most lenient terms and conditions as they do not require credentials like a user name and password in order to search its listings. In addition, Indeed offers an application programming interface (API) which can be used to return results. However, it is limited when it comes to volume. Altogether, this made the site a good candidate for scraping.

Search Criteria

Indeed.com allows the user to search by a keyword as well as a location. In the query string of the URL, these are denoted by q and l, respectively. Results were sorted by date in descending order instead of by relevance. Thus, anything in the data scientist sphere was captured, and titles were not limited to "Data Scientist".

After setting the query to "Data Scientist" (q) and varying the location (l), I leveraged the Python library Scrapy to crawl Indeed.com and retrieve as many postings as I could on the site. (Note that Indeed.com utilizes CAPTCHAs, which stands for Completely Automated Public Turing test to tell Computers and Humans Apart. These tests check that the user is a human and not an automated web scraper like Scrapy. This resulted in a limit in the number of posts I was able to capture.)

To ensure geographic diversity, I selected six locations:

  • Charlotte, NC
  • Chicago, IL
  • Los Angeles, CA
  • New York, NY
  • Phoenix, AZ
  • San Francisco, CA

After collecting a little over 2,500 posts, the job requirement data was culled from the web pages along with the job descriptions. Job descriptions varied in length from 282 characters to 19,658 characters.

Using the Natural Language ToolKit (nltk) library in Python, I was able to analyze the most common requested skills, tools, and minimum education. This was accomplished by initially breaking the text into distinct words and removing stop words (words that are too common or otherwise irrelevant). Next, lists of common tools and skills were assembled and compared to the word list. In an iterative fashion, new words and phrases were added to the tools and skills lists. The process was repeated until a final count was accumulated for all the job postings.

Results

Out of the 2,502 job listings scraped on February 10th, 2021, the cities with the most listings were New York, NY and San Francisco, CA. The difference between the two is that San Francisco offer more remote positions whereas New York positions are asking for people to be in its metropoitan area. Most likely, this is due to the rising cost of living in San Francisco, especially housing costs.

From the graphs above, you can see that a little over half of the postings are more than 30 days old (1,448 out of 2,502 postings). From this, we can conclude that there is a backlog of jobs that take time to fill.

Minimum Education

When looking at the minimum required level of education, almost 50% of the jobs require a Bachelor’s degree or higher. This contrasts with 20% of the jobs which do not specify a minimum education at all. Only one job asked for post-doctorate work.

Technologies Requested

The most common requested tool for data scientists is Python. Almost 70% of the job listings ask for it. After Python, SQL and R are greatest in demand. It is interesting to note the importance of big data skills like Spark, deep learning tools like TensorFlow and Torch, and Cloud technologies. BI tools like Tableau and Excel also make the list. However, almost 10% of the job listings do not specify any common tool. In these cases, either the tool requested is extremely esoteric (not on the list of 161 different tools) or not mentioned at all.

Broad-Based Skills

When looking at general skills, the job listings overwhelmingly ask for machine learning. However, since data science is the intersection of domain knowledge, mathematics, and computer science, you can see these are also requested in the job listings.

Salary Information

Of the 2,502 job postings, only 97 had salary information. This information came in hourly, monthly, and annual formats, so there was a need to normalize the figures. Of course, pre-hire salary figures are normally negotiable, so that must be taken into consideration.

Salaries were given ranges where there were a low-end and a high-end as shown below.

Metric

Annual Salary
(Low-End)

Annual Salary
(High-End)
Mean $115,621 $145,044
Minimum $20,000 $20,000
25% $80,750 $103,309
50% $114,700 $140,000
75% $150,000 $170,000
Maximum $320,000 $450,000

According to the Bureau of Labor Statistics, the average college graduate with at least a Bachelor’s degree earned a median salary of $72,830. As seen above, data scientists command a much higher salary.

Companies Hiring Data Scientists

Most companies are looking for one to two data scientists. Out of 1,130 unique companies, 730 have only 1 data scientist posting whereas 321 postings come from companies with 20 or more posts. The distribution can be seen below:

For those seeking camaraderie with fellow data scientists, below is the list of companies with the most postings:

#

Company Name

# of Postings

1 Deloitte

71

2 Facebook

64

3 Twitter

31

4 Uber

30

5 Spotify

28

6 Accenture

28

7 KPMG

26

8 Amazon.com Services LLC

22

9 Wells Fargo

21

10 Bloomberg

19

The companies with the most listings run the gamut of financial services, consulting, and technology firms.

Best Days to Look for a Position

As the jobs age, they tend to get filled or otherwise leave the market. The graphs below track posts newer than 28 days old. If you recall from earlier, more than half of the postings are 30+ days old. These older posts have been removed to avoid conflating the graph.

By looking at the day of the week for each listing, it appears that the most popular days for posting jobs to Indeed is Tuesday and Wednesday. This corresponds to research which says that Tuesday is the best day to look for a position. Moreover, since roughly 24% of high-tech job applicants apply on the first day the job was posted, these are the best days to look.

Conclusion

There are great opportunities for budding data scientists. Many firms across the country are looking for people with the skills and talent. In addition, they are willing to pay a premium to bring them onboard. A good candidate will have the broad skills to do machine learning that come from knowing the technologies, the mathematics, and the business background. It is a rewarding and challenging profession and one that I personally am eager to explore further.

Code Repository

Code for this project is housed at https://github.com/DPWasserman/indeed-jobs.

About Author

David Wasserman

Data science professional with a background in finance and credit risk. Has the rare combination of technical skills and business acumen.
View all posts by David Wasserman >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp