Welcome

Welcome — I am so glad you are here. Choosing to deepen your machine learning engineering skills is a meaningful step, and I am excited to guide you through this journey.

I started working in machine learning when the field looked very different from how it does today.

Back then, a lot of the focus was on data science: exploring datasets, building models, running experiments, and understanding what information could be extracted from data. That foundation is still incredibly important, and those skills remain at the heart of machine learning.

But over time, the nature of the work changed. Models became only one part of a much larger system.

As AI applications grew — especially with the rise of large language models — the engineering challenges around those models became just as important as the models themselves.

How do you build systems that are reliable? How do you deploy them safely? How do you monitor them once they are running? How do you handle changing data, unexpected behavior, failures, and the many decisions that happen between a prototype and something people actually use?

Those were the skills I found myself learning through experience.

Over the past several years, I have built and operated machine learning systems in production, led engineering teams, and worked on the infrastructure needed to make these types of systems reliable for real users. I have worked on real-time machine learning platforms, data pipelines processing hundreds of gigabytes daily, and deployment and monitoring systems supporting production workloads.

Who it is for

These paths are for engineers who know some Python and want to learn how to build and ship machine learning systems.

You do not need previous machine learning experience. We will build the foundations step by step and gradually move into more advanced engineering decisions: understanding tradeoffs, designing reliable systems, and thinking about how software behaves in the real world.

You should be comfortable working in a terminal, reading documentation, and learning through hands-on practice.

If you can run a command, investigate an error, and stay curious when something does not work, these will be the paths for you.

Four Paths

I am building four paths. They share the same foundations (Python, software design, data systems), then split based on what you are trying to build.

  1. Ship a Machine Learning Product. Build, deploy, and monitor a production machine learning system end to end: a model served behind an API, a data pipeline feeding it, and continuous deployment keeping it alive. This is the foundation the other three paths build on, so start here.
  2. Build with Large Language Models. Retrieval pipelines, agents, and language model-powered products. This path skips the math-heavy modules and goes straight to shipping with the Anthropic API.
  3. Train and Scale Models. Self-host, fine-tune, and train models at scale on GPU clusters, from low-rank adaptation to multi-node training jobs.
  4. Get Interview-Ready. The fundamentals that show up in machine learning engineering interviews: algorithms and data structures, machine learning coding, system design, and behavioral.

Getting started

A few short lessons remain before the first module begins.

The next one, The Three Roles, explains the difference between a data scientist, a machine learning engineer, and an AI engineer, and which one this path teaches. After that, How the Work Works explains the quizzes, projects, and capstone in detail. Git Basics then walks through the exact git workflow every project uses — fork a starter, clone it, work on a branch, commit, push, and open a pull request. Set Up Your Environment is optional — skip it if you already code; it installs Python 3.12, uv, and VS Code for anyone who wants a clean setup first. Finally, Your Portfolio Site helps you set up a place to publish the work you are about to build.

Once those are complete, you will be ready to begin.