Why do many companies still ask CS puzzle type questions in their coding round for DS roles
Is Data Structures & Algorithms important for a data scientist
Does Leetcode grinding make you a better data scientist ?
TLDR - NOPE
In my 5 year expereince, spread across startups to large scale MNCs, I have hardly ever needed to know
how to traverse a binary tree, say, in my day to day job as a data scientist! Yet, you’ll still find a lot of big tech companies include some Leetcode questions for the first round of most DS job interviews.
When I ask my colleagues the same question, they also respond in a similar manner that it’s a pointless skill in the data science domain, but something you need to learn to crack the interviews anyway. If you’re interested in a more non-anecdotal answer, check out a dicussion topic I started on Kaggle forum some time back. Largely, the only argument in favour of Leetcode style interviews is that it is a standard practise in the tech industry for hiring Software Engineers, and is a good step to filter out from 100’s, if not 1000’s, of applicants for DS job roles right now.
Honestly, Leetcode grinding (OR HackerRank OR HackerEarth) just seems depressing to me. Leetcode has become to FAANG what CAT is to IIMs or JEE is to IITs (Indian context), but in a wierd twisted way. Spend enough time on practising such problems and most people would be able to solve (regurgigate?) these typical problems after a while.
Data Structures and Algorithms, as a topic of learning though, is actually a very interesting and intellectually stimulating topic in itself. though. And it does make sense for Software Engineers to understand these concepts well for their day jobs. But for someone who has decent programming skills and is more interested in data analysis, studying this topic for the sole aim of a job interview will be a dry, abstract and meaningless process.
Leetcode questions are essentially gatekeeping DS roles from non-CS background candidates. Imagine a farcical hypothetical scenario where a candidate with Math PhD, who has sufficient programming skills to build and deploy ML models for his research, then has to practise manipulating a linked list and inverting a binary tree for his job interviews. Data science is a very broad field with people from diverse disciplines like Economics, Biology, Astrophysics, etc already using ML to solve cutting edge problems in their domains. Leetcoding problems today are essentially gatekeeping this diverse community from moving into the tech industry.
The good news is that some companies have started moving away from this process slowly and started testing their candidates on stuff that really matters For eg. statistics, probability or data manipulation, using case studies / take home assignements on ML and EDA. I hope this trend catches on as the data science ecosystem matures further, thus making the Data Science community more inclusive.
Looking at the design recipes for 2 common sorting algorithms in Scheme
Don’t teach yourself data science in 10 days, but in 10 years
Some valuable lessons I learnt in my recent job search experience
And why you don’t need another ‘How to become a data scientist in 2021’ listicle
An intuitive way to look at matrix vector multiplication, with applications in image processing
Most tech firm interviews include SQL problems for DS roles, so how should you prepare for them?
Implementing basic matrix algebra operations in Scheme using a Jupyter notebook
Building a gender classifier model based on the dialogues of characters in Hollywood movies
Simple EDA of my reading activity using tidyverse on R Markdown
My experience using productivity tools for personal projects
Comparing Tree Recursion & Tail Recursion in Scheme & Python
My notes halfway through the book Learn You A Haskell
My topsy turvy ride to data science
Books, MOOCs and other resources that I would highly recommend
The magic of SICP