Machine Learning is one of the hottest fields in tech right now, but how do you get into it? Well, you read this guide of course!
In this guide, I’ll pull back the curtains for you and show you exactly what it takes to become a Machine Learning Engineer.
I’ll also cover exactly what a Machine Learning Engineer does, the skills required in the role, and how to get that all-important experience you need to land a job.
Hey there... I'm Daniel Bourke. I've been a Machine Learning Engineer since 2018.
Hopefully that gives you some assurance that I have a half decent idea of what it takes to help you become a Machine Learning Engineer as well.
So grab a cup of coffee (or a beer or a kombucha or whatever you're into) and let’s go!
A Machine Learning Engineer designs, implements, and maintains machine learning systems and algorithms to solve specific problems or enhance existing processes.
It’s not just self-driving cars and super smart AI either. ML comes up in your daily life way more than you might think.
For example
You’re the head of Netflix, and you want people to stay subscribed for as long as possible.
After some initial research, you realize that if people keep seeing new shows and films they enjoy, then they won’t leave.
And so an ML Engineer helps design and build a model to suggest content that each user will like, based on their previous choices (as well as based off people who make similar choices).
Just like that, users are enjoying new shows that they may not of found otherwise, and Netlix is happy because that user keeps paying them to be a subscriber.
Even better though, Netflix can now use that data to start improving other areas of their business.
What like?
Well, they might see that certain actors are more popular in specific countries, so they change the thumbnail images to increase CTR, based on the geographic region.
Heck, it’s got so advanced now, that they even scan through the film or show to find specific characters to screen grab their faces for the thumbnails!
It's not just about improving current performance though. They can also use it for planning.
For example
They also see that specific genres and actors do well, so they get films and shows made to specifically meet that demand - increasing their viewer lifetime value, while also lowering costs of 3rd party film purchases.
Pretty cool right?
Other ML examples in daily life are:
The Machine Learning Engineer role combines areas of Software Engineering, Data Science, and a deep understanding of the subject they are building an ML algorithm and/or model for.
Now that we've seen what ML can be used for, let's look at what ML Engineers do, along with an example workflow.
The average ML workflow goes something like this:
You need to understand the business problem or objective, before you can try and solve it with Machine Learning. This often means research and collaboration with domain level experts to define clear objectives and requirements, as well as with cross-functional teams, including data scientists, software engineers, product managers, and stakeholders.
For example
If we look at the Netflix example before, an ML Engineer could build an algorithm, but they would have to chat with domain experts and other team members to look at factors that increased lifetime value first, before coming up with an idea to add ML.
This does mean that although ML is a very technical field, you also need good communication skills to work with other teams, as well as communicate technical concepts and findings effectively to non-technical audiences.
Now that you have a goal for the algorithm to achieve, it’s time to collect, preprocess, and clean data from various sources to build high-quality datasets for training machine learning models.
This may involve data wrangling, feature engineering, and data transformation.
For example
If we go back to the Netflix example again and getting people to stay for longer, this might be collecting data around specific customer personas and what they watch, so that we can then suggest this content to similar people.
At this point, the ML Engineer will select appropriate machine learning algorithms and techniques based on the problem domain and data characteristics.
Without getting to far into the details, there are basically 3 categories of Machine Learning:
Andrei breaks this down in more detail in the video below (part of Andrei and I's free ML 101 Crash Course):
Additionally, there are hybrid approaches and specialized techniques within each category to address specific challenges in machine learning applications, but you don’t need to worry about those right now.
TL;DR: You choose the best model to fit your goal, and then train it using libraries and frameworks like scikit-learn, TensorFlow, or PyTorch.
Is this working? An important part of ML is fine-tuning models to get the desired end result.
So at this stage, you evaluate the performance of your chosen machine learning model and then use fine-tune model parameters and hyperparameters to improve its performance and generalization.
Now that you know the model works, it’s time to deploy it into production environments, and integrate it with existing systems and infrastructure.
This may involve containerization, API development, and cloud deployment.
Does it continue to work now that it's live? At this stage, you monitor the performance of your deployed models in real-time, identifying and addressing issues as they arise.
This can also mean that you update and retrain models regularly to adapt to changing data distributions or business requirements.
For example
If we go back to the Netflix example again, if an actor did something bad in the public eye, and they are on a lot of film thumbnails, you might want to change the thumbnail image and remove them, so that you can fix that CTR drop.
Machine Learning has exploded in recent years, thanks in part to advances in data storage, collection, and computing power. (As well as our desire to automate all the things!).
The Machine Learning market is projected to reach US$204.3 billion this year, and then continue to grow to $528.1 billion by 2030, so yeah… the demand is pretty high.
As for job demand, a quick look on ZipRecruiter shows 111,206 ML Engineering jobs available in the US right now.
That’s just one job posting website also, so there are even more ML jobs out there!
There’s never been a better time to get into Machine Learning. The demand is high, it’s on a rapid growth path, and the pay is great.
Speaking of which…
If we look at the current ML Engineer jobs posted on ZipRecruiter, the average salary is around $128,769.
Not bad right?
Nope! While it is true that some companies will require a college degree, it’s definitely not the majority of them.
Here’s the thing, tech is one of those industries where some of the biggest and best people in the world are all self taught, and some even openly oppose the idea of people getting a college degree.
Fun fact: Mark Zuckerberg, Bill Gates and Steve Jobs all dropped out before they got their degrees. Sure they all had thriving business ideas to move into, but the general vibe runs deep in tech.
Being self taught really is less of a blocker than you probably think. Especially because these days, you can learn the key elements of what's covered in a CS degree.
As long as you can do the work they ask, that’s all they really care about.
I’m going to mention these skills so you have an idea of what's required in the job. That being said, a good Machine Learning course will teach you almost all of these at the same time, so no need to stress.
Some of it may even seem complicated, but you’ll see it's much simpler once you’re applying the theory.
So let’s get into them:
If you just read that list and started to think "omg, that’s so much to learn", don't worry, it’s actually not as bad as you think 🙂.
I cover all this and more as part of my ‘How to become a Machine Learning Engineer’ career roadmap and the average time to complete and learn everything on this list (and more) is around 7-8 months in total if you're learning full-time.
Not bad for an entirely new career, in a high demand industry with a 6 figure salary right?
FYI: 7-8 months is also including time to learn additional skills to get more senior and higher paying roles.
You can pick up the core knowledge and skills for a junior role in the first 3-4 months if you really work your tail off!
Speaking of the ML roadmap, let me give you a brief outline of it below, so you can see the exact steps I recommend you take to become a Machine Learning Engineer ASAP.
Getting into machine learning is quite the adventure. And as any adventurer knows, sometimes it can be helpful to have a compass to figure out if you're heading in the right direction.
So I'll give you 3 options:
#1) The "do it on your own" option. Keep reading this guide for the high-level steps you need to take to go from complete beginner (with no experience or degree) to actually building your own Machine Learning models and be able to call yourself a Machine Learning Engineer.
I'll give you some great free resources to give you a good kick start though 💪.
#2) The "mostly on your own" option. I created a 2.5 hour Machine Learning Roadmap video that goes quite a bit deeper into the 7 steps I cover in this post (87% of which is still relevant, even though the video is a few years old):
Although the title of this video says machine learning roadmap, you should treat it as a compass. Explore it, follow your curiosity, learn something and use what you learn to create your next steps.
I won't sugarcoat it though, even with this roadmap in your hands, it will still be a tough journey to find all the right resources and stay motivated.
This is especially true as a beginner because you simply "don't know what you don't know" so there ends up being a lot of time wasted on things that don't matter and a lot more frustration involved.
Maybe watch that video and if it gets you fired up to keep learning then you know you've at least found a good career option for yourself!
#3) The easiest & fastest option (but not free).
The other 2 options can get you to the same end goal, but if you want:
Then it's worth investing a bit of money into a high-quality bootcamp or course (that's updated for 2024) with a strong community.
If you're interested in this route, I'd urge you to go and do your research and compare what you find to our Machine Learning Engineer Career Path here at ZTM.
For less than $300 (which in the grand scheme is so reasonable), you can become a member of Zero To Mastery and simply follow the steps.
No confusion. Everything is totally up to date. And you get to join our private Discord where you can ask me questions and will be learning alonside 1,000s of other people in your shoes.
It's incredible. I promise. There's even a 30-day money back guarantee so you can try it for youself.
This was the route I took back in the day when I taught myself Machine Learning (online courses, books, etc.). I would have loved if this career path and community we've built here at ZTM existed when I was starting out.
With that out of the way, let's get into the "do it your own" steps!
This first step is completely optional but highly recommended, because here’s the thing: Most people don’t know how to learn effectively.
It’s not their fault. Schools teach basic rote methods of learning which are pretty inefficient. They say the thing, and you try to remember the thing, and it's not great - especially if you require certain learning styles to learn best.
This means that topics you might do well with are harder to remember or apply, so it takes longer to learn.
The thing is, there are multiple different learning techniques that you can use that make all of your future learning efforts far more effective. This means you can understand faster and more efficiently, so less back and forth.
You can learn a lot of the key techniques for free right now in this guide, or better still, watch every important technique inside of Andrei’s learning how to learn course.
Estimated Time Required For This Step: 5 days.
I know it might feel like a step backward or even a detour, but think about it like this:
Bear in mind that there are multiple skills that you need to pick up to become a Machine Learning Engineer, and each of them can take weeks or even months of work to complete.
So why not learn how to cut down on that time, improve your comprehension, and pick up skills faster and easier first? The time and energy savings will seriously compound as you go through the rest of the content you need to learn.
Then, once you’ve gone through that course and figured out how to learn faster, you can jump into learning Machine Learning at a more accelerated pace.
I said it before, but the Python programming language is the backbone of Machine Learning and Data Science.
You can't be a Machine Learning Engineer without learning Python, however, you don't need to be an absolute expert at it to get started with Machine Learning.
All you really need is a good handle on the fundamentals, and be comfortable building a few small projects on your own.
With all this in mind, I have a few options for you here:
Andrei teaches a fantastic complete course on Python here, that will get you to a level far higher than you might need to get started, which I definitely recommend.
Andrei is a great guy so he's made the first 8 hours of his Python course available for free (this will give you a great starting point):
Estimated Time Required For This Step: 1-3 months depending how much time you're investing and how quickly you're grasping it, and the level you want to get to.
You don't need to be a top 10% Python developer but you do need to know the basics and fundamentals.
This is where you're going to be spending the bulk of your time and there's a lot of topics to learn:
It's a lot, I know, but that's why ML Engineers can get paid so much!
💡 Note: Andrei and I teach you everything from Step 1 and Step 2 of this roadmap inside of our Machine Learning, A.I, and Data Science Bootcamp course.
It’s one of the most popular and highest rated Machine Learning, Data Science, and A.I courses online. It's also the most modern and up-to-date.
It's teaches you everything you need in one place (including an intro to Python), so you don't have to bounce around to 100s of different tutorials.
We're so confident that you'll love it, we've put the first 10 hours for free below to see if it's for you! (Just make sure to watch Andrei's Free Python Crash Course I embedded above first and then this, so that you can fully understand the content in this video):
Estimated Time Required For This Step: 2-5 months depending on how much time you're spending learning and how you're learning.
There’s a pretty big overlap in A.I. and Machine Learning, so you need to understand both as a Machine Learning Engineer. Especially when you add in the fact that generative A.I. and LLMs (ex: ChatGPT) are exploding right now.
If you're a member of ZTM, you can take this course on LLMs.
If not, then I recommend you watch this great Intro to LLMs video from Andrej Karpathy.
Learning about LLMs has multiple benefits.
Not only because we need to understand how A.I. works as an ML Engineer, but by learning to embrace generative A.I., we can improve our output, future proof ourselves, and also make our lives easier!
By learning to use these tools, you can increase your output and perform repeatable tasks in minutes vs hours or days.
And sure - the tools are not perfect. You still need to have the core knowledge that you're learned above, but by then applying that experience you have now, with that automation, you'll not only make your life easier - but even grow indemand.
A.I. won't steal your job. But people who can do their job faster and more effectively because they can use the tools, are going to be in high demand.
So add it to you skills, make work easier, and be the one that employers fight over!
We have a few other courses on this that you can check out also:
Check those out and see how they can help you.
Also, depending on the time that you read this, there may be new specific A.I. tools for your role, so have a quick Google search and see if there anything that can help, and play around with it.
At it's most basic, you can look at the processes you already do and see if there are ways to streamline or automate certain tasks.
Estimated Time Required For This Step: Pick up the basics in a day. But this space is growing and evolving so fast so you'll need to spend ongoing time to stay on top of it.
An easy way you can do this is by subscribing to my free monthly AI & Machine Learning Newsletter.
Companies are going to want proof that you can do the work required so unless you already have work experience as a Machine Learning Engineer (which I'm assuming you don't) then it’s important that you have a portfolio of projects you’ve completed.
Fellow ZTM instructor Dan Schifano goes through this in detail in his course on personal branding including how to set up a professional portfolio that stands out amongst your peers. (As well as some other great tips to help you stand out even further).
Go ahead and build your portfolio and then add your projects from my ML course into it or other ones you've built on your own if you're taking the free route.
Estimated Time Required For This Step: Actually building your portfolio site, resume, etc (i.e. the stuff Dan Schifano covers in his branding course) should only take you 1-2 weeks to set-up and prepare.
However, the time to complete the projects and to add them to the site in a visually compelling way might require some ongoing time.
I recommend that you have 2-4 really detailed projects, maybe with some discussions points on decisions and tradeoffs you made rather than just listed 10+ projects in a list that no one is going to look at.
Quality > quantity.
You could apply for jobs now, but by completing other projects you can stand out even further and build experience.
Here are some great projects to complete and add to your portfolio.
Estimated Time Required For This Step: Depends on the step above and how your job hunt goes.
If you're able to land a job quickly, you'll be learning a ton in the first year on the job, you probably won't have much additional time for supplementary learning.
If it's taking awhile to land a job (very common), then it's a good idea to keep learning, practicing, and building to keep your skills sharp.
It's time to get hired and apply for some jobs!
Lucky for you... I wrote an entire free guide called The No BS Way To Getting A Machine Learning Job.
Follow the steps there and you'll be well on your way, but here's a few extra tips also.
In addition to the technical know-how that you’ve built up through courses and certifications, interviewers will be evaluating your soft skills.
A Machine Learning Engineer does a lot of troubleshooting and problem solving - especially when fine-tuning models.
Be prepared to talk through a situation or two where you saved the day by solving a complex or business-critical problem. If you don’t have work-related examples, share stories from school or community projects.
Like any other kind of interview, it’s always good to:
Do all this, and you’ll smash the interview and get the job.
Estimated Time Required For This Step: Usually somewhere between 1-6 months given all the potential factors, multiple applications, time to hear back, etc.
Although you can definitely land a job without this step, it never hurts to continue to skill up and then apply for more senior roles for even higher salaries. You should never stop learning (especially in tech)!
Here are some recommendations:
Estimated Time Required For This Step: Depends on which of these skills you want to add but here some rough estimates for you.
So there you have it - the entire roadmap to become a Machine Learning Engineer within the next 6-12 months, or sooner.
Machine Learning is a really great career to get into right now. High demand, great salary, and a whole host of new companies diving into ML and testing it for themselves and their industries.
Better still, it’s not as difficult to pick up as some people make it out to be, it just takes a little determination and hard work. You’ll be surprised how fast you can learn and start working in this role if you follow a set path like I’ve recommended.
Keep me updated on your progress!
All of the courses I’ve mentioned above (Python, Machine Learning Bootcamp, Intro to LLMs, Personal Branding, TensorFlow, PyTorch, Statistics, Data Structures & Algorithms, and more) are all part of the Zero To Mastery Academy.
So as I mentioned earlier, if you become a member, you have access to all of these courses right away and will have everything you need in one place.
Plus, as part of your membership, you'll get to join myself and 1,000s of other people (some that are alumni mentors and others who are taking the same courses that you will be) in the ZTM Discord.
Ask questions, help others, or just network with other Machine Learning Engineers and tech professionals.
Make today the day you took a chance on YOU. There's no reason why you couldn't be applying for Machine Learning jobs in just a few months from now if you just follow the steps I outlined and put in the hard work.
So what are you waiting for 😀? Come join me and get started on becoming a Machine Learning Engineer today!