Disclaimer: I’ve never held a datascience position, but I participated in interviews for some of Andrew Ng’s ML startups.
There are two main challenges to overcome when applying to any job:
- Getting an interview
- Excelling at the interview
Getting the Interview
Here is a recent analysis of the credentials of Data Scientists in Singapore: https://towardsdatascience.com/i-wasnt-getting-hired-as-a-data-scientist-so-i-sought-data-on-who-is-c59afd7d56f5
This analysis suggests that without a Masters or PhD that your resume (and mine too!) will frequently be screened out by many of the companies we might apply to. Only 6% of Data Scientists had either a MOOC or Bootcamp as their primary qualification.
In order to get an interview for a data science role we will have to stand out in some way. I’ve thought a lot about how I might try to stand out and have come up with the following options:
- Competitive programming
- Stellar open source contributions
- Traditional networking
OpenAI mentions that their Fellowship program is interested in top performers in both Kaggle and Leetcode competitions. Excelling at these competitions is often a good way to stand out and demonstrate a level of competency. The downside here is that there are so many smart and hardworking people trying to win the same competition as you! It’s a very competitive environment and can require a lot of time before you start to make headway on the leaderboards.
A second way to stand out might be to become a very active contributor to an important data science project. Numpy, Pandas, PyTorch and TensorFlow all come to mind. A few years ago a friend of mine became a very active contributor to the Lucene open source project. When ElasticSearch needed a Lucene specialist, their technical staff was already familiar with my friend from having worked with him on Lucene. He got the job without even having to go through a technical interview! The downside here is that making substantial contributions to any open source project requires a lot of time and domain expertise that you might not have yet.
Finally traditional networking is an approach that works in any field. If a friend of yours works at a company you’re interested in, they can often get your resume past an HR screen or an automated screening process. However, networking isn’t as simple as just connecting with random people on LinkedIn. You basically have to make friends and demonstrate a level of competency to them in order for them to stick their neck out for you. Ironically some of the best ways of doing this would be to participate in Kaggle competitions with someone or work on an open source project with them!
In short, you and I have an uphill battle when it comes to getting these jobs and since we lack traditional credentials that might get our foot in the door. As a result, we have to be more creative in how we capture an employer’s attention.
Excelling at the Interview
If we do manage to get the interview, it’s important to really impress the people interviewing us in order to secure a position.
For the positions I interviewed for, there was one machine learning question (eg. questions about backprop) and one Leetcode style programming question. I suspect later rounds of interviews would have had more questions, but still been split 50-50.
I don’t have much advice on the ML portion of interviews, but this thread may offer some insight: https://twitter.com/chipro/status/1152077188985835521
For the Leetcode portion of the interview, the best way to get better at these questions is just to do a lot of them. If you’re looking for a practical introduction to this material, I would recommend The Algorithm Design Manual by Steven Skiena. It is, in my opinion, the most accessible and succinct introduction to algorithm design.
My Approach
Like you I have a lot of time on my hands so I am working through Kaggle competitions until I achieve a Gold Medal in at least one competition. I have been working on this goal since January and recently achieved my first Bronze medal. I am fairly confident that I can achieve a gold medal by the end of the year.
Once I achieve a Gold Medal I’m hoping to shift back to a focus on algorithm questions in preparation for interviews. I will use HackerRank to practice questions.