How To Become A Machine Learning Engineer
A Comprehensive Roadmap With Courses
A large portion of feeling more fulfilled in your career is from the feeling of progress. For a while, that feeling has been void for me. Yes, I’ve still been landing freelance machine learning contracts but not exactly the ones I want — with all due respect to my current clients. While I’m grateful for the opportunities I’ve been receiving, I know that I must improve if I want to reach the goals I’ve set for my career.
I didn’t become a Freelancer to do work I don’t want to do.
Consequently, I conducted some research on what skills are most necessary to become a Machine Learning Engineer. After, I looked up the most effective courses (from experience and popular opinion) to upskill in each area. The idea was to gain an insight into what skills I’m currently lacking as a Machine Learning Engineer so I can put my focus into improving in those area’s which in turn will make me a better ML engineer and in return, improve my odds of landing more freelance projects I want.
Note: In Essential Skills for Machine Learning Engineers, I covered each of these concepts hence this article will focus more on the exact courses to take to upskill in each area.
Computer Science
Working software is the outcome of a successful end-to-end Machine Learning project. Thus, ML engineers are expected to have good knowledge of basic computer science fundamentals since they require excellent software engineering skills to create working software. The courses to build up your computer science fundamentals were suggested by Dhav Patel from codebasics YouTube channel.
Programming Language
The next and most obvious step is to learn a programming language. If the output of a Machine Learning engineer is deliverable software then you’ve got to learn how to create software. This requires knowledge of a programming language.
Python is the most popular language for Machine Learning. I’ve already created a list of the Best resources to learn Python for Machine Learning and Data Science so be sure to check that out. Depending on where you work, some companies may expect you to have knowledge of other languages such as Java and C++ (mainly because they are faster than Python). I personally like to use Codeacademy to learn programming languages. Here are the respective courses for C++ & Java:
Note: Learn one language first (probably Python) then move on.
Data Structures & Algorithms
Data Structures & Algorithms (DSA) are often ignored when we talk about Machine Learning, but this isn’t a true reflection of its importance. DSA covers solutions to standard problems in detail and provides us with a better understanding of how efficient it is to use each one.
Also, it teaches us the science behind evaluating the efficiency of an algorithm which permits us to decide the best solution to our problem from a variety of choices. This is extremely important for a Machine Learning engineer because sometimes we may be required to write our own algorithms, hence why a good foundation in DSA is essential.
The best course and places to practice Data Structures & Algorithms (by popular demand) include:
- Algorithms and Data Structures in Python (Udemy)
- HackerRank Algorithms (Problem Solving)
- HackerRank Data Structures (Problem Solving)
- Leetcode Algorithms (Problem Solving)
Note: The langauge you use to learn Algorithms and Data Structures isn’t important. Be more keen to understand the fundamental principles.
Relational Databases
Data is a prerequisite for Machine Learning; No data, no Machine Learning. Although the field is branching out to other areas that involve unstructured data (text, images, video, etc), it’s still safe to say that most of the data used for Machine Learning is structured. Structured data typically lives in a relational database and all relational databases use SQL. In fact, the majority of big data tools use SQL so it’s worth learning.
- Learn SQL Basics for Data Science (Coursera)
- SQL for Data Science (Coursera)
- The Complete SQL Bootcamp 2021: Go From Zero to Hero (Udemy)
- The Ultimate MySQL Bootcamp: Go From SQL Beginner to Expert (Udemy)
- Learn SQL (Codeacademy)
Note: Select and complete 1 then move on!
Mathematics & Statistics
Machine Learning involves a lot of math. Math is what allows the algorithms we use to unearth the patterns in data so they can make decisions. Although we would occasionally have to revisit various math concepts to understand different technologies, systems, and architectures in our ML career, it’s important to have a firm foundation, in the beginning, to get us started. The foundational math can be broken down into the following categories;
Linear Algebra Courses:
Calculus Courses:
Probability and Statistics Courses:
Note: We do not need to become advanced mathetaticians because that could take a lifetime. The goal is to have a good enough foundation to understand various concepts in Machine Learning.
De Facto Data Science Libraries
As you up the ante on your goal to becoming a Machine Learning Engineer, there comes a time when you must focus on the de facto Data Science frameworks because you’re going to be using them almost every day. For now, we will leave out the machine learning & deep learning frameworks.
Note: Try to use these frameworks to build something.
Machine Learning Algorithms
It wouldn’t make sense to be a Machine Learning Engineer without knowing machine learning. Like most topics in Machine Learning, there are a number of courses to learn the actual Machine Learning algorithms, but for me, the best one is Machine Learning by Standford University.
Key algorithms to know are:
- Linear Regression
- Logistic Regression
- Decision Tree
- Random Forest
- Naive Bayes
- Support Vector Machines
- K-Nearest Neighbors
- K-Means Clustering
- Dimensionality Reductions Algorithms (i.e. PCA)
- Gradient Boosting Machines (i.e. GBM, XGBoost, LightGBM, etc)
Note: You also want to learn the Python De Facto framework for Machine Learning, Scikit-Learn. It’s a great idea to build something using the framework.
Deep Learning
Deep Learning is a growing subfield of Machine Learning. The architectures in Deep learning are inspired by the structure and function of the brain, hence the name “Neural Networks”. A good foundation in Machine Learning, especially Linear regression, makes the progression into deep learning a lot more simple. I’d recommend taking the Deep Learning Specialization by DeepLearning.ai and learning TensorFlow or PyTorch.
Note: It doesn’t matter which one you pick; choose one and get really good. To those that decide to learn TensorFlow, I’d also suggest you consider taking the TensorFlow Developer certificate — I haven’t done it yet, but it’s definitely on the cards.
MLOps
MLOps is the latest craze on the Machine Learning block. It’s the DevOps equivalent for Machine Learning and ML Engineers should know it. It may motivate you to know that the majority I am approached by nowadays all have something to do with MLOps which is a very interesting trend. Some resources to check out if you would like to learn MLOps include:
- Machine Learning Engineering for Production (MLOps) Specialization (Coursera)
- Introducing MLOps (Book)
- MLOps (Machine Learning Operations) Fundamentals (Coursera) — This course is part of the preparing for Google Cloud certification: Machine Learning Engineer
Additional Learning
Once you’ve learned the aforementioned skills, you will be ready to get into work as a Machine Learning engineer. The following skills are “good to have” and will help you stand out from the competition so there is some merit in learning each one and when they’re applicable.
- PySpark
- Hadoop
- Docker
- CI-CD for Machine Learning
- Version Control With Git
- FastApi, Tensorflow Serving
- NoSQL Databases
Final Thoughts
Becoming a Machine Learning Engineer is a tough sport. You’ll have to commit yourself to develop your skillset so that you can confidently build and deploy machine learning systems.
There is no point in taking every single course in this article. A better solution is to find areas where you’re lacking competency and devote yourself to building up that area. Throughout the journey, also try to use the resources you’re learning to build your portfolio either through blogs, vlogs, projects, etc.
Thanks for Reading!
If you enjoyed this article, connect with me by subscribing to my FREE weekly newsletter. Never miss a post I make about Artificial Intelligence, Data Science, and Freelancing.






