One of the cool things about our line of work is sometimes you learn a technique and really feel like you’ve “leveled up” in the video game sense.
I remember one time a colleague/friend came in to work and excitedly said “I can see in the SWAR dimension now”. Stuff like that rocks. 🤘
One of my favorite things about Rust, after properly using it for about two years now, is that it puts what I think is “the correct amount” of annoyance on using polymorphism (in its various forms).
Balling up function pointers in a struct in C days was maybe a bit too high, nice middle ground vs the languages that leaned into OOP fanaticism, and monomorphization being clean and easy is a great default people will naturally lean towards for systems programming.
De gustibus non est disputandum tho
Abstract org dynamics thought experiment: as people become arbitrarily careful things get missed that are /intuitively/ quite clear but nobody has the time to spend on the analysis to confirm beyond “background-radiation-level of doubt” that is applied to any proposition.
“Background doubt radiation” is interesting. You don’t want it to be zero, but it being high is stifling. You want it to be roughly proportional to how reversible/costly a decision is, with bias towards action so you collect empirical data. Cost is not absolute but evaluated vs an alternative (which could be the result of inaction). Mostly I’ve seen people mitigate its impact by having clear notions of being responsible for what you put in place, but often ownership and responsibility is more inherently diffuse. For example, teams often own code bases collectively and there is the “haunted graveyard” effect for a component where nobody actively champions the functionality/purpose.
Must be a theory of “satisficing for orgs” this ties to…