on iteration

feb 27 2021 | 4 mins

Software engineering is all about iteration upon iteration.

Looking at the git history of my latest project checkedin., I've made over 120 commits to this exciting software I've started developing only three weeks ago.

(For my visually-inclined readers, I've been keeping a record of all the UI iterations I've committed over the course of its development here).

By the time I feel ready to make it official and share it with my network for beta testing, I wouldn't be surprised if that figure hits above 300.

Perhaps that's because I tend to be particularly meticulous with logging every noteworthy modification on its .git history.

After all, I wouldn't want to overlook a seemingly benign iteration that may come around to cause a critical bug in an unforeseen way.

In fact, my worst fear would manifest itself in being unable to localise what part of the script caused that bug, and consequently losing a sense of agency in the creation I've engineered.

Today I feel moved to write about the concept of iteration because, much like computer software design, I'm convinced that a life without an astute understanding of its iterative process is one where its protagonist cannot claim full agency.

Since writing my first print("hello world") seven months ago, I cannot begin to emphasise just how much my thought process has evolved over this period of time.

While the goal I had for my sixth month mark was to apply to a competitive computer programming retreat in NYC, I gradually came to the conclusion that jumping into such a platform at an early stage of my career is something that I would not be able to make the most out of-- as compared to participating at a later stage.

One particular blog really consolidated my rationale, and encouraged me to keep seeking for things I otherwise desire in terms of supplementing my self-guided career change.

As I noted in my previous entry On Direction, something I've been longing for has been the sense of peer-support that I often took for granted in my traditional schooling.

Now, learning any discipline in a self-taught manner can make a lonely experience, especially without a network of colleagues with whom to bounce ideas with and remain accountable to.

I'm convinced that these two factors are what coding bootcamps try to sell to the growing number of wanna-be software developers.

Many times I've thought about applying for a bootcamp since the email marketing I receive from some of them are just convincing enough depending on the particular mood I'm in:

We offer an accessible Income Share Agreement (ISA) tuition model with the unique opportunity to learn from the experts and accelerate a programming career in just a few months (read: a feat that would otherwise be pretty dang hard if attempted alone).

-most bootcamps

Thankfully, I see myself gradually returning to the conclusion that I can achieve those two factors if I intentionally seek them out through the very kind of resourcefulness and drive that has defined my self-guided journey up until this point.

Daniel Kahneman, a renowned behavioural economist, talked about a deliberate, 'slow-cooked' type of thinking as performed by System 2 of your mental faculties, as opposed to its irrational counterpart-- System 1. The former type of thinking requires one to be disciplined, to fight the urge to succumb to the latter type which dominates our every-day decision-making processes.

Writing this entry is a conscious step towards continuing to lead a more deliberate life, and I hope that my writing will always reflect this particular life philosophy I strive to live by.

That said, I'm pleased to share that I've found an online community that has been pivotal in my pursuit of cohort-based learning and accountability.

Yesterday we performed our 4th weekly stand-up and, over the course of these 4 weeks, I've found folks to pair-program algorithmic challenges with and have gotten some general career guidance from a mentor I met on the platform.

While it's still early in its development, I feel propelled to share my gratitude for this community.

It really exemplifies the notion that the internet is a wonderful place where you can always find like-minded folks who are keen on sharing the direction you're headed.

There are only four real active members as of now, yet it feels great to have a tight-knit tribe with whom I feel a lot less lonely and lost in this often-times overwhelming endeavour.

I'm excited to see the community grow and contribute to it in ways I can.

By the way, did I say I'm participating in my first hackathon this weekend? :)

• return to /thoughts •