How to Become an AI Engineer in 2026: The Complete Learning Roadmap
Whether you’re starting from scratch or transitioning from software engineering, here’s a structured roadmap to learn the skills companies actually expect from AI Engineers in 2026.
I help developers master Claude Code through practical resources like the Claude Code Ultimate Bundle, and I work with startups and engineering teams to design and build production-ready AI products. (more at the end)
Every week, I receive messages that sound something like this:
How do I become an AI engineer?
The problem isn’t that there aren’t enough roadmaps, courses, or videos.
It’s that most of them were created before AI Agents, Model Context Protocol (MCP), Context Engineering, and production LLM systems became the skills companies actually hire for.
Today, even entry-level AI engineering roles expect you to understand concepts like Retrieval-Augmented Generation (RAG), embeddings, vector databases, structured outputs, and agentic workflows.
After mentoring learners, interviewing for AI roles, building production AI applications, and spending countless hours figuring out what actually matters, I decided to put everything into one roadmap. (finally)
Whether you’re:
- a student starting from scratch,
- a software engineer transitioning into AI,
- or an AI engineer looking to level up,
This roadmap is designed to help you learn the skills that matter in 2026. It differs very much from what mattered five years ago.
Let’s get started.
AI Has Changed Faster Than Most Roadmaps
Most AI roadmap content on the internet is a Machine Learning Roadmap from 2019 with LLM pasted on top as an afterthought chapter.
It might work for a fresher or a beginner, but for an experienced engineer, much more is expected.
What is expected from an AI Engineer Today?
In 2026, being an AI Engineer means something noticeably different from what it did even two years ago: (if you’re already in the industry, you might’ve realised this)
Should we be afraid of AI?
Do you need to be afraid that AI would take away the jobs in tech? My honest answer is no, if you try to keep trekking with it.
Because two years ago, there was not even a single prompt engineering job (trust me), but look how many jobs are clustered around prompt engineering these days!
So if you’re going to spend months learning this kind of stuff, you deserve a roadmap that reflects what teams are actually hiring for right now, not a relic. That’s what this is.
Don’t chase tools. Build engineering fundamentals.
Disclaimer: Before You Learn AI, Learn to Build Software
Yes, I’ll say the unpopular part first.
Let me be frank: you are not going to skip straight to “I fine-tune LLMs for a living, build AI agents” by watching a weekend of YouTube videos about transformers.
Behind every AI Engineer I respect, the ones who’re actually shipping things, not just posting about them, is a solid software engineer underneath. They can:
- Read a stack trace or understand a new one without panicking
- Write code that someone else (or future-them) can actually understand and maintain
- Use git like a tool
- **Reason about what happens when 10,000 requests hit their endpoint instead of 1 **(for an experienced dev)
AI Engineers are software engineers first.
Note:
- For every phase concept, I tagged the respective resources (both the video tutorials and the reading guides, and relevant projects wherever required).
- Start with whatever best suits you. Always, the best way to learn is to put it into practice.
Let’s get into it!
Phase 1: Python, Git, and Programming Fundamentals
Already comfortable with Python? Skip to Git, virtual environments and debugging.
This is where Python for AI actually starts.
I spent months consuming tutorials before I realised implementation teaches far more than passive learning.
Only when I started practising DSA and implementing algorithms did I start to think clearly and see a dramatic improvement.
So my suggestion is, be fluent enough in plain Python or any programming language of your choice, like C++ (if it’s easy for you for DSA to start with, but remember you might need to shift to Python later :))
Python makes the AI-specific libraries stop feeling like an alien language. (you’ll feel it later)
Here’s what to actually get comfortable with:
1. Core Python
Data structures (lists, dicts, sets), functions, classes, list/dict comprehensions, generators, decorators (you’ll see these everywhere in AI frameworks)
Resources 💻
- CS50’s Introduction to Programming with Python | Harvard University
- The Complete Python Bootcamp From Zero to Hero in Python (best for certification)
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="a08bca03bd925f4bc58bc2dd412cc751" srcdoc="Harvard CS50's Introduction to Programming with Python – Full University Course – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787c5ffb08dda',t:'MTc4NTQ0NzcxNg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
Spend the least amount of time choosing the best resource and start with one.
I suggest you get started with a course or video. Once you gain a basic understanding, start doing DSA problems on platforms like LeetCode , and improve on it.
2. Virtual environments & package management
venv, pip, and increasingly uv.you will waste hours of your life on dependency conflicts if you skip this!
- Git & GitHub: branches, commits, pull requests, resolving merge conflicts without crying. (You don’t need to memorise; start implementing as you do and it becomes a practise)
- Working with files & data: reading/writing JSON, CSV, and plain text, since this is 80% of what data looks like before it becomes a fancy dataframe
- The terminal: basic bash, navigating directories, piping commands together
- Debugging: actually try reading the error message before pasting it into a chatbot. Try debugging with tools in whatever IDE you’re building in, too, e.g., breakpoints in VS Code. (also, print statements are a saviour)
A trap a lot of beginners fall into here is treating this phase as watching tutorials until it clicks. But it won’t click from watching alone. It clicks from typing, resolving, and doing it in a loop.
Hands-on Time: Your First Real Project 🎯
Start with a simple project like BMI Calculator, Sudoku, or Tic-tac-toe to hone your beginner skills, and then build something with actual data or a real problem in it, something like:
- A CLI tool that scrapes and cleans data from a public API and saves it to a structured file
- A small script that parses your own bank statement CSV or Spliwise exports and categorizes spending
- A simple web scraper + data cleaner for a dataset you’re personally curious about
The goal of this project is less on output and more on forcing yourself through the unglamorous things like: malformed data, off-by-one errors, an API that changes its response shape halfway through your script.
You may use this resource for exploring beginner-friendly to real world project ideas
Note: Whatever math you are going to learn below in Phase 2, try to implement it through code. That way you’ll learn about what libraries to use and when to use them.
Phase 2: The Math That Actually Matters
People get scared of AI by math way more than they should. We do not need all of linear algebra to start, but a specific, small slice of it. (You can always expand on top of it !)
1. Linear Algebra
- Vectors, matrices, tensors, and what multiplying them actually does geometrically
- Dot products, matrix multiplications, eigenvalues, and vectors (you’ll meet these again immediately in attention mechanisms and embeddings)
Resources 💻
<iframe class="w-full border" width="853" height="480" frameborder="0" data-iframe-id="30dea93f4e9f07c251bd135ae7e52f58" srcdoc="MIT 18.06 Linear Algebra, Spring 2005 – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787c79b938ddb',t:'MTc4NTQ0NzcxNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
3Blue1Brown
Mathematics with a distinct visual perspective. Linear algebra, calculus, neural networks, topology, and more.
If you love learning with illustrations:
Introduction to Linear Algebra for Applied Machine Learning with Python
Linear algebra is to machine learning as flour to bakery: every machine learning model is based in linear algebra, as…
2. Calculus
Most of us might’ve studied it all in high school. But here are the main topics and resources that might help you brush up on your concepts.
- Precalculus, Differential Calculus, Integral Calculus, Multivariate Calculus
- Derivatives, and specifically the idea of a gradient.
Resources 💻
2.4. Calculus — Dive into Deep Learning 1.0.3 documentation
For a long time, how to calculate the area of a circle remained a mystery. Then, in Ancient Greece, the mathematician…
The Matrix Calculus You Need For Deep Learning
Most of us last saw calculus in school, but derivatives are a critical part of machine learning, particularly deep…
3. Probability & Statistics
- Distributions, mean/variance, conditional probability
- This is the actual language that the model outputs, uncertainty, and evaluation metrics are written in.
Resources 💻
2.6. Probability and Statistics — Dive into Deep Learning 1.0.3 documentation
One way or another, machine learning is all about uncertainty. In supervised learning, we want to predict something…
Probability & Statistics for Machine Learning & Data Science
Offered by DeepLearning.AI. Newly updated for 2024! Mathematics for Machine Learning and Data Science is a foundational…
4. Optimization
- Gradient descent, learning rates, loss functions, the mechanism that turns wrong_ into _less wrong over time
Resources 💻
12. Optimization Algorithms — Dive into Deep Learning 1.0.3 documentation
To do well, however, some deeper knowledge is required. Optimization algorithms are important for deep learning. On the…
Fun fact: I loved doing sudoku since my 8th standard and couldn’t stop being in awe of mathematics since I began applying probabilities. (I used to hate math so much before that)
Note: Do not overwhelm yourself and do not go too deep into it.
If you’re still wondering where all the math becomes necessary:
Tools to work with data
- Learn popular libraries like Pandas and NumPy for data manipulation and analysis.
- Check data visualization tools like Matplotlib and Seaborn. (Start with matplotlib; it’s easier)
Resources 💻
Introduction to Pandas and NumPy | Codecademy
pandas and NumPy are very useful libraries in Python. Let’s learn how to use them!
Research Guides: D-VELOP: Data Visualization using Python (Matplotlib and Seaborn)
Includes workshop recordings and resources from past D-VELOP sessions.
Data Visualization can expand thinking and storytelling horizons:
What Data Reveals About Crimes Against Women in India?
Have we ever wondered WHY these crimes keep happening, instead of just ACCEPTING that they do?
Hands-on Time: Build Linear Regression From Scratch 🎯
This is the highest-leverage exercise in this entire roadmap, and most people skip it because it feels too basic. Don’t skip it.
import numpy as np
class LinearRegressionScratch:
def __init__(self, learning_rate=0.01, n_iterations=1000):
self.learning_rate = learning_rate
self.n_iterations = n_iterations
self.weights = None
self.bias = None
def fit(self, X, y):
n_samples, n_features = X.shape
self.weights = np.zeros(n_features)
self.bias = 0
for _ in range(self.n_iterations):
y_pred = np.dot(X, self.weights) + self.bias
# Gradients
dw = (1 / n_samples) * np.dot(X.T, (y_pred - y))
db = (1 / n_samples) * np.sum(y_pred - y)
# Update
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db
def predict(self, X):
return np.dot(X, self.weights) + self.bias
import numpy as np
class LinearRegressionScratch:
def __init__(self, learning_rate=0.01, n_iterations=1000):
self.learning_rate = learning_rate
self.n_iterations = n_iterations
self.weights = None
self.bias = None
def fit(self, X, y):
n_samples, n_features = X.shape
self.weights = np.zeros(n_features)
self.bias = 0
for _ in range(self.n_iterations):
y_pred = np.dot(X, self.weights) + self.bias
# Gradients
dw = (1 / n_samples) * np.dot(X.T, (y_pred - y))
db = (1 / n_samples) * np.sum(y_pred - y)
# Update
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db
def predict(self, X):
return np.dot(X, self.weights) + self.bias
Once this runs and produces compare it against sklearn.linear_model.LinearRegression on the same data.
When the numbers roughly match, you’ve just proven to yourself that you understand what’s happening under the hood of every model you’ll touch from here on.
Whenever you encounter similar techniques, try implementing the algorithm under the hood to understand it better.
Libraries might make it all easy, but it’s improtant to know the algorithm and math behind.
Phase 3: Classical Machine Learning
Before you touch a neural network, you need to be familiar with the classical stuff like this because a huge share of real-world ML problems are still solved better and cheaper with these methods than with a deep learning model.
Understand why we use certain techniques over others, and how it solves a problem.
Core topics
- Supervised learning: regression, classification, decision trees, random forests, gradient boosting (XGBoost/LightGBM)
- Unsupervised learning: clustering (k-means), dimensionality reduction (PCA)
- Model evaluation : train/test splits, cross-validation, precision/recall/F1, ROC-AUC, and critically knowing which metric actually matters for a given business problem
- Feature engineering: this is the skill that determines whether your model is good or mediocre
- scikit-learn fluency, pipelines, preprocessing, model selection
Resources 💻
<iframe class="w-full border" width="853" height="480" frameborder="0" data-iframe-id="13e44ca978e86c0e5e1d57509cec6d53" srcdoc="CORNELL CS4780 "Machine Learning for Intelligent Systems" – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787c9da1f8dda',t:'MTc4NTQ0NzcxNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
My friend introduced me to this course (i loved how simple, interactive, and easy to understand this is, thankful to him):
Machine Learning | Google for Developers
Google’s fast-paced, practical introduction to machine learning, featuring a series of animated videos, interactive…
If you want to go in depth:
<iframe class="w-full border" width="853" height="480" frameborder="0" data-iframe-id="2cacf09205d348183b0df7db8470c100" srcdoc="Machine Learning by Professor Andrew Ng – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)
(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787cb3e258ddb',t:'MTc4NTQ0NzcxNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();” sandbox=”allow-same-origin”>
I also used this Udemy course that covered all the above phases’ concepts:
Machine Learning A-Z [2026]: ML, DL, AI with AWS, Python & R
Interested in the field of Machine Learning? Then this course is for you! This course has been designed by two AI &…
Portfolio Project #1: Customer Churn Prediction 🎯
This project is a rite of passage for all for a reason: it forces you through the full lifecycle we get to see in the real world:
From messy tabular data, class imbalance, feature engineering, model comparison, to business-relevant evaluation (a false negative here literally costs the company a customer).
Here’s what a strong version of this project includes:
- A clear write-up of why you chose your evaluation metric (accuracy is almost always the wrong answer for churn)
- At least two model comparisons, not just “I used XGBoost because it’s popular“
- Explainability: SHAP values, confusion matrix, or feature importances, so you can say why the model predicts what it predicts
Portfolio Project #2: Recommendation Systems 🎯
This project teaches you to think in terms of similarity, a concept you’ll lean on constantly once you get to embeddings and RAG later in this roadmap.
Build a simple content-based or collaborative-filtering recommender (movies, books, or products work well as datasets).
The point is to internalize the idea of representing items as vectors and measuring distance between them, because that exact idea resurfaces in Phase 5 too.
I personally worked on the bookstore recommendation system, and the beginner learnings were very helpful in deciding what approach worked and what didn’t.
For more projects 🚀
100+ Machine Learning Projects with Source Code — GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across…
Phase 4: Deep Learning
This stage actually decided if Deep Learning is for you. It’s where a lot of self-taught beginners or engineers either fall in love with the field or bounce off learning just the basics.
Whatever it is, I suggest giving it a genuine shot before deciding which one you are!
Core topics
- Neural network fundamentals: layers, activation functions, forward/backward pass
- Training dynamics: overfitting, regularization, dropout, batch normalization
- Optimizers: SGD, Adam, and why the choice actually matters in practice
- GPUs: not the theory, just enough to stop being confused about why your laptop is on fire when you run a billion-parameter model!
Resources 💻
Practical Deep Learning for Coders — Practical Deep Learning
A free course designed for people with some coding experience, who want to learn how to apply deep learning and machine…
Deep Learning A-Z [2026]: DL, AI in Python & AWS + LLM Prize
Welcome to Deep Learning A-Z!
Deep Learning with Python, Third Edition
Deep Learning with Python is written for anyone who wishes to explore deep learning from scratch. This new edition adds…
To learn it in a fun way: (found his methodology intriguing)
Wait…PyTorch Or TensorFlow?
This is a genuinely fair question asked by every beginner, and it deserves a straightforward answer:
PyTorch has effectively become the default for research, for most modern open-source models, and for the majority of production AI engineering work you’ll encounter in 2026.
TensorFlow still has a footprint, particularly in some enterprise and mobile-deployment contexts via TensorFlow Lite , but if you can only learn one framework at a time deeply, then learn PyTorch.
It’s what almost every Hugging Face model, agent frameworks, and research code you’ll read are built on.
Resources 💻
Zero to Mastery Learn PyTorch for Deep Learning
Learn important machine learning concepts hands-on by writing PyTorch code.
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="95a352ca22900444a0a3633d6455a381" srcdoc="Deep Learning with PyTorch Full Course | Master PyTorch, Tensors, and Neural Networks – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787ccfc7d8dda',t:'MTc4NTQ0NzcxNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="9347541607be332d1c84c5cf55ae2aaf" srcdoc="Deep Learning for Computer Vision with Python and TensorFlow – Complete Course – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787ce88f38ddb',t:'MTc4NTQ0NzcxOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
NLP, Computer Vision, and Transformers
You need working literacy in the following:
- NLP fundamentals: tokenization, embeddings, sequence models
- Computer Vision fundamentals: CNNs, image preprocessing, transfer learning
- The Transformer architecture: attention, self-attention, why this specific architecture is the reason every LLM you use today exists at all
Attention is all you need! (literally)
Really understand how the Attention mechanism works in a Transformer architecture. Everything in Phase 5 sits on top of it. (see resources below)
Portfolio Project #3: Sentiment Analysis
Fine-tune a pretrained transformer (a distilled BERT variant is a good, cheap starting point) on a sentiment classification dataset.
This project teaches you the entire modern fine-tuning workflow in a gist:
From loading a pretrained model, tokenizing data correctly, fine-tuning on top, to evaluating the exact same workflow at a larger scale that production teams use.
Portfolio Project #4: Meeting Transcriber
Build an end-to-end pipeline: audio in, transcript out, summary out.
This combines speech-to-text (Whisper is the obvious, excellent choice here) with an LLM summarization step.
It makes this your first real AI application, not just a model. It’s also a genuinely useful tool you can actually keep using something you built by yourself!
Resources 💻
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="bb1076af9a478384edc4f9a09bdea4a5" srcdoc="Complete Transformers For NLP Deep Learning One Shot With Handwritten Notes – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)
(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787d10fc28dda',t:'MTc4NTQ0NzcxOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();” sandbox=”allow-same-origin”>
Explore this if you love interactive learning like i do:
Transformer Explainer: LLM Transformer Model Visually Explained
An interactive visualization tool showing you how transformer models work in large language models (LLM) like GPT.
**📘 Beginner’s Guide to Transformer (with diagrams and real word embeddings) | Kaggle
**
hat is Transformer? Transformer is the backbone of modern NLP. Introduced in the paper “Attention is All You Need”, it…w
Phase 5: AI Engineer
This is the phase this entire roadmap has been building toward, and it’s where the real AI Engineering work relies.
Note: If you are preparing for ML domain roles, this is the part where the preparation diverges. Everything before this was foundational, common to both AI, ML domains, and whether you’re a fresher or an experienced developer, this is the frame you build on.
Context Engineering
Context Engineering is the actual 2026 successor to prompt engineering.
A Prompt engineer asks: what words do I put in the prompt?
While a Context Engineer asks: what is the complete set of information- retrieved documents, tool outputs, conversation history, system instructions, memory that the model needs in its context window to do this task well, and how do I structure and prioritize all of it?
That’s the whole scenario. Basically, thinking in terms of systems.
Core concepts to focus on
- What information actually needs to be in context vs. what’s noise diluting the signal
- How to structure that context (ordering, formatting, compression) for the model to use it well
- Context window budgeting: you don’t have infinite tokens, and stuffing everything for just-in-case scenarios often makes outputs worse, not better
- Structured Outputs: Learn how to make LLMs generate responses in a predefined schema (JSON, Pydantic, etc.) instead of free-form text. This makes AI applications more reliable and easier to integrate with downstream systems.
Resources 💻
AI Context Windows: The Simplest Explanation You’ve Ever Had
Everyone talks about 200K, 1M, and even 10M context windows. But what are they actually? Let’s make them finally click!
Context Engineering: The Skill Replacing Prompt Engineering
AI didn’t suddenly become smarter. We just became better at giving it context!
The Ultimate Cheat Sheet of Prompt Engineering Techniques
From Basics to Advanced
Context Engineering (1/2) — Getting the best out of Agentic AI Systems
abvijaykumar.medium.com
Retrieval-Augmented Generation (RAG)
RAG is the technique that lets an LLM answer questions using information it was never trained on.
Core topics
- Chunking strategies: naive fixed-size chunking vs. semantic chunking, and why this choice quietly determines your ceiling on retrieval quality
- Embeddings & vector databases: how text becomes a vector, and tools like Pinecone, Weaviate, Chroma, or pgvector for storing and searching them
- Retrieval: similarity search, hybrid search (combining keyword + semantic), and re-ranking
- RAG techniques: Query Rewriting (improving the user’s query before retrieval), Agentic RAG (allowing agents to plan and retrieve iteratively), and Graph RAG (using knowledge graphs to capture relationships between entities for richer retrieval)
- Evaluation: measuring retrieval quality, hallucinations (not just does the final answer look okay), using metrics like context precision and recall
Resources 💻
Your RAG System Isn’t Hallucinating, It’s Just Lazy
this is why your RAG isn’t doing its best
I personally found this course immensely helpful in understanding everything about RAG:
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="63b8bab76d4a9b22e63f47abf55478be" srcdoc="Learn RAG From Scratch – Python AI Tutorial from a LangChain Engineer – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)
(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787d2bb948ddb',t:'MTc4NTQ0NzcxOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();” sandbox=”allow-same-origin”>
Later, dive into RAG strategies here:
As a project, you can work on implementing RAG on your own set of personal journals you have; it’s a cool project indeed.
Model Context Protocol (MCP)
MCP is, in one sentence, a standardized way for an LLM application to connect to external tools and data sources instead of every team writing a custom integration for every tool an agent needs to touch.
Core topics
- Understanding the MCP client/server model
- Connecting an existing MCP server to an agent you build
- Building a minimal custom MCP server for a tool that doesn’t already have one
Resources 💻
The Beginner’s Guide to MCP (Model Context Protocol)
Simple yet powerful protocol changing AI systems’ connectivity
Meet the MCP (Model Context Protocol) Team
Leveling up to know about MCP Host, Client, Server and Message Transport
Model Context Protocol (MCP): A Guide With Demo Project
Learn how to build an MCP server using Anthropic’s Model Context Protocol to connect Claude with GitHub and Notion.
Every tool you work on with ChatGPT or Claude, either to write into or read from Canva, Notion, or any external tool, MCP is driving it.
AI Agents
An AI Agent is a system where an LLM can reason about a goal, decide which tool to use, take an action, observe the result, and loop instead of just producing a single static text response like a chatbot.
Core topics
- The reasoning loop: plan → act → observe → repeat (ReAct-style patterns)
- Tool use/function calling: how the model decides when and what to call
- Memory: short-term (within a session) vs. long-term (persisted across sessions)
- Guardrails: what stops an agent from doing something destructive, expensive, or wrong
Build at least one agent from raw API calls before reaching for a framework like LangChain or LangGraph.
It’s the difference between knowing what LangChain or a similar framework is doing for you versus just knowing its API surface.
Resources 💻
Building an AI Agent from Scratch: No Magic, Just a Deterministic Loop
I was using Claude, Codex, Cursor, Gemini, Copilot, or Junie every day, but I still could not point to the exact line…
Found these very helpful:
Quickstart: LangChain Essentials — Python
Learn the core elements of LangChain. Build with create_agent, a powerful and extensible agent building block. Learn…
Foundation: Introduction to LangGraph — Python
Learn the basics of LangGraph — our framework for building agentic and multi-agent applications. Separate from the…
While understanding agent concepts is more important than frameworks, it’s worth exploring modern frameworks like OpenAI Agents SDK, LangGraph, CrewAI, Google ADK, Agno, AutoGen, and Smolagents to understand different approaches to building production-ready agentic systems.
Multi-Agent Systems
Multi-Agent Systems take the single-agent pattern above and split a complex task across several specialized agents that coordinate.
This matters because single agents hit a real ceiling on complex, multi-step tasks such as: context gets overloaded, and one agent trying to be a generalist at everything tends to be mediocre at most of it!
Specialized agents, each with a narrow, well-defined job and its own context, tend to outperform a generalist agent trying to do everything! (just like we humans specialise in a task and do it)
Patterns worth knowing:
- Orchestrator-worker: one agent delegates subtasks to specialized workers
- Sequential pipelines: agent A’s output becomes agent B’s input
- Debate/critique patterns: one agent’s output gets reviewed and challenged by another before being finalized
Resources 💻
Multi-agent — Docs by LangChain
Edit description
How to Build Your First Multi-Agent AI System in Python and LangGraph
In this tutorial, I’ll show you how to build a multi-agent AI system in Python with no orchestration framework. We’ll…
AI Evaluation
As an AI Engineer, I can’t stress this enough. It’s arguably the thing that separates a demo from a production system.
Core topics
- Building a test set of representative inputs before you ship
- Defining what good means for your specific task (correctness? faithfulness to retrieved sources? tone? latency?)
- Using LLM-as-judge patterns where human evaluation doesn’t scale, while understanding the biases that come with that approach
- Evaluation frameworks such as DeepEval, Promptfoo, LangSmith, Ragas, and Arize Phoenix to benchmark and track regressions in prompts, RAG pipelines, and agentic workflows.
- Tracking regressions over time as you change prompts, models, or retrieval logic
Resources 💻
The resources below cover metrics such as relevance score, precision, recall, ROUGE, and BLEU, as well as evaluation techniques, tools, and frameworks
GitHub — hparreao/Awesome-AI-Evaluation-Guide: A comprehensive, implementation-focused guide to…
A comprehensive, implementation-focused guide to evaluating Large Language Models, RAG systems, and Agentic AI in…
GitHub — Vvkmnn/awesome-ai-eval: ☑️ A curated list of tools, methods & platforms for evaluating AI…
☑️ A curated list of tools, methods & platforms for evaluating AI reliability in real applications …
LLMOps
As AI systems become production applications, learning LLMOps becomes increasingly important.
Core topics
- Prompt versioning
- model routing
- tracing, observability
- cost monitoring
- caching
- experiment tracking
LLMOps helps build reliable and scalable AI systems.
Resources 💻
<iframe class="w-full border" width="854" height="480" frameborder="0" data-iframe-id="11b9cb5ee6e7aadb2fe59f029ede9578" srcdoc="LLMOps Course: Agent Observability with Opik – PhiloAgents Episode V – Mediumbody {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}html, body, iframe { width:100%; height:100%; }if (document) {
console.log("[FREEDIUM] iframe workaround started");
}
function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function handleMessage(event) {
if (!event.data || (typeof event.data != 'string')) {
return false;
}
var data;
try {
data = JSON.parse(event.data);
} catch (e) {
console.error(e);
return false;
}
var iframe = document.querySelector('iframe');
if (!iframe || !(data.type === 'MEASURE' || data.context === 'iframe.resize')) {
return false;
}
notifyResize(data.height || data.details.height);
}; window.addEventListener('message', handleMessage)(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a23787d4ca778dda',t:'MTc4NTQ0NzcxOQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();
” sandbox=”allow-same-origin”>
Introduction
LLMOPs Workshop
GitHub — tensorchord/Awesome-LLMOps: An awesome & curated list of best LLMOps tools for developers
An awesome & curated list of best LLMOps tools for developers — tensorchord/Awesome-LLMOps
Deploying AI Applications
Deployment fundamentals worth having:
- APIs: wrapping your model/agent in FastAPI or similar
- Containerization: Docker, enough to know why it exists and how to use it
- Inference and model-serving tools: vLLM for high-throughput LLM serving and LiteLLM for routing requests across multiple model providers through a unified interface
- Basic cloud deployment: can be done with your most familiar cloud provider, deployment end-to-end
- Monitoring & cost tracking: LLM calls cost real money per token, and production systems need visibility into both latency and spend. This is the most looked-upon area
- CI/CD basics: to deploy and automate the pipelines
Mistakes I See Every Beginner Make
- Jumping straight to LLMs and agents while skipping Phase 1–3
- Treating frameworks (LangChain, etc.) as something to learn instead of something built on top of concepts you should understand independently first
- Collecting tutorials instead of building projects, watching is not the same as doing, and the gap between the two is where most people quietly stall out
- Build an eval pipeline as part of the build, not later. Every minor change lets us know if the pipeline is performing better or worse.
Final Thoughts
If you take just one thing from this roadmap, let it be this: becoming an AI Engineer isn’t about mastering every new tool, it’s about building strong fundamentals and applying them consistently.
Don’t rush as you navigate through every phase. Build projects, experiment, make mistakes, and learn by doing. That’s where real growth happens.
I hope this roadmap gives you a clear direction and saves you the time I spent figuring out what to learn next.
Bookmark it, share with your community, revisit as you progress, and most importantly, don’t just learn AI; build with it ❤️
AI Glossary Cheatsheet (2026) ☃️
-> 150+ AI terms explained in plain English, covering LLMs, RAG, AI Agents, MCP, Context Engineering, LLMOps, and more.
Perfect if you’re just starting your AI engineering journey.
Ready to go beyond reading?
Here’s how I can help
> Developers: Explore the Claude Code Ultimate Bundle below to master Claude Code and ship production-ready AI systems.
> Founders, Startups & Engineering Teams: If you’re building AI products, AI agents, RAG systems, MCP servers, or internal AI tools and need engineering support, let’s connect. (details below)
1. Claude Code Ultimate Bundle
Claude Code Ultimate Bundle | Master Claude Code & Ship Production-Ready AI Systems
Claude Code Ultimate Bundle — The Complete Claude Code ToolkitThe Complete Field Manual + 7 AI Engineering Workspaces +…
If you’re serious about building with Claude Code, this is the toolkit I wish I’d had from day one.
It includes:
- Claude Code Mastery Guide (29 Chapters)
- 7 Production AI Engineering Workspaces
- 210+ Claude Code Prompts
- AI Agents
- Multi-Agent Systems
- RAG
- MCP Servers
- AI SaaS
- AI Evaluation
- Lifetime Updates
Instead of starting every project from scratch, you’ll start with a production-ready engineering foundation. It’s to help you spend less time rebuilding your engineering foundation and more time shipping products.
2. Working on Something Bigger?
If you’re building an AI product, modernizing engineering workflows, or experimenting with agentic systems, I’d love to hear about it.
I work with founders, startups, and engineering teams on projects involving:
- AI Agents
- Multi-Agent Systems
- RAG Platforms
- MCP Servers
- LLM Applications
- AI Automation
- AI Evaluation
- Claude Code Workflows
- Technical Architecture
- AI Product Prototyping
Learn more 🌐 https://moonpiecreates.vercel.app/services
Contact 📤 LinkedIn
Happy building ❤️
More articles you’ll love ❤
12 Claude Code Mistakes I Keep Seeing (And How to Avoid Them)
From bloated CLAUDE.md files to zero planning workflows: Why your AI agent loops and how to build a better system
I Was Wasting Hours in Claude Code Until I Started Using This One File
Most people think better prompts make Claude Code smarter. They don’t. This one file completely changed how every new…
11 Claude Code Features That Made Me 10x Faster
Most developers install Claude Code and stop at the obvious use case!


