You have never written a line of code. By the end you will have built something that makes predictions, put it where other people can use it, and be able to say who it gets wrong. Twenty-seven steps. Each one adds exactly one new thing.
Every day a computer decides something about a person. Whether your card payment goes through. Which ten of four hundred job applications a human ever reads. Whether a scan gets looked at today or in three weeks.
Nobody sat down and wrote those rules by hand. Somebody showed a computer a large pile of past cases and let it work out its own rules. That is machine learning. The set of rules it works out is called a model.
A machine learning engineer is the person who does that. Then they do the harder part, which is the part most courses never mention.
Far more people can do the second one than can do all five. That gap is where the work is.
Since you are going to ask
The job title to search for is machine learning engineer. In the United Kingdom, Indeed puts the average at £76,198 a year, from 811 salaries reported, updated in May 2026.
Read that honestly. It is an average across everybody in the role, including people with ten years behind them. A first job pays a good deal less than that, and this course does not promise you one. It is here so you can look the number up yourself rather than take a stranger's word that the work exists.
Here is a real piece of the first step. It uses a table of 4,521 phone calls a bank made to its customers. Think of a spreadsheet: 4,521 lines, one per call.
One of the columns says how many days ago the bank last called that person. You want the average.
Below, the grey boxes are the instructions you type. df is just the name we give the table. print means show me on screen, not on paper.
You ask for the average. This is the whole of it, one line.
print(round(df["pdays"].mean(), 2))
On screen 39.77
About 40 days. That sounds about right. So you look at the smallest value in the column.
print(df["pdays"].min())
On screen -1
Nobody was called minus one days ago. So you count how many lines say that. The .sum() on the end is what turns it into a count.
print((df["pdays"] == -1).sum())
On screen 3705
The notes that came with the file say minus one means the bank had never called that person before. So 3,705 of your 4,521 lines are not a number of days at all.
Your 39.77 was 816 real day counts and 3,705 non-days, added up and divided by everything. The true figure, for people who really had been called before, is 224.87.
Nothing warned you. It printed. It had two decimal places. It looked exactly like every number you have ever trusted.
Now here is the question you have to answer to pass that step.
The question that decides step 0
Your file has 4,521 lines. You print the average of pdays and get 39.8. Then you find that 3,705 of those lines hold minus one, and the notes say minus one means the person was never called before. What was your 39.8? Say what it is an average of.
You could very nearly answer that already, having read one page. That is the whole design. You are never told a thing is true. It happens to you, on your own screen, and then you never need telling again.
Fair question, and most course pages never answer it.
You install two free things on your own laptop. One is called Python. It is a language for writing instructions a computer follows, in order, from the top. A list of instructions like that is a program.
The other gives you a notebook. Not a paper one. It is a page on your screen, split into boxes. You put instructions in a box, press two keys, and the answer appears underneath that box. That is where you spend most of the ninety-five hours.
Nothing you install will slow your laptop down, and all of it can be removed again.
You will see numbers like 0.88 everywhere. That is a mark, and it counts out of one instead of out of a hundred. So 0.88 means it got 88 right out of every 100.
A large part of this course is about why that number tells you far less than it looks like it does.
In step 0 you go and find a table about something you actually care about. Your work, your town, your football team, your shop. It comes with you through all twenty-six steps after that, so everything you learn gets done twice: once on mine, once on yours.
That is the difference between finishing this and not finishing it.
You will. Everybody does. So every single step where something is likely to go wrong has a box attached to it, right there, saying what that message means and what to do next.
The setup page ends by having you misspell a word on purpose, so you see red text, read it, and fix it while nothing is at stake. Getting used to errors early is most of what separates people who keep going from people who stop.
Ninety-five hours is two evenings a week for about a year, or five weeks of full days. It is not a weekend and I would rather say so on the front page.
Where the course is today, said at the front rather than the back
Seven of the twenty-seven steps are finished. The setup page is finished. The other twenty are not started. That is about twenty-seven hours of real work and a plan for the rest.
They are deliberately not started. One step, put in front of a real beginner, tells you whether the whole shape works. Twenty-seven half-built ones tell you nothing, and cost twenty-seven times as much to fix.
So: the six that exist are finished properly and you can judge them today. If you need a complete course this month, this is not it yet, and you should know that before you spend an hour installing anything.
No. Nothing here is derived from first principles and there are no equations to learn. The hardest sum in the course is four numbers taken away from four other numbers, on paper, in step 12. If you can work out a tip you have enough.
No image generators, no chatbots, no writing tools. No cloud exam. You will finish ready to begin studying for one of those exams, which is not the same as holding one, and I would rather say that now than let you find out later.
After the first one you always know what is coming, so your attention goes on the new thing instead of on the format.
A tree drawn on paper. A grid of your model's mistakes, printed and stuck on a wall. A short video of somebody else using the thing you built. A number on a screen is not something you can show anybody.
A step is passed, or it is not yet. Not yet always comes with the one thing that would change it. Four things are asked for every time, and a step adds one or two of its own. The list at the foot of each step is the one that counts.
That last one is a job interview. Doing it after every step is how it stops being frightening.
Nothing here needs another person. The trick that works: put your work away for a day, come back to it cold, and write down what a stranger would ask you.
It is still better with one friend doing it in the same week. That costs nobody anything.
Five parts. If you read only the five headings and the paragraph under each, you will know what this course is.
You take a real messy file, work out what is wrong with it, get it into a shape a computer can use, invent the missing columns, and build something that predicts. Most of the job is in this part, and most courses skip straight past it.
Six kinds of model, one per step, and then two steps on choosing between them honestly. Anybody can run a model. The skill is knowing which one to reach for, and the job each one quietly fails at.
Nobody hands you a tidy file. It is locked inside a company system, it has dates in it, it is written in sentences, and somebody in a meeting wants you to explain what the thing decided.
This is the part that turns somebody who can build a model into somebody who gets paid to run one. It is also the part almost no beginner course goes near.
Treated as a skill you practise, not a thing you hope for.
When a page tells you that you should see 39.77, that is not somebody remembering. A small program works it out from the data and then checks that the same number is still written on the page. If the two ever disagree, the page is treated as broken and does not go out.
Those checks come with the course. You can run them yourself.
Every finished page is handed to a reviewer whose only job is to hunt one kind of fault in it and nothing else. Step 2 went through two of those before it went up, and one of them found that the course never installed the library Step 2 needs. The faults still outstanding are written down in the open, in the notes that come with the course, because a list of known faults is worth more to you than a claim there are none.
Seven steps are finished. Together they are about twenty-seven hours, and they take you from opening a file to a model trained on every column the file has, and to knowing how much of the number under it you are entitled to believe.
Moro, S., Laureano, R. and Cortez, P. (2011). Using Data Mining for Bank Direct Marketing. Proceedings of the European Simulation and Modelling Conference, 117-121. EUROSIS. · Salary figure: Indeed UK, machine learning engineer, 811 salaries reported, updated 10 May 2026.