Courses are broken
The online course industry generates billions of dollars per year. The market signal is clear: people want to learn, and they are willing to pay for structure. The question is whether courses deliver what they promise.
I think they often do not, and the failure is structural rather than incidental.
What courses are optimized for
Courses are businesses. They are designed to generate revenue, which requires selling them, which requires good reviews, which requires students to feel like they are making progress.
This creates a specific incentive: courses are optimized to feel productive, not to produce deep understanding. These are different things.
Feeling productive while learning is pleasant. It is the sensation of receiving new information, completing exercises, passing checkpoints. It is not the same as actually acquiring the thing you came for.
Courses excel at producing this feeling. They divide material into bite-sized pieces. They provide immediate feedback. They give you completion percentages and certificates. They are engineered to be engaging.
The problem is that learning difficult things requires sustained difficulty, not sustained engagement. Friction is not a bug; it is the mechanism. When material is made too accessible -- too digestible, too frictionless -- the result is familiarity rather than understanding.
The completion problem
Most people do not finish courses they start. Studies put completion rates for MOOCs at 10-15%. The courses designed to generate the most positive reviews and testimonials are usually not the ones that change how people think.
This is not a coincidence. The courses people actually complete tend to be the engaging, well-produced, frictionless ones. These are also the ones most likely to produce the experience of learning without the substance.
The courses that would build real understanding tend to be dense and slow and unrewarding in the short term. They do not generate good completion statistics. Platforms optimize away from them.
The currency problem
Courses sell access to a credential or a skill at a specific point in time. Technology changes. The React course from 2020 is already partly wrong. The Kubernetes certification from three years ago covers a different system than the one deployed today.
This means courses must be continuously updated, which is expensive, or they become obsolete, which undermines their core promise. Most courses are somewhere on this spectrum between outdated and soon-to-be-outdated.
Material about fundamentals does not have this problem. How computers manage memory has not changed. The principles of module decomposition Parnas described in 1972 still apply. The arguments about complexity in "A Philosophy of Software Design" will be relevant in twenty years.
The things worth spending time on tend to be the things that do not require a course to be updated every eighteen months.
What this means practically
None of this means courses are useless. They are useful for specific, bounded things: learning the syntax of a new language, understanding the API of a specific framework, getting a working introduction to a tool you need to use right now.
They are poor vehicles for the things that matter most: building deep understanding of systems, developing judgment, acquiring the kind of pattern recognition that takes years.
For those, the better approach is slower and less structured: dense books, primary sources, working on problems that are beyond your current ability, returning to material you have already read because you are now different.
This does not sell well. There is no progress bar. There is no certificate. The feedback loop is months, not minutes.
But it is what actually produces the thing people say they want when they buy the course.