Machine Learning Engineers are currently the UK's highest paying technical experts?
According to levels.fyi, the average salary is almost £100,000– Higher than software engineers, AI engineers and data scientists.
But it's not just Patzek.
As a machine learning engineer, you tackle fascinating problems, experiment with cutting-edge tools, and actually have a positive impact on the world.
I can tell you from first-hand experience – it is one of the most exciting and fulfilling jobs.
Therefore, this article provides a clear and simple learning roadmap to become a machine learning engineer, along with the best resources.
Let's get into it!
Mathematics and statistics
As I have said many times, mathematics and statistics are the most important things to learn when you need a career in machine learning and data.
Technology goes back and forth, think about blockchain and AI. However, mathematics has remained a fundamental staple for centuries.
Luckily, you don't have to be a mathematics genius to work in machine learning. I can truly see this from my first experience.
The level of mathematics required is mostly what you will be taught in your last year of high school and in your undergraduate STEM degree.
In general, there are three areas of mathematics that you need to study.
- Linear algebra– Learn about matrices, eigenvalues, and vectors. These are used anywhere in the areas such as Principal Component Analysis (PCA), Tensorflow, and more. In other words, even a data frame is a matrix.
- Calculus -Learn about differentiation. This is how algorithms like gradient descent and backpropagation work under the hood. These are literally used within all machine learning algorithms for training and learning.
- statistics– Understand probability, distribution, Bayesian statistics, central limit theorems, and maximum likelihood estimation. The statistics are the most valuable of the three, and I will focus most of my attention here.
resource:
I have a complete article explaining in more detail the mathematics topics you need And a more thorough breakdown.
How to learn the mathematics needed for machine learning
Python
Python is Lingua Franca when it comes to machine learning. Forget R and learn Python. (I'm sorry to my R enthusiast there!)
A common theme I talked about between coaching clients and beginners is that they are trying to find the “best” courses to learn Python.
I'll repeat this point again, there's no “best” so stop looking for it. It is simply a form of procrastination. A general introduction to the Python course will teach you the exact same thing, so it works.
Anyway, here are the main things you want to learn:
- Native data structures (dicts, tupples, list)
- For the loop
- IF-ELSE Condition Statement
- Functions and classes
- General libraries
- Design Pattern
We also want to learn about popular machine learning packages such as:
- numpy– Numerical computing of arrays.
- Panda– Manipulating and analyzing data.
- matplotlib – Data visualization and plotting.
- Scikit-Learn – Implementation of basic ML algorithms.
- scipy – General scientific computing packages.
resource:
SQL
As a machine learning engineer, you will spend reasonable time working in SQL when you are trying to create datasets or perform functional engineering.
I probably work in SQL for about 30-40% of my time as a machine learning engineer. There are a lot, so you definitely need to be familiar with it more than you think.
Here's what you need to learn:
- [from]Select , As
- Modify, insert, create , update , erase
- Group by, Order by
- Where, or in between, have
- Avg, count, min, max, sum
- Complete bond, left bond, right bond, inner join, union
- case , iff
- Dateadd, Datediff, DatePart
- partitions for by,qualify,row()
resource:
SQL has many free resources, so I don't recommend troubling spending money on a course unless you really want it. You can also use ChatGpt at all times!
Machine Learning
Surprisingly, we need to learn machine learning to become machine learning engineers!
This is definitely the most enjoyable part of the roadmap and is something that most people enter this field. That was the reason I decided to work in machine learning, so I got it!
I would lie if I said that learning these algorithms is always fun. It takes a little mental effort and time to get a full grasp of all the concepts, but in the end things click and are worth it.
The important algorithms and concepts needed are:
- Linear, logistic, polynomial regression.
- Generalized linear models and generalized additive models.
- Decision-making trees, random forests, trees added to gradients.
- Supports vector machines.
- K-means and K-nearest Neighbor Clustering.
- Functional engineering, in particular ways to address categorical features.
- Evaluation metrics for different types of problems.
- Regularization, trade-offs between bias and variance and cross-validation.
- Gradient descent and backpropagation.
resource:
- Specializing in machine learning with Andrew Ng – This was the first ML course I've filmed and I think it's probably the best course there. Andrew is honestly the best teacher. This course is something everyone should take in my opinion.
- 100 Pages ML Book – Concisely use practical insights into the construction of ML models and the core theory behind them. A wonderful evening reading.
- Practical ML using Scikit-Learn, Keras, and Tensorflow-If I had to give only one book to learn machine learning, this is it! This book is a goat and covers literally all the topics you need as an entry/mid-level machine learning engineer.
Deep learning
Honestly, basic machine learning algorithms cover the majority of the models you build in your career.
I still use the usual regression model most of the time!
Deep learning is beneficial in scenarios such as natural language processing and computer vision, but my daily use in my work is minimal beyond these areas.
However, considering that you specialize in time series prediction and optimization issues, take this in a pinch of salt.
That said, deep learning needs to be somewhat aware of as all machine learning engineers are the core part of the field.
The areas you want to study are:
- Neural Networks –An algorithm that places machine learning on a map. You've probably heard of this algorithm.
- Convolutional Neural Networks –These are used for computer vision and image detection. The important difference is that it passes information to a regular neural network before using convolution operations to “preselect” it.
- Recurrent Neural Networks –It's a bit outdated now, but it was the original deep learning algorithm for sequence models such as time series and natural language. The most popular thing you may have heard is sequence modeling sequences.
- Trans –The current cutting edge model behind all AI hype and growth. This comes from the famous paper, “Everything you need to be careful about.”
resource:
Software Engineering
Given that the title is a machine learning “engineer”, you need to know best practices in software engineering, as this is important when deploying models into production.
When I was about to become a machine learning engineer, I really underestimated the engineering part. I can even argue that it is more important than theoretical machine learning knowledge.
Theory is merely a theory. What really makes money is helping your company and business make decisions with your algorithms. To do this, you need to know about software engineering.
The areas you need to know are:
- Data Structures and Algorithms– To help you pass the interview and write better code. Learn the basics and practice.
- array
- Link List
- queue
- sort
- Binary search
- tree
- hash
- graph
- System Design– To pass the interview and understand how to deploy machine learning algorithms at scale. Once again, learn the basics.
- networking
- API
- caching
- Proxy
- Storage
- Production code– Write well-tested and efficient code, including using principles such as typing, lint, testing, Dry, Kiss, Yagni, etc. This is probably the most important part of learning, as it is most applicable to your work.
- API –The majority of the software works using APIs, with many machine learning models being provided as API endpoints. Understand how they work and different types.
resource
- neetcode.io– Excellent introduction, intermediate and advanced data structure and algorithm courses, and systems design courses. We recommend this platform 100% when learning the fundamentals of software engineering for anyone.
- Leetcode& Hakke rank– A platform to practice for interviews. I'm sure many of you have heard of “folding code.” You don't need to do that in a machine learning engineer job as much as in software engineering. However, you need to know the basics. I recommend working through NeetCode 150.
- Software engineering for data scientists-A book specifically designed for data scientists to learn software engineering, as mentioned on TIN. A great alternative to learning all your software engineering skills if you don't like the course.
mlops
The Jupyter notebook model literally has no business value.
It's much better to have something in production. Instead of flashy neural networks in notebooks, we do sub-persins that benefit the business rather than having unrealistic accuracy.
So, if you want to be a really healthy machine learning engineer, you need to be able to deploy your models.
To do this, you need to learn:
- cloud– Learn cloud technologies such as AWS, GCP, Azure. All the machine learning models I've worked on are deployed in the cloud, and this will only increase in the future. AWS is the most popular, so that's what you'd like to learn.
- Containerization– Learn Docker and Kubernetes. This is necessary for the model to run in the cloud.
- Version Control-Learn git and github, there's no way around it. This is how you build all your software.
- Shell/Terminal– You work a lot in the terminal, so knowing basic bash/zsh is essential.
resource:
- Practical mlops-This is probably the only book you need to understand how to deploy machine learning models and all related topics. I use it more as a reference text, but it tells you almost everything you need to know.
- Machine learning system design– Another great book and resource for changing your sources. This is probably due to Chip Huyen, a leading expert in AI/ML production systems.
- FreeCodecamp– Various resources covering literally all software engineering and MLOPS topics.
Researching everything here gives you all the knowledge you need to become a machine learning engineer. But that isn't enough to land your work.
You need to demonstrate your skills by building a solid portfolio with the right projects.
If you want to know exactly how to do this, check out this article. In this article, please explain exactly how you can do it. Let's meet there!
Stop building useless ML projects – what actually works
One more!
We offer 1:1 coaching calls that let you chat about what you need, whether you're just figuring out what you need, whether you're grasping the next step or not. I'm here to help you move forward!
1:1 Mentoring call with Egor Howell
Career guidance, job advice, project help, resume reviewTopmate.io
