I Love Software Engineering š
ā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!