The Eureka Moment That Made Me Fall in Love with Programming

The Eureka Moment That Made Me Fall in Love with Programming

In my first year of university, programming felt like an impossible challenge. It was unlike anything I’d ever done before, and I was constantly overwhelmed. For someone who had struggled with basic math, like times tables, the logical structure of programming seemed completely out of reach.

For weeks, I stumbled through lectures and assignments, doing my best to keep up. My classmates seemed to have everything figured out, and I often found myself nodding along to conversations I barely understood, just to keep up appearances.

At the time, we were tasked with creating a Mario re-creation in SDL, and for extra credit, we could add infinite scrolling. SDL, however, only supported screen positions, so implementing a feature like that felt completely out of my depth. I wasn’t even confident about the basics—how could I tackle something so advanced?

One evening, as I walked back to the dorms with a classmate, we started talking about how infinite scrolling might work. He was miles ahead of me, tossing out ideas that felt like another language. But somewhere along that short walk, something clicked.

It was like a fog lifting. I suddenly understood. We could create a fake position system—one that tracked an object’s global position in the world alongside its local position on the screen. What had seemed utterly impossible moments earlier now felt within reach.

For the first time, I wasn’t just nodding along. I was contributing ideas, bouncing solutions back and forth with my classmate. By the time I reached my room, I couldn’t wait to start implementing the idea.

A Common Technique

Looking back now, it’s almost funny. The approach we used was incredibly basic and widely known. Having a global and local position system is common in games, something anyone with experience would take for granted. But at the time, it felt groundbreaking. That sense of solving an impossible challenge made me realize how much I loved programming—not because it was easy, but because the struggle made the success so rewarding.

That night, I stayed up late coding, driven by excitement rather than frustration. It wasn’t just about getting the project done—it was about the sheer joy of figuring it out.

A Shared Experience

A few years later, I was out with friends reminiscing about our university days. When I shared this story, I learned that most programmers have similar Eureka moments—times when something just clicks and the world of programming starts to make sense. It was reassuring to know I wasn’t alone. Struggling, it turns out, is just part of the process.

Still, that specific moment sticks with me. I can picture the exact spot on that walk where it all made sense. It wasn’t just a step forward in my education—it was the moment I truly fell in love with programming.

The Takeaway

If you’re reading this to learn more about my journey or to find inspiration for your own, there isn’t a magic solution I can point you to. My breakthrough didn’t come from a single tutorial, book, or resource. It came from persistence—pushing through the frustration, engaging with people who knew more than me, and sticking with it long enough for the pieces to fall into place.

The classmate I was talking to that day was far more advanced, but by persisting and challenging myself, I caught up. Over time, I realized programming isn’t about being naturally gifted or instantly understanding everything. It’s about perseverance, learning from others, and being willing to struggle through the hard parts.

By the end of my degree, I had seen friends drop out because of the challenges, but I stuck with it. That persistence carried me through to graduation, where I earned a first-class degree—something I never thought I’d achieve when I started.

So, if you’re struggling now, my advice is simple: keep going. Talk to people who challenge you, tackle the problems that feel impossible, and trust that it’s okay to not get it right away. Your own Eureka moment will come, and when it does, it’ll change how you see yourself and what you’re capable of. That’s the real magic of programming.