me writings thoughts building archive

The burden of fundamentals

Jan 1, 2026

·

2 min read

I’ve been reflecting a lot on my learning journey lately, particularly as it pertains to software development.

I remember the first few times I tried learning to code in Python. While I could grasp the syntax and basic constructs, I often found it was mainly because I could tie them back to concepts I already knew.

I could find an explicit link between boolean values, if-else statements, variables, functions, and yes/no decisions, mathematical variables, equations, and functions.

The problem arose when I tried learning concepts for which I had no prior knowledge or experience to build from. Things like regular expressions, recursion, or even concepts in object-oriented programming (apart from the core idea of classes and objects, of course), felt like trying to learn a new language without any semantic context.

In retrospect, I realize that the burden of mastering fundamentals lies in that there are no prerequisites to build from. When learning something entirely new, we often lack the scaffolding that helps us relate new information to what we already know.

For me, it used to seem like an insurmountable task; learning to one day achieve a level of proficiency as the people I was learning from - some whose work I admired. But over time, I’ve come to understand that the most important skill in learning (specifically when it comes to fundamentals) is patience and persistence.

Intelligence and talent can only take you so far; the rest is about consistent effort and a willingness to embrace the struggle of learning something new.