It has been 4 months since I’ve quit my internship to invest time studying for career growth. During this time, I’ve been strongly humbled by attempting to learn low-level programming all by myself. And today, I want to talk a little about that learning pain that we may encounter along the way, and how to deal with it!
Whenever we start anything—whether it’s a morning walk, meeting with a friend, or learning programming language theory—we’ll always think about the question: “How long will this take?” It is important to know the amount of time we’ll spend on an activity (I’ve spent a whole day building this blog lol), but being desperate due to taking too long to complete it can be naive.
Social media like Instagram, YouTube, and even LinkedIn were built to make us feel empty, in need of fulfilling ourselves with utopic achievements that “only then we’ll be happy”. By being exposed to this plethora of negative stimuli, it is common that some may become sad by looking at themselves and seeing no major accomplishment.
Brick by Brick
What I’ve learned over these past few months is that struggle is not only normal but an essential part of the learning process. When I first dived into low-level programming, I was overwhelmed. Concepts like memory management, concurrency, and hardware interfaces felt like a foreign language. It’s easy to get discouraged when progress is slow, but the truth is, the discomfort we feel is a sign that we are growing.
Every time I faced a challenge that seemed insurmountable, I reminded myself that each small victory—no matter how insignificant it may seem—was a step forward. Learning something deeply technical like low-level programming isn’t just about understanding syntax or concepts; it’s about building the resilience to push through the frustration and confusion.
Reframing Your Perspective
One of the most powerful things you can do when facing learning pain is to reframe your perspective. Instead of focusing on how much more you need to learn, celebrate how far you’ve come. Reflect on the small victories: the first time you successfully wrote a piece of code, the first time a complex concept finally clicked, or the first time you debugged an error that had you stuck for hours.
Acknowledge that learning isn’t a race. Everyone’s journey is different, and there’s no “right” timeline for mastering a skill. By removing the pressure of comparison, you allow yourself to fully embrace the process.
“You ‘have not been able’ to conquer in big things, because you ‘did not want’ to conquer in little ones."