How to break into Machine Learning domain
Based on 6 years experience in ML

Disclaimer: 2 yrs of academic + 4 yrs of professional experience. I don’t claim to be a mentor/coach nor do I claim myself to having an extraordinary track record. Although, whatever I am putting down in this blogpost is a result of practical experience that I have over interviewing 100+ profiles in the ML domain in last 2–3 years.
What we are witnessing today is a flurry of courses in Machine Learning and enormous ‘interest’ in undergraduate students in the pursuing a career in ML. I personally have been approached by numerous undergrads and even some experienced person asking for guidance on how to start with a job in Machine Learning. In this blog, I am consolidating the thoughts and surfacing some myths that a general audience has while starting the journey.
My Journey
- Not a fresher in ML: When I started my professional journey, although I was a fresh undergraduate, I was not a fresher in ML domain. I spent my last two years of college working on projects in NLP. I have noticed people having done some of the online courses mentioning that they have great familiarity with the domain. I strongly disagree with this notion of learning. While it is good and maybe imperative to start with online course (I also did the same), stopping there isn’t a viable idea (Read a section on this below).
- ML job was not served in a silver spoon: Even though I had a bit of experience of ML, getting a practical ML job wasn’t easy. I was always on the lookout for a practical exposure in a full-time role and was not inclined for an internship/higher studies/RA position. Fortunately, I got one and I decided to drop an offer from an international MNC that I received in my college placements. TL;DR: I knew I wanted to work in ML domain and for that I was ready to let go a brand which on another day, anyone would wish to work for in some capacity.
- Academic ML vs Production ML: I am sure, a lot of you would have already learnt that academic Machine Learning is way different than production machine learning. I simply cannot state more than saying that this is the greatest truth (Read a detailed section on this in next part of the blog).
Breaking into Machine Learning – What I hear
Trusting the rationale behind the reason that you would want to venture into ML without being swayed by the hype the field has, here are some of the pointers for you to think for:
- Online courses: This is a great starting point, and there are tons of resources available today. The downside for this is that there are tons of candidates having done one or more of these online courses. What is it that differentiates you from others?
- Projects in ML: This is an immediate response that a lot of people give. The one with gentle projects talk about sentiment classification and house price prediction while the deep learning enthusiasts talk about text generation projects or image classification using ResNet or similar architecture. Again the same question, a number of competing candidates has also done the exact same project, what differentiates you from others?
- Only deep learning keywords: This is another group of candidates that I have noticed who are just spontaneous with all buzz words in the Deep Learning ecosystem. Do you honestly think that quoting of buzz words make you stand out from rest of others?
Breaking into Machine Learning – What I suggest
Continuing with pointers in the above section, here are some guidelines for developing a profile in the machine learning domain.
Courses
In my opinion, courses are must to understand the rationale and concepts behind ML algorithms.
- While courses can range from shallow to advanced courses, I always prefer to gather information from formal courses/textbooks rather crash courses. Crash courses can help you quick overview or bullet points, formal courses can provide you a deeper insight into some of those pointers and textbooks can help you connect the dots and at the same time surface a lot of unexplained concepts in the online/formal courses. Always prefer quality over quantity! ML is vast and no-one expects you to be aware of everything.
Projects
Again, gentle projects or projects (assignments) in the online courses are a good way to start with practical implementation, they are no where sufficient if done only in the scope of course completion. What you do in addition to specified projects counts. Here are some ways to extend the project:
- Did you host it on GitHub with proper README? This solves two purpose, it provides visibility of your work, makes you organizational and helps you keep your implementation at your fingertip whenever you would want to refer back to.
- Did you do extensive analysis of the experimental results? From __ EDA to cost function to data to hyper-parameters to error analysis. Can you make your results interpretable, for example, if you would be training a deep learning system, most likely you would be using attention mechanism. Can you plugin code to visualize the attention map?
- Did you apply what you learnt on a different data? If you learnt a sentiment classification, you primarily learnt a way to perform text classification. Did you apply the text classification that you just learnt on another dataset: imbalanced dataset, multi-class dataset with higher number of classes, big-data etc. What differences do you note wrt your work on text classification of sentiment data? Can you do/learn something on the differences that you see?
Again always prefer quality over quantity! 2–3 great projects standout from 10–15 generic projects
Deep Learning vs Statistical Machine Learning
If you are a noob in statistical machine learning with much information about deep learning, there is a ‘high’ chance that you would NOT be preferred about the candidate who is strong at statistical concepts.
- Make it a point that statistical machine learning is very important to know and will definitely be asked on in ML interviews. More so if you are working in the field of generic ML (tabular, numerical, categorical data)or NLP (Natural Language Processing).
- Deep Learning is not only knowing about CNNs, LSTMs and Transformers. It is also about coming up architectures that can work well enough for your data and business-problem. This is a thing to learn and develop. One of the best way is to read research papers to learn how to construct DL architectures. So, don’t ever be over confident if you have trained a couple of models with CNNs/LSTMs/Transformers.
Again always prefer quality over quantity! Great understanding of a couple of DL architecture and a couple of statistical ML models is much much better than having just touched on everything.
Know Why and How in addition to What
There are a lot of accepted constructs that I have heard from candidates which are true in most cases however they don’t have explanation of why those constructs work.
- Why does SVM perform poor as dataset size increase? Which aspect of model does ‘poor’ signify?
- Why is bias used in Neural Networks? Is it only used in neural networks?
- Why is batch normalization used? How is batch normalization achieved?
- Why is Multi-Agent games hard?
Answers to these questions can only observed/understood if you dive deeper into the concepts and readings. This is where formal reading and genuine interest helps. PS: You are not expected to be aware of everything but a small start is still a start.
Final Words
- Start small – ML is vast, don’t get swamped by available resources and the depth of the domain. Pick one, finish one.
- Develop breadth and dive deeper – Do not restrict to only Deep Learning or only tabular data while starting. Explore a bit more initially to understand the space and then gradually dive deeper. Same goes for algorithm, pick 4–5 algorithms initially and then start diving deeper into them.
- Specialize – In my opinion, it is always better to dive deeper into a couple of domains. There are multiple indices to choose from: supervised vs unsupervised, NLP vs CV vs Image, structured vs unstructured. After initial breadth, it is very important to start developing a strong profile in a few of specialized areas based upon your interest. It doesn’t hurt to be aware of others, but it definitely hurts to just having superficial knowledge about everything but nothing good enough for one are.
- Read research papers or blogs – Reading relevant research papers and blogs (medium blogs, company’s blog, Kaggle kernels) can vastly help you understand the problem space, help you develop alternate perspectives, make you aware of different ML problems and can help you learn a lot faster than traditional ways applying ML in a idealistic scenarios.
- Never be over confident – You wouldn’t believe but ML is just so vast that you just cannot claim to be a star until you are one! Always be humble to learn more from anyone. There will always be something that other person knows that you don’t.
About Me:
- LinkedIn: https://www.linkedin.com/in/krayush/
- Personal Page: https://krayush07.github.io/