But I finished it. And I walked away with something far more valuable than a certificate of completion. I walked away with a new relationship with failure, a map of the programming landscape, and a quiet, earned confidence that I could actually learn this.
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.
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. But I finished it
That frustration? That’s the tuition. Looking back, the course follows a predictable, almost mythic emotional arc:
Here is the deep, unvarnished truth about that journey. Let’s address the elephant in the room. The course says "2020." In tech, that might as well be a decade. You won’t learn the latest match statement (Python 3.10) or the newest async/await patterns. The projects don't use AI pair programming, and the environment setup feels… vintage. Then you hit Object-Oriented Programming
But here’s the secret no one tells you:
Strings, lists, dictionaries, tuples. It’s easy. It’s fun. You feel smart. You start telling your friends, "I’m learning Python." You are Neo in the loading program, learning Kung Fu in seconds. Inheritance
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.