In this post I will share my experience when it comes to learning ML/DL vs working as a Machine learning engineer at a BIG4 in k22.
When one starts learning a new technology, generally its through some free resources in order to explore, tinker around and find whether its actually their calling or not. This brings me to my first point,
Don’t fall for “XYZ full course in 10 Hrs”
If you are a beginner , and are just getting your hands dirty in Machine Learning for the first time, don’t fall prey to clickbait titles on youtube that claim to make you expert within a week.
The first mistake during my college years was to assume that I have a good amount of knowledge and that I am ready to apply for internships after watching few 4-5 hr long videos.
The purpose of these videos are nothing more than letting you know the “syllabus” rather than content .
You can find ideal resources to study the theory aspect from stanford/MIT open lectures. You-tubers like Krish Naik, Stat-quest were a go to resource for me.
This brings me to my second point.
Find a balance between Theory and Practical Projects
When one is in getting into a field like Machine learning you will find that people from backgrounds like physics/statistics/economics are also making a mark, and its not restricted to the folks with CSE majors.
The reason being the breadth as well as depth of topics that one can find under the wide umbrella of AI.
Talking of job interviews, its important to remember that your resume projects are valued only when you either pass prior rounds or/and are able to tackle questions about why and how your project showcases your skill.
Lets jump straight to the third point.
Machine Learning/Data Science is NOT always a Jupyter Notebook
In course of learning through courses like Udemy/Coursera/You-tube, one might be accustomed of working on Jupyter Notebooks/labs. In production this is sheldom the case. One should not restricts one’s knowledge to just loading a dataset, performing some feature engineering and training a model.
What I have learnt during this tenure of working in the industry is that understanding of the underlying infrastructure, security protocols, costs incurred, latency and storage issues is equally important.
You won’t always get a “classic csv” served to you
Quite a few times, it might happen that the problem you have to solve is tremendously open ended, leave alone not having the data, it might be something as vague as ” how can i use AI to reduce my costs?” and you have to think of asking good questions to yourself .
Its no longer a game of finding answers, life just played a UNO reverse.
Cloud is your friend
“Upskilling is a must”. When you choose to be a part of growing technologies like ML/Blockchain and more, you must realize that there are certain organizations in the world that are dedicated to pure Innovation and research (unlike the ones that are building applied solutions for customers).
Hence every now and then there are updates, new tech stacks and libraries released. Personally I feel that adding the knowledge of cloud services like AWS,GCP ,AZURE helps one a lot.
Writing clean code and understanding cost of ML based solutions
If you look at the cost of deploying ML solutions in production, you will realize that the actual game starts when it comes to the monitoring of your production pipeline.
Interview questions like these also test this ability of yours,”
- How often do i need to retrain models?
- How do i decide a threshold for my use case?
- If model performance drops down, what is to blame?
- Since real life scenarios won’t come with “ground truth labels” how do i even keep track of performance ?
You only realize the the importance of writing clean and readable code when you have to read someone else’s code.
Read the Docs
Whatever algorithm you are using/learning . It is really important to go through the documentation and understand each and every hyperparameter that can be used. I have seen people (including myself) randomly tweaking hyperparameters in order to increase model performance.
Remember that in production this might be an expensive operation to do.
So whenever you get time, try to have a detailed understanding of the parameters.
Don’t ignore DSA
Although the classic ” I haven’t inverted a binary tree ever at my job” exists, its not ok to keep oneself unaware of something that is so omnipresent when it comes to interviews, code optimization and developing software solutions.
This was something that I neglected during the early phase of my college years.
Even if you don’t consider yourself a DSA wizard, its ok to at-least start with topics like basic data structures ,traversal algorithms , most popular coding interview questions and dynamic programming,( it never hurts to solve 2 questions a day right?) .
See where you find yourself after 5-6 months
Learn when to not use AI
Using deep learning to add 2 numbers is not an act of wisdom. When problems can be solved without the use of “AI”, its better to do so.
Remember that AI is here to reduce our problems, even if it means taking itself out of the picture.
Adding Edge AI to your arsenal
A simple yet effective way to to enhance your skills in the Domain of AI is to learn how edge devices like Nvidia Jetson work, You can learn to solve a lot of use cases using applications like Deepstream . Also there are tons of benefits from a production point of view when it comes to business cases requiring extremely low latency and where hardware requirements are at a minimum.
Its all about learning with a balance of theory and practical applications. And things take time ,one cannot become an expert overnight.
I listed a few things I learnt from my experience. So keep your learning rate high and learn from my errors! –
If you want to connect with me on linkedin: