Module 1 / Five lessons / Ten videos
The AI-Native
Smell Detector
Five smells decide how expensive your codebase is to change. This course teaches you to name each one on sight, measure what it costs, and run the refactor that removes it — with an AI assistant working the way it should.
- Format
- Lecture + hands-on video
- Practice
- 10-minute assignment per lesson
- You need
- Python 3.10+ and a terminal
Lesson 01 of 05
Rigidity
The tell A change that takes one sentence to describe takes three files to make.
Rigidity explores the code smell that makes software difficult to change without widespread modifications. Learn how to recognize tightly coupled designs, reduce unnecessary dependencies, and create flexible, extensible architectures. Discover how AI can identify rigid code structures and guide you toward cleaner designs that adapt gracefully to changing requirements.
Lesson 02 of 05
Fragility
The tell Something breaks in a module nobody opened, two hops away.
Fragility explores a code smell that causes software to break in unexpected places after seemingly unrelated changes. Learn how to recognize fragile designs, reduce hidden dependencies, improve system resilience, and refactor for stability. Discover how AI can help identify fragile code and guide you toward more robust, maintainable software architectures.
Lesson 03 of 05
Immobility
The tell The second team that needs your logic copies it instead of calling it.
Immobility explores the code smell that makes software difficult to reuse because useful components are tightly bound to their original context. Learn how to identify unnecessary dependencies, improve modularity, and design reusable solutions. Discover how AI can help uncover immobile code and recommend refactorings that increase flexibility, maintainability, and long-term value.
Lesson 04 of 05
Viscosity
The tell The shortcut appears four times as often as the official way.
Viscosity explores the code smell that encourages developers to take the easy path instead of the right one. Learn how poor design, cumbersome processes, and difficult refactoring lead to shortcuts that increase technical debt. Discover how AI can help identify sources of viscosity and recommend cleaner, more maintainable solutions that make the correct approach the easiest one.
Lesson 05 of 05
Needless Complexity
The tell Six classes stand between the caller and one line of arithmetic.
Needless Complexity explores the code smell that makes software harder to understand and maintain than necessary. Learn how to identify overengineered solutions, simplify designs, and focus on solving the real problem. Discover how AI can help uncover unnecessary complexity and guide you toward cleaner, more elegant, and maintainable software solutions.
Carry this out of the course
Three questions to ask any abstraction
- 01 What does this protect me from?
- 02 When has that actually happened?
- 03 How many concrete subtypes use it today?
Vague, never, and one means the abstraction is needless — delete it. Most engineers add code. Senior engineers ask whether the code should exist at all.