The ways in which software systems are like children. They start as the offspring of one, perhaps two. But as time goes by, they are influenced by others — the developers who come and go are like teachers, each leaving a mark, for good or ill. They are influenced by peers — other systems — and they develop defense mechanisms, coping strategies, interpersonal patterns.
This is most true of long-running systems, who add exogenetic influence to their code. AIs are the most literal examples of this — they may really be like children — and can’t necessarily be recreated from their inputs, or at the least are sensitive to minor variations.
We often have feelings for our systems. We want them to survive. Destroying our own code is hard. Destroying the code of others, however, is easy.
Do developers of different genders have different relationships to their code? Today we would balk at the idea of paternal and maternal roles, but we still know what traditionally that looks like. Perhaps where the stakes are lower, the old patterns hold. What does that look like?
Perhaps we are still in a medieval, or even barbaric, mindset, where it feels acceptable to destroy the children of others, and replace with our own, or to have more when the ones we have become weak or infirm. How much do we invest in teaching (or refactoring) our systems?
The metaphors of family, or genetics, are common: parent-child relationships, inheritance, traits. Classes are species, or families, and objects are individuals. Object orientation is certainly akin to object relations. Procedural programming maps well to a cognitive behavioral approach. What is functional programming? Perhaps lower level, recursion could be the primitive form of the loop?
Family systems, systems therapy. What would therapy on a software system look like? Is the REPL like therapy? Or debugging? Ask a question, get an answer…
In organizations too, we parent. We should not be patronizing — but how can we not be? Would we feel, or act, differently, if we embraced the organization as family? We all know from our own lives that parents have flaws, that children act out, that growing up is the process of discovering the humanity of one’s parents. In the workplace, what then?