How to Become a Machine Learning Engineer: Step-By-Step Guide

Daniel Bourke
Daniel Bourke
hero image

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!

  • Do you need a degree to get started or get hired? Nope.
  • Are there job opportunities? Yep... 100,000+ in the US alone
  • How much does it pay? A lot!... $100,000+ is the average of those available jobs

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.

Why should you listen to me?

Hey there... I'm Daniel Bourke. I've been a Machine Learning Engineer since 2018.

  • I taught myself machine learning and got hired at leading ML & AI agency in Australia so I know it's possible for you too 😉
  • I write regularly about A.I. and machine learning here at ZTM and on my own blog including a monthly machine learning & AI newsletter
  • I make videos on the topic on my YouTube channel
  • I'm building my own AI-powered food education startup called Nutrify (take a photo of food and learn about it 📸 → 🍍)
  • 200,000+ people have taken or are currently taking one of my Machine Learning courses... many of whom are now working as full-time Machine Learning Engineers!

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!

What is a Machine Learning Engineer? What do they do?

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!

netflix thumbnail algorithm

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:

  • Spam detection bots on your email
  • Personalized social media feeds
  • Tools like Siri and Alexa
  • Predictive text for writing messages
  • And many more

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.

The main responsibilities of a Machine Learning Engineer

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:

1. Understand the problem and goal

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.

2. Data Collection and Preparation

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.

3. Model Selection and Development

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:

  1. Supervised Learning
  2. Unsupervised Learning
  3. Reinforcement 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.

4. Evaluation and Validation

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.

5. Deployment and Integration

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.

6. Monitoring and Maintenance

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.

Is Machine Learning a good career choice?

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.

ml market size by 2030

As for job demand, a quick look on ZipRecruiter shows 111,206 ML Engineering jobs available in the US right now.

OPEN ML ENG JOBS IN THE US

That’s just one job posting website also, so there are even more ML jobs out there!

TL;DR

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…

What is the average Machine Learning Engineer's salary?

If we look at the current ML Engineer jobs posted on ZipRecruiter, the average salary is around $128,769.

average ml engineer salary

Not bad right?

Do I need a degree to become a Machine Learning Engineer?

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.

dont get a 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.

What skills do I need to become a Machine Learning Engineer?

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:

  • Programming Languages, ML libraries, and frameworks: Python is the backbone of most Machine Learning algorithms, so you need to know this, as well as libraries and frameworks like NumPy, pandas, scikit-learn, TensorFlow, and PyTorch
  • Mathematics and Statistics: A strong understanding of mathematical concepts such as linear algebra, calculus, probability, and statistics is crucial for designing, implementing, and evaluating machine learning models. You should be comfortable with concepts like matrix operations, optimization techniques, probability distributions, and hypothesis testing. Again, all of this is taught inside of any good ML course, simply because you need to understand the concepts to apply them to the models
  • Machine Learning Algorithms and Techniques: We covered this in the video earlier, but you need to understand the main types of machine learning algorithms and techniques for solving different types of problems. This includes supervised learning algorithms (e.g., regression, classification, ensemble methods), unsupervised learning algorithms (e.g., clustering, dimensionality reduction), reinforcement learning, and deep learning architectures (e.g. neural networks, convolutional neural networks, recurrent neural networks)
  • Data Preprocessing and Feature Engineering: Data preprocessing and feature engineering are critical steps in the machine learning pipeline. You should know how to clean, preprocess, and transform raw data into a format suitable for training machine learning models. This may involve handling missing values, encoding categorical variables, scaling features, and extracting relevant features
  • Model Evaluation and Validation: You also need to be able to look at a problem and accurately assess what type of ML model to apply to it. This is much easier than it sounds but just takes a little experience. Understanding how to evaluate and validate machine learning models is essential for assessing their performance and generalization ability
  • Software Engineering Principles: Strong software engineering skills are important for building scalable, maintainable, and production-ready machine learning systems. This includes version control (e.g., Git), software design patterns, debugging, testing, and writing clean and modular code
  • Domain Knowledge: Depending on the application domain, having domain-specific knowledge can be beneficial for understanding the problem context, interpreting results, and designing appropriate machine learning solutions. However, you will also work with collaboration teams to find this
  • Problem-Solving and Critical Thinking: Machine Learning Engineers need good problem-solving and critical thinking skills to analyze complex problems, identify suitable approaches, and iterate on solutions based on feedback and results
  • Communication and Collaboration: You’re always working with other team members and stakeholders so effective communication and collaboration skills are essential

How long does it take to become a Machine Learning Engineer?

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.

machine learning engineer career path

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.

How to become a Machine Learning Engineer in 7 steps

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:

  • The best chances of succeeding
  • Are serious about this career
  • Want to go from zero to hired as quickly and efficiently as possible
  • Don't want to learn and be on this journey alone

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!

Step #1: Set yourself up for success

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.

learn how to learn

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:

  • You can learn the core principles in a few days and then immediately start putting them into practice
  • You're going to learn everything else from now on 2x faster and retain way more as well
  • This is a skill that you can keep developing over time and will serve you for your entire career, guaranteed

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.

Step #2: Learn Python

I said it before, but the Python programming language is the backbone of Machine Learning and Data Science.

  • It's fairly easy to learn and use
  • It has fantastic community support
  • It's got multiple libraries and frameworks that are dedicated to Machine Learning, such as TensorFlow, PyTorch, scikit-learn, and Keras. These libraries provide pre-built functions and algorithms that simplify the implementation of machine learning models
  • It also integrates well with other tools that you'll use during your Machine Learning work

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.

learn python in 2024

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.

Step #3: Learn machine learning & data science fundamentals

This is where you're going to be spending the bulk of your time and there's a lot of topics to learn:

  • Data Exploration and Visualizations
  • Neural Networks and Deep Learning
  • Model Evaluation and Analysis
  • Numpy
  • Scikit-Learn
  • Machine Learning Project Workflows
  • Data Visualization in Python with MatPlotLib and Seaborn
  • Basics of Tensorflow
  • Transfer Learning
  • Image Recognition and Classification
  • Train/Test and Cross Validation
  • Supervised Learning: Classification, Regression and Time Series
  • Decision Trees and Random Forests
  • Ensemble Learning
  • Hyperparameter Tuning
  • Using Pandas to handle CSV files and other data manipulation tasks
  • Deep Learning / Neural Networks with TensorFlow and Keras
  • Using Kaggle
  • How to present your findings and impress your boss
  • How to clean and prepare your data for analysis
  • K Nearest Neighbours
  • Support Vector Machines
  • Regression analysis (Linear Regression/Polynomial Regression)
  • How Hadoop, Apache Spark, Kafka, and Apache Flink are used
  • Setting up your environment with Conda, MiniConda, and Jupyter Notebooks
  • Using GPUs with Google Colab

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.

learn machine learning this year

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.

Step #4: Learn about LLMs (Large Language Models) and how they work

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.

learn how LLMs work

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.

Step #5: Create a portfolio of work

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).

personal branding toolkit

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.

Step #6: Gain further experience

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.

Step #7: Apply for jobs

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.

Tech jobs are more than just tech skills

In addition to the technical know-how that you’ve built up through courses and certifications, interviewers will be evaluating your soft skills.

  • Be prepared with examples showing how you’ve collaborated with co-workers or led teams or projects in the past
  • Be able to explain the decisions you made for the projects in your portfolio and discuss various trade-offs that you made
  • Make sure to demonstrate strong communication skills in writing and during the interviews (whether virtual or in-person)... Even very basic things like: using proper grammar and having no spelling mistakes, sending a thank you email within 24 hours of your interview, etc.

Have specific examples of how you’ve solved problems

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.

The usual interview prep

Like any other kind of interview, it’s always good to:

  • Research the company. Learn what you can about their ML needs and why they’re hiring for your role
  • Learn what you can about the people you’ll be interviewing with, and what their potential areas of focus will be. You can always ask when they offer the interview, and they will happily let you know
  • Practice, practice, practice. Do a mock interview with friends or family, or even just interview yourself, speaking your answers out loud. It’s amazing the difference this makes, and how much more polished you’ll be on the big day
  • Be on time (or even a little bit early) for the interview
  • Dress the part. Figure out the “norm” for the company’s culture (jeans and T-shirt or more professional?) and dress to fit in. If you’re unsure, err on the side of dressing “up"

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.

Bonus: Add more skills to future-proof yourself and get paid more!

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.

  • TensorFlow: 2-4 months
  • PyTorch: 2-4 months
  • Statistics with Python: 1.5 months
  • Data Structures and Alogrithms: 1.5 months
  • Soft Skills: Never stop working on these!

So what are you waiting for? Get started today!

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!

P.S.

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!

More from Zero To Mastery

6-Step Framework To Tackle Machine Learning Projects (Full Pipeline) preview
6-Step Framework To Tackle Machine Learning Projects (Full Pipeline)

Want to apply Machine Learning to your business problems but not sure if it will work or where to start? This 6-step guide makes it easy to get started today.

Top 10 Machine Learning Projects To Boost Your Resume preview
Top 10 Machine Learning Projects To Boost Your Resume

Looking for the best machine learning projects to make your resume shine? Here are my top 10 recommendations (with 3 'can't miss' projects!)

The No BS Way To Getting A Machine Learning Job preview
The No BS Way To Getting A Machine Learning Job

Looking to get hired in Machine Learning? Our ML expert tells you how. If you follow his 5 steps, we guarantee you'll land a Machine Learning job. No BS.