
A year sounds like plenty of time until you look at 79 posts and wonder how any of it fits. This post is the plan. Read it once now, then come back whenever you feel lost.
Read this first
The schedule below assumes two things:
You can give it about 8 to 10 hours a week.
You're starting with little or no coding experience.
If either is different for you, the plan still works. It just stretches or shrinks. Some people will finish in nine months, others in eighteen, and both are fine.
Also, this is a plan, not a promise. Nobody can guarantee a job at the end of twelve months, because it depends on the market, your background, and how much you build. What I can say is that if you follow this and finish the projects, you'll have real skills and real proof of them.
The year in one table
Months | Weeks | Phase | Posts | What you'll have made |
|---|---|---|---|---|
1 to 3 | 1 to 14 | Orientation + Programming in Depth | 1 to 30 | A CLI tool, a tested REST API, and a Python package on PyPI |
4 | 15 to 18 | Math & Data for AI | 31 to 37 | A data analysis notebook on GitHub |
5 | 19 to 22 | Machine Learning & Deep Learning | 38 to 42 | A trained image or text classifier |
6 | 23 to 26 | Transformers & LLMs Under the Hood | 43 to 48 | A tiny GPT you built yourself |
7 to 8 | 27 to 34 | Building with LLMs | 49 to 59 | A deployed RAG or agent app with a public demo |
9 | 35 to 39 | Evaluation, Safety, and Customizing Models | 60 to 67 | An eval suite and a fine-tuned open model |
10 | 40 to 43 | Production & Scale | 68 to 71 | Your app running in the cloud with tracing, caching, and cost limits |
11 to 12 | 44 to 52 | Career & Becoming Top-Tier | 72 to 79 | A portfolio, a resume, interview practice, and real applications |
Month by month
Months 1 to 3: Learn to code properly. This is the longest phase and the least glamorous. You'll learn Python well, the computer science that actually matters, and the daily tools like Git and Docker. It feels slow. Stick with it anyway, because every later phase leans on it. People who rush through this part tend to hit a wall around PyTorch and async code.
Month 4: Math and data. Vectors, gradients, probability, and working with real messy data. We'll keep it intuitive. You won't be proving theorems.
Month 5: Machine learning. Classic ML first, then neural networks from scratch, then PyTorch. This is where AI stops feeling like magic.
Month 6: Inside the transformer. Tokenizers, attention, and building a small GPT. You won't build a model that rivals the big ones, but you'll understand why they work the way they do, and that understanding pays off every time something breaks later.
Months 7 and 8: Build with LLMs. The core of the job. API calls, tool use, search over documents, agents, MCP, voice and images. You finish with a deployed app that someone else can try.
Month 9: Test it and make it yours. How to measure whether your app is good, how to keep it safe, and when (and when not) to fine-tune a model.
Month 10: Ship it for real. Speed, cost, GPUs, cloud, and keeping things running.
Months 11 and 12: Get hired. Portfolio, resume, interviews, open source, and choosing a direction. You should be applying by the middle of month 11, not waiting until you feel "ready."
A weekly rhythm that works
Pick a rhythm and stick to it. Here's one that fits in roughly 9 hours:
Early week (about 3 hours): read the post and code along. Type everything yourself.
Late week (about 5 hours): build the mini-project, or change the example into something of your own.
Weekend (about 1 hour): write down what you learned, push your code to GitHub, and skim your notes from last week.
Short, regular sessions beat one giant weekend. Five hours spread across the week will teach you more than fifteen hours crammed into one day, mostly because your brain needs sleep to keep things.
Where should you start? Pick your path
Not everyone needs all 79 posts.
If you are... | Do this |
|---|---|
A complete beginner | Read posts 1 to 79 in order. |
Already able to code | Read posts 1 to 3, skim posts 10, 13, and 14 (types, testing, concurrency), then jump to post 31. You'll finish in about nine months, or sooner. |
Already know ML | Read posts 1 to 3, skim posts 11 and 14, then jump to post 43 or 49. Closer to six months. |
If you're not sure which one you are, here's a quick test. Can you write a small Python program that reads a file, calls a web API, and handles errors, without copying it from somewhere? If yes, you can code. If not, start at the beginning. There's no shame in either answer.
How to know you're on track
Check yourself at these points:
End of month 3: you can write and test a small Python program from a blank file, without copying.
End of month 6: you can explain, in plain words, how a model produces the next word.
End of month 9: you have a live app, and numbers that show how well it works.
End of month 12: you've applied for roles, and you have a portfolio you're proud of.
Miss one by a few weeks? Totally normal. Shift the schedule, don't quit.
Four rules for finishing
Don't skip the projects. Reading feels like progress. Building is progress.
If you're stuck for two hours, ask someone. A forum, a friend, an AI tutor (the next post is about using one well). Hours of silent struggle teach less than people think.
When you fall behind, move the dates. Don't throw out the plan.
Don't chase every new tool. New models and libraries will appear every month while you're doing this. Most of them won't matter for your first job. The ideas underneath will.
Try this today (15 minutes)
Decide your start date. Tomorrow is fine.
Block out your weekly study slots in your calendar, the actual hours, with real times.
Write down which path you're taking: beginner, can code, or knows ML.
That's it. A plan with a date and calendar slots beats a plan that lives in your head.
Previous: Post 1, What Is an AI Engineer in 2026?
Next in the series: Post 3, How to Learn AI Faster, including how to use AI as a tutor without letting it do your homework.
Comments (0)
Join the discussion by logging into your account.
No comments yet. Be the first to comment!