In the last few months, given the employment situation, many people are in transition looking for jobs. There are a lot of LinkedIn posts on interviews with different businesses and how onerous they were, like testing on LeetCode, all kinds of machine learning model under the sun, etc.
Now there is nothing wrong with businesses wanting the best candidates possible. So I do agree that interviews need to be onerous, to find the best candidates possible but there are a few things I hope team managers looking for talents need to realize about the current data science landscape, especially on the talent side. In this post, I am putting out a few viewpoints I have on these unnecessarily onerous interviews for a data scientist or related role.
(1) Data Science is much more than machine learning algorithms
Data science is NOT ONLY about machine learning algorithms. There are other components, for instance, data munging, structuring a business problem into a data science problem, etc. By only interviewing the candidate solely on their machine learning knowledge and nothing else, you will get a candidate that may not perform well.
(2) Not ALL types of machine learning models are used
No doubt there are many types of machine learning models, for instance, regression, decision trees, support vector machine, deep learning, boosting, ensemble, etc. Your business is unlikely to use all of them, especially if your organization just started on the data science journey. Interview the candidate on the commonly used machine learning models that they have come across and used. Check their understanding to assess their foundation. The assessment on their foundation will help you determine if the candidate can pick up on his own, other unfamiliar algorithms when the time comes.
(3) Does the data scientist need to code every day?
I have heard a lot of companies give technical coding interviews where the candidates are given a problem and they are to code out the solution given a very tight timeline.
My question is, does your current data scientist does that day-to-day? If the answer is yes, then please do lots of technical coding interviews. If not, is it not like testing a soldier on how fast he/she can type out a court document? I am not saying that a data scientist does not need coding. But rather, businesses should interview and test a candidate on the relevant skills and aptitude.
(4) Code machine learning algorithms from scratch?
I can understand why employers are testing on this, but it is not really necessary unless algorithms are your competitive advantage. Most businesses that I know of, do not need to code machine learning algorithms from scratch unless they have reached a high data science maturity level. There are ready software libraries and packages that data scientists can download and trained the commonly used machine learning models. They are pretty comprehensive so businesses do not need to fear missing out existing machine learning models. I have a list of the models available in the commonly used software here, Caret (R) and SciKit-Learn (Python).
(5) Competition on talents
Data science is a very new field and requires multi-discipline knowledge. As such, training an all-round talent takes a very long time. Good talents are very scarce and are normally absorb by the FAANG before you get your hands on one. Moreover, the job scope and requirements will be different between FAANG and non-FAANG. Given the difference in job scope and requirements, shouldn't the interview be adjusted accordingly? Why compete against the big technology firms and likely be pushed to offer a high salary. This push of high salary may in turn doused the data science initiatives in your business, since now you will need to find high-valued projects to justify the hiring.
(6) Are you ready to pay?
Continuing from the previous point, after testing the candidate on skills and knowledge that are not needed on a day-to-day basis in your organization, what you did is you have raised the expectation of the candidates. If they are offered, they are likely to ask for a pay similar to the FAANG's. Secondly, their expectation of the job scope (similar to FAANG, doing more complex algorithms) is not going to match reality. Chances are you are going to pay someone very highly who is not motivated, given the missed expectations and I will not be surprised that the business will experience turnover and the tedious interview process has to be repeated.
Have an experienced data scientist to assess what are the necessary skills and knowledge to perform in the job role. State those skills and knowledge clearly in your job description. It is alright to ask for a bit more, in preparation for the near future needs. Interview the candidates based on the description. If possible, ask interview questions that can assess the candidates' proactiveness, learning ability, passion in data science. In other words, the soft skills. If the candidate has the right soft skills, chances are the technical skills can be picked up later on. Where possible, have an experienced data scientist to sit in and help assess the candidate. The reason is it takes a data scientist to know what a data scientist is and needs.
In conclusion, to reduce hiring mistakes, and be able to move up the data science ladder in your organization, seek an experienced data scientist for help. They can help you move up the ladder quickly so that your organization can benefit from the data quickly.