Between a job application and an interview - data science / machine learning tech jobs
This is a follow up to my previous article on applying for tech jobs (data science / machine learning job application processes are similar). This artcile will outline the different types of interview processes.
- This article is slightly opinionated because of my strong inclination towards “process justifying the results” (for better repeatability/reproducibility) rather than “results justifying the process”
- Skip to section 2 - “How to reduce uncertainty during preparation?” if you are a seasoned data science / machine learning job seeker
It’s common for a candidate to have a response rate of less than 1%, but it is exteremly important to be prepared for the next steps right from the word go. It is ok to test the waters with the first few interviews, but it’s important to acknowledge that opportunities don’t always come knocking at the door - therefore, it’s important to give 100% during each interview even if there are multiple interviews in a day (including undesirable companies).
- Screening (max 45 mins): Either the recruiter or a team member will check for basic fitness, behavior, and intent to join the company. Usually there’s some scope to ask questions about the team, the work, the company culture, etc. When the job market is competitive the interviewer may go an extra mile to sell the company to the candidate
- Screening test (1 hr each): Coding / quant / ML knowledge / … test, usually through a platform similar to HackerRank
- Technical interview (1 hr each): Not a coding interview, but related to design / methodology / depth
- Hiring manager interview (1 hr): Usually less technical, will mostly discuss a past/current problem that needs a fresh perspective (aka free consultation for the company). In rare cases a future/open problem will be discussed
One of the following processes can be expected after a resume shortlist (excluding offer discussion):
- Screening -> n technical interviews (n is usually between 2 and 4) -> hiring manager interview
- Screening -> presentation -> technical interviews (1 or 2) -> hiring manager interview
- Screening test -> n coding + technical mixed interviews (n is usually between 1 and 4) -> hiring manager interview
2 How to reduce uncertainty during preparation?
There are several possible interview processes, which demand job seekers to be constantly on their toes. However, it is possible for job seekers to reduce the uncertainty by:
- Practicing for coding interviews (use platforms such as LeetCode, HackerRank, etc. - my recommendation is to pay for the subscription to light a fire in the belly)
- Prepare for the most common questions (coding / machine learning / other). Hints: a) LeetCode ranks the top recently asked questions by company, b) Commonly asked questions in machine learning interviews (courtesy Scott Freitas): https://www.linkedin.com/feed/update/urn:li:activity:7000168739933474816
- Preparing a short presentation summarizing a few interesting projects. For candidates with no experience - showcase the value of academic projects. For exeperienced candidates - create and maintain a publicly viewable and distributable summary of your projects. In either case doing this proactively and constantly reduces the last-minute tension of preparing slides for a job interview; all one has to do is to copy-paste content, and then customize to suit the company’s need
- Save the slides in multiple formats - PPTX, PPT, PDF, ODP, etc. Email the slides to the recruiter/team in advance. Keep copies of the latest version in Google Drive, carry copies in a portable storage, …
- Be ready with pen and paper (and other necessary tools such as a calculator) even if the process doesn’t require them
- Wear a formal clothes for the interview
The incremental value of this article may be small, but it is non-trivial. I originally intended to discuss a few interview best-practices, but realized I would add zero value (I remember the negative experiences better - both as a candidate and as an interviewer).
Strongly opinionated conclusions I derived (not backed by data) after several rounds as a job seeker
- Several candidates land their dream jobs without following any of these steps, but I think their methods are not as repeatable / reproducible
- If the whole job market was a fair market (technical/non-technical job requirements and skill are the only determining factors), the staffing of most companies (including FAANG) would be extremely different from how it looks today. While there’s no denying that talent played a role (in some cases, world renowned people), luck played a larger role in most cases (best explained by this video by Veritasium https://youtu.be/3LopI4YeC4I?t=211). In my own words - it’s survival of the desperate-est (desperation to get into FAANG is more important than skill)
- As a direct consequence of #2, it’s not unfair for a candidate to use anything/everything that gives an unfair advantage over other candidates. As a job seeker one should play this card when possible!