The Emotional Cost of Tech Debt
There are many occasions where software developers find themselves dealing with code written by others. The nature of humans and complexity is such that they carry along with them far into the future the burden of every previously taken decision - good or bad. And by the nature of complexity, it is bad decisions by definition that are hard to undo or remove and contribute some penalty in time or effort to future problem solving.
Vibe Coding Isn't New
“The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the Age that gave it birth comes again.”
Not All Software is Legacy
There is a perverse and prevalent notion perpetuated ad nauseum through the software development industry that all software is legacy the moment it is written. This cynical, seemingly unscripted, and suspiciously unanimous consensus betrays a cultural shift so diametrically opposed to the programmer/hacker sub-culture of the 90s and early 2000s that I refuse to acknowledge it to be derivative.
On the Importance of Knowledge as an Early Indicator of Success
I find myself having conversations daily with peers from my cohort in the field of software engineering, most of whom exhibit startlingly consistent patterns of thought. The first is the presence of imposter syndrome. Nobody (I use these broad sweeping terms loosely here) seems confident in their ability to be successful. The second is a reverential deference to successful people and all that they think and say. I wanted to address both these patterns individually here.
Learning to Swim in Tech Debt Part 1
Tech Debt has a habit of drowning the unweary and unsuspecting software engineer. For a few years now I’ve been drawing this graph on the back of napkins for software engineering managers of struggling teams. It is the tell-tale sign of an ailing software organization which has become a victim of its own success. Unbeknownst to the undiscerning observer, the team’s star profit making deliverable can no longer sustain rate of innovation to remain competitively relevant.
What Sufi Mysticism Taught Me About Functional Programming
Sufi mystics believe that our greatest enemy is ourselves. They divide the spiritual self into components, and name the part of us that is the root cause of grief and sorrow — the part that must be overcome and defeated — the nafs, while the qalb is the spiritual heart that must be purified so that it may guide us towards truth and righteousness.