← All EduBytes

Beginner, intermediate, advanced: three words that describe nobody

31 August 2026 · 4 min read

Course levels sort courses, not people. Where you start and how far you want to go are two independent questions, and collapsing them into one label is why you keep picking wrong.

You have fifteen years of software behind you and you want to learn Rust. So you filter for advanced, and the first module is about lifetimes and you have no idea what a lifetime is. You filter for beginner instead, and chapter one explains that a variable stores a value.

Neither course is badly made. Both are wrong for you, and they are wrong in opposite directions, which is a strong hint that the labels are not measuring what you need them to measure.

The label describes the course

“Beginner”, “intermediate” and “advanced” are shelving categories. They are inherited from physical bookshops and university catalogue numbering, where the job was to put items in a linear order on a shelf so that people could find them. It is a filing convention. It was never a claim about pedagogy, and it was certainly never a claim about you.

What it actually tells you is roughly where a course begins — how much it assumes on page one. That is genuinely useful information. The trouble starts when it gets read as a description of the reader, because then two completely separate questions get collapsed into one word.

The two questions the label mashes together

Where do I start? That is about prior knowledge. It is specific to the subject, it varies wildly across subjects for the same person, and it is what decides whether chapter one is condescending or bewildering.

How far do I want to go? That is about destination. It is a decision about how much of your life you want to spend, and it has essentially nothing to do with the first question.

These are independent. All four combinations are ordinary:

One label cannot carry two independent values. So it carries the first and silently guesses the second — and “advanced”, in practice, means starts advanced, which is why an advanced Rust course cheerfully assumes you already know Rust.

Knowledge is spiky, not a level

There is a second problem underneath, and it is worse.

Even the first question — where do I start — does not have a single answer, because expertise is not a scalar. It is a jagged profile with deep spikes and holes right next to each other.

A backend engineer of a decade might know concurrency, failure modes and data modelling extremely well, and have never once configured a build pipeline. A data scientist can hold statistical theory that most engineers could not follow, and be a genuine novice at version control. A product manager might understand a market with real depth and be starting from nothing on SQL.

Every one of those people is simultaneously advanced and beginner, and which one depends entirely on the paragraph they are currently reading. A course that picks one label picks it for the whole document, so it is wrong for stretches of its own content even for the reader it was aimed at.

Why courses drift toward too basic

Here is a pattern worth naming, because once you see it you can predict which courses will disappoint you.

Feedback about a course is not collected evenly. A learner who finds it too hard gets stuck, feels it, and says so — in reviews, in questions, in support requests. A learner who finds it too slow does not complain. They quietly leave at chapter two and never fill in the form.

So the signal reaching the author is heavily weighted toward “this was too hard”, and the rational response, applied over several revisions, is to add more foundation and slow down. The course gets gentler with each version. Nobody involved is doing anything wrong, and the drift is one-directional.

Which is roughly why so much material aimed at professionals opens by explaining what a function is.

What to do about it now

Until something better exists, treat the label as one weak signal and use the table of contents as the real one. It is nearly always public and it is far more honest than the level:

That last one is the tell that something is off with the whole format. Often you are buying nine hours to get forty minutes, because the other eight hours and twenty minutes are teaching things you know to the average student the course was built for.

Which is the more interesting question: who is that student, and does anybody actually match them?