76
When it comes to making software it turns out again: stable platforms and standard libraries are the best you can reasonably hope for. Third-party dependencies age like milk products, not like wine and vetting them is a part of the missing semester in the Software Engineering curriculum. How do I know? Well, I've had to spend my workday on jumping multiple major versions of the application server (and therefore out of necessity of the underlying framework as well). And after a full day, with a bit of overtime, one app out of four under my auspices is - barely - working again: for what should, mind you, ideally be a transparent update of infrastructure, as no business logic was changed or added (some temporarily disabled, because of a Mexican dependency standoff). A day to make - judged from an outside-in perspective at least - everything work as it did before. Not exactly the textbook definition of productivity. Necessary none the less.
I sometimes wish I could take some time out of my life, say maybe the next one or two decades, and just work on the fundamentals of my profession, so that we can collectively have some more peace of mind (an idea that shows I possess at least of one of the three virtues, although I leave it for others to judge which one). Alas, I've got to pay rent and feed and clothe my kids, also I read enough tales of folks I admire to see how those we should listen routinely are ignored. For right now, the best I can do is to keep my own code halfway near my ideals and be at peace with it and try to make smaller steps, small steps, baby steps into the right direction, by observing the craft, attempting maybe to add a little idea here and there, pausing every once in a while, asking fundamental questions, like: what would it take to unfold differently next time.
There will be a next time. Il faut imaginer Sisyphe heureux.