The 100 Hour Journey to Getting a Data Science Job Offer
Starting the Journey
When it comes to the job search process, stereotypical words of wisdom like “network more” or “be patient” are helpful to a degree, but the real valuable advice comes from those who live and breathe it. Over the past several months, I have been knee deep (neck deep?) in job applications, interviews, and technical assignments looking for my next career move as a data professional. While many friends and colleagues will soon see a LinkedIn notification that I changed jobs, what gets missed is the insane amount of effort that it required.
Before you begin the job search process, I highly suggest you dive deep into why you are looking for a new job. No situation is perfect, so make sure you are leaving for more than just a five percent raise. If you are in a good situation with your current employer, you have the advantage of being patient in the job search process. Searching, applying, and receiving a job offer can take months, so I highly suggest you start sooner than you think is necessary. Even if you are a hot commodity in the market, you will likely face strong competition and challenging interviews if you want the best opportunities. While everyone has their own unique situation and priorities, here are the primary reasons why I was looking for a new job:
Reason #1: Desire to settle in a different city
New York City is a fantastic place to live for part of your life; however, it is difficult to settle down there. The high cost of living always worried me. COVID quite literally forced me out of the city. I never felt the need to return on a permanent basis.
Reason #2: Shift my job responsibilities
As a data professional, you need to specialize in something during the first five to ten years of your career. There are too many branches in tech to become an expert in more than one or two areas. This trend will only get harder as tech, data, and artificial intelligence become ingrained in every business process. Tech and data expertise will eventually spread across all positions at a company. After experiencing a wide array of job responsibilities throughout my career (hence the pseudonym–Data Generalist), I realized that I was specializing in an area that was not my biggest strength nor was my number one passion. I knew I had to shift into a role that focuses more on analyzing data rather than creating it.
Side Note: If you aren’t following your passion as a data professional, you will struggle against your competition. People in tech live and breathe this stuff.
Reason #3: Increase in salary
After doing an extensive amount of research, I came to the conclusion that I was significantly underpaid with respect to the market for my skills and experience. I found the most accurate salary information was from the 2021 Harnham Data & Analytics Salary Survey. Conversations with recruiters and interviewers helped me fine tune the appropriate, market-level salary expectations. Other helpful salary resources included the following:
- Blind App – the anonymous professional network
- Glassdoor– the first place to get your baseline for salary expectations
- Indeed – they have salary filters in their search engine
- Levels.fyi– compare salary levels across companies, best for big tech
Searching and Applying for Jobs
The job search and application process is a painful experience for the applicant no matter how you approach it. You will spend hours reading job descriptions on job listing websites and completing the almost identical version of a Workday web form for each organization. Although it is not fun, I highly suggest you read through the job postings carefully. You will notice patterns start to emerge. Many data professional roles are transforming into specialties, such as digital analytics, visualization, NLP, product analytics, deep learning/neural networks, computer vision, forecasting/time series, and decision science. When you are searching for jobs, try to think about which specialties make the most sense for you. They should be at the intersection of your passions, experiences, and strengths.
Both LinkedIn and Indeed are fantastic websites for finding tons of job listings. The downside is that everyone knows about them. Popular job listings on LinkedIn will have hundreds of applicants. While LinkedIn seemed to have more listings, I preferred Indeed’s salary estimation filter. I recommend searching for job listings outside of the obvious places. Here are some less common ideas and job listing websites:
- Google “top startups/employers in X city”
- Search lists of “top tech/startup companies”, like this one by Forbes, or the top AI startups featured in another Forbes article. Then go to the career websites for these companies.
- Remotist Newsletter – Remote Jobs– List of remote jobs emailed to you on a regular basis
- Stack Overflow jobs – Tech, software engineering jobs
- USA Jobs– government jobs
- Defi/Crypto Jobs – Jobs in decentralized finance
- Startup Job Watch Database – Good list of startup job postings. First month is /$1. Make sure to cancel it before second month
- Angel List– Extensive list of start up job postings
- Sahil Bloom’s Job Board– Unique list of jobs across different functions from organizations that Sahil admires
- Gary’s Guide Tech Startup Jobs – Tech and Start up jobs in select, major cities (e.g. NYC, Washington DC, etc.)
- Packy McCormick’s Job Board– List of companies/jobs
- Go directly to career websites for your favorite companies. Plenty of companies do not list jobs on LinkedIn/Indeed.
Note: I received an interview invitation on about 15 percent of my ~128 job applications. A higher percentage might indicate that you aren’t shooting high enough.
The HR Screening Interview
For most organizations, the HR screening interview will be a brief video/phone chat to make sure everyone is on the same page. Most of the talking is often from the interviewer describing high level expectations for the job. While larger organizations will have someone in HR do this step, start ups will often combine this step with the standard second round interview. This means some behavioral questions and details surrounding your experience. The most important topics to ask the interviewers during this interview round are the following:
Topic #1: Salary Expectations
If you aren’t on the same page, then you will waste hours of time in interviews and assessments. You need to do research to have a reasonable salary request. Have your salary target and range prepared prior to the interview. Remember to adjust your expectations based on the geography, industry, job title, and job requirements. Industries such as non profits or “research” positions will often pay less than jobs in industries such as tech, consulting, or finance. If job requirements list in-demand skill sets, raise your salary demands. There are so many variations of job requirements for “Data Analyst” and “Senior Analyst” that you need to carefully examine the job postings for each one. A “Data Analyst” at a tech company likely requires a stronger skill set, thus, demanding a higher salary than one at your average non-tech organization. Here are a few salary questions you should consider asking:
- What is the expected salary range for this position?
- Is this position bonus eligible? If so, up to how much?
- How much equity/stock compensation is expected for this position?
- [Remote only] Is there a salary adjustment for my location?
Note: If you play the game of avoiding salary talk so you are in a better negotiation position, you could end up wasting your time on interviews and technical assignments.
Topic #2: Interview Process Timeline
Even if you are not in a rush, it is important information to understand how long the interview process is expected to take. You never know when another organization might give you a tight deadline to respond (e.g. if presented a job offer). Better to have the information ready in hand. Here are a few questions to consider asking:
- How many interviews will there be?
- How many technical interviews?
- When can I expect to hear from you if I made the next round?
- When do you expect the decision to be finalized?
- When do you expect the candidate to start working?
Topic #3: Technical Assessment Details
For most data professional positions, there will be some sort of technical assessment. They may take the form of live coding sessions, live technical question and answer sessions, describing your technical experience in depth, and/or a take home assignment. Take home assignments can range from 5 to 20 hours of unpaid work that is typically expected to be completed in a week. If you want to save time, I would recommend that you request to have a live coding session in place of a take home assignment. If you receive an assignment that will take more than 5 hours to complete, I suggest taking a moment to consider whether it is worth your time. Do not hesitate to ask for more time if you have other responsibilities, such as a full time job, schoolwork, or a family to take care of. Personally, I rejected a few of them because I did not have the time. Overall, most of the technical assessments I came across for “data science” positions emphasized native python and SQL.
Note: Not only are you not paid for your take home assessments, but many organizations forbid you from publishing your code on Github because it often uses sensitive data.
Topic #4: Remote/Hybrid Situation
Confirm the expectations on how many days you can work remote each week. Job postings are not always accurate.
Topic #5: High Level Job Requirements
Confirm the expectations and requirements for the job. Job postings are not always accurate and job titles can be deceptive. There are too many variations of data scientist and data analyst job postings. If your interviewer is not someone from HR, but rather a data professional, then you should ask more detailed questions for job expectations.
Interview Priorities
If you make it past the HR screening interview, you will have additional interviews that cover behavioral and technical questions. After participating in more than two dozen interviews, here were some of the most common themes:
- End-to-End data centric projects or experiences. You should be able to discuss these experiences at a high level, as well as, at a granular level. What was the objective? Who was the intended audience? What technologies or methodologies did you use?
- Your ability to communicate technical concepts to non-technical audiences. Be ready to share experiences or situations that showcase this ability.
- Clear reasons why you want this specific job and why you want to work at this specific company.
- Your level of expertise in the most popular technologies as a data professional (e.g. python, R, SQL, etc.)
- Any experiences or academic work in specific skills/qualifications emphasized in the job posting. For example, product analytics positions often emphasize A/B testing and experimentation.
- How you handled a difficult situation or a problem at work, on a project, or through your academic pursuits.
- Your passions. Interviewers want to understand if this will be a cultural fit.
- Your ability to work in a stressful or fast-paced environment. Can you manage multiple projects, deadlines, and assignments? Do you have experiences to share in this situation?
- The ability to talk through your thought process in a live coding session
- Be ready to have some thoughtful questions for the interviewer about the company and/or the position
- Experience managing employees and/or projects
Note: Here is a good Twitter thread that provides more advice on generic interview Q&As.
The Offer
So what did it take to get at least one offer that addressed all of my reasons for leaving my current job? Let’s take a look at some numbers.
Physical Effort
128 job applications
27 interviews
15 hours of take home assignments
10 hours editing resumes, cover letters, LinkedIn, and public profile
10 hours of coding practice (i.e. SQL, python)
10 hours working on a public, personal project to demonstrate machine learning knowledge
8 hours of company, salary, and industry research
7 hours of live, technical assessments
2 hours on personality/behavioral tests
The entire effort took approximately 135 hours of total commitment over the course of three months.
Mental Effort
As a quantitative person, the figures above are representative of the experience from a time commitment perspective; however they overlook the mental and emotional toll that the process takes. So much of this experience is outside of your control. There are no words that can describe the feeling of rejection after making it to the final round of interviews for a position that you really wanted. The hiring process is a complete blackbox to the prospective applicant. One company spent more than five hours interviewing me, proceeded to choose another candidate, and then refused to provide any feedback. A different organization was kind enough to provide feedback on a take home assignment, but their feedback implied that I should have spent an additional 5-10 hours on their take home assignment. I had already spent 10 hours on the assignment, in addition to, a full time job and graduate school work. I guess I should be thankful that those companies at least responded to me. There were a number of companies that did not even send a rejection email. Apparently, ghosting isn’t exclusive to the modern dating scene.
The worst part of the job search and application process was the constant feeling of anxiety and uncertainty about my future. In my particular situation, I had no idea which city I would be living in three months from now. The temporary COVID relocation was about to come to an end.
Before you embark on the job search process, be prepared for the physical and emotional toll that the process can take. Nobody wants to spend dozens of unpaid hours searching and interviewing for their next job, but it might be in your best interest. After all of that stress, was the end result worth it? 100 percent.
~ “The Data Generalist“
Data Science Career Advisor
Note: I publish data professional career advice like this regularly on my Twitter and Blog.
Final Note: This article was discussed by the Analytics Power Hour podcast in this episode.
Other Recent Posts
- Synthetic Data: Innovation or Illusion?
- The Tech Translator Will be the New Accountant
- Tips From a First Time Home Buyer
- When Does AI Make Sense?
- AI Will Not Replace Tech Jobs
Very good article. Having recently undertaken a similar endeavour and had very similar experiences over a 4 months time I See how useful this guide can be for all people aspiring to find a new job in tech. I can suggest one addition taken from my experience : log all your activities. With tens of companies and sometime multiple processes open a the same time I found useful to create a personal wiki with all related information including feedbacks received, topics to study, etc. After a while, writing a motivational letter becomes as easy as assembling a few building blocks and customizing it.
Thanks Fabrizio. Definitely good advice. I had dozens of word docs with notes for each company and job application.