I enrolled in the four years late, in early 2024. I knew the syntax had probably aged, that the UI in the videos was from a pre-ChatGPT world, and that "hero" status in tech is usually measured in years, not hours.
That moment is heroic. And this course gives you dozens of those moments. Portillo’s course heavily uses Jupyter Notebooks for the early sections. This is a brilliant pedagogical move. Notebooks allow you to write tiny chunks of code, see the output immediately, and interleave explanations with execution. It feels like magic.
That’s not a bug. That’s the feature. Let’s be real: no 30-hour video course can turn a complete beginner into a professional software engineer. If you go in expecting to emerge as a "hero" capable of deploying machine learning models or architecting microservices, you will be disappointed. I enrolled in the four years late, in early 2024
The course forces you out of the nest. The projects—the infamous Milestone Projects —are where the real learning happens. You close the notebook, open a text editor, and realize that programming is not about getting the right answer in a cell. It’s about managing state, handling edge cases, and wrestling with scope.
That’s the real transformation. You go from seeing Python as an intimidating, arcane language to seeing it as a tool—a powerful, flexible, and even friendly tool. And this course gives you dozens of those moments
When a course doesn’t hand you a magic VS Code extension that auto-formats everything, you learn why indentation matters. When it doesn’t rely on the latest f-string debugging tricks, you learn to use print() like a surgeon uses a scalpel. The "2020" nature of the course strips away the scaffolding of modern convenience. It leaves you alone with Python—the raw, beautiful, logical beast itself.
Then you hit Object-Oriented Programming. Classes. self . Inheritance. Your brain hurts. You write a class that should work, but it throws an AttributeError . You watch the video twice. You still don’t get why __init__ is necessary. This is where 50% of people quit. This is the desert. It’s dry, it’s lonely, and you will doubt your entire career choice. Notebooks allow you to write tiny chunks of
You can get comfortable. You can start to believe that coding is a linear, cell-by-cell, no-consequences activity. Then you try to write your first standalone .py script—a simple blackjack game or a Tic-Tac-Toe AI—and suddenly, nothing works. Functions don’t share variables. The flow is broken.