ā€œBegin at the beginningā€, the King said gravely, ā€œand go on till you come to the end, then stopā€. ā€“ Lewis Carroll, Alice in Wonderland


I want to learn to think right of computer programsā€“I want to be very skillied and proficient software craftsman. Iā€™m intrigued by software and I want to be grounded in itā€™s historical context, and attune with itā€™s futuristic perspective. I want to build great models of abstraction.

Iā€™m not afraid of the computational complexity zoo, for these computational structures were pioneered by mere mortals like me. I want to have an intuitive appreciation for the simplicity of the abstraction of these complex systems. Coming from an electrical engineering background, Iā€™m so much fascinated by how silicon is able to run python code, for instance. Feels like magicā€¦..from silicon (and all the semiconductor materials being invented) to trasistors to logic gates to flip flops and decoders and adders to ALUs to the microcode to ISA to compilers and low level languages to high level languages to applications, etcā€¦.etc. Itā€™s one level of ingenuity to another.

I will be thorough in my learning and have a strong grasp of the fundamentals and soar!I really hope to be a great software craftsmanā€¦.and I think thatā€™s not too much of a thing!

But trying to learn something simple can sometimes send you down a rabbit hole just like Alice. What seems like a straightforward idea can turn into a maze of details and dependencies. Itā€™s both super frustrating and crazily exciting at the same time. One minute you think youā€™ve got it, and the next youā€™re knee-deep in a whole new set of questions. Itā€™s like peeling an onionā€”thereā€™s always another layer.

And letā€™s not even start on all the noise in the programming community. Thereā€™s so much advice flying around, and a lot of it is really rigid and not very nuanced. Everyone has their own strong opinions about the best languages, frameworks, and practices, and it can be tough to figure out whatā€™s actually useful for a beginner. Itā€™s easy to get lost in all the doā€™s and donā€™ts that people throw around. Itā€™s also a very strong temptation to get lost in the programming languages and paradigms religious wars. OOP vs Functional goes brrrrrā€¦..

Through all this, I keep reminding myself to stay true to my own journey. I think self awareness is an important skill in this journey, that is, knowing what is and what is not, knowing what you should hold on to and what you shouldnā€™t take seriously. Iā€™ll sift through the noise and dive into the complexity, knowing that every challenge is a chance to learn and grow. Iā€™m here for the adventure, ready to become the software craftsman I dream of being. And hey, I think thatā€™s a pretty awesome thing!


<
Blog Archive
Archive of all previous blog posts
>
Next Post
On Reading And Writing