"When I separated sex, love, and relationships, everything became significantly easier..." a quote from a girl seasoned by life's experiences
We are programmers dealing with machines, but we are not devoid of human emotions. We fall in love, get married, have children, and... die. Just like ordinary mortals, we face emotional problems when 'personalities clash', 'we're not suited for each other', and so on. Love triangles, relationship breakups, betrayals, and other emotionally charged events occur in our lives as well.
On the other hand, due to the nature of our profession, we prefer everything to be logical and that one thing leads to another. If you don't like me—then what exactly? If our personalities don’t mesh, which specific aspect is the issue? Explanations like 'you don’t show me compassion or love' seem to us like a set of vaguely defined abstractions that need to be measured (in what units do you measure compassion?) and clarified with specific triggering conditions (which events should trigger this compassion?).
Modern psychology has accumulated a vast array of abstractions and terminologies to describe the emotional aspect of human relationships. When you go to a psychologist and say that you're having trouble with your partner, you'll receive a multitude of advice along the lines of 'be more tolerant of each other', 'you need to first understand yourself and figure out what truly matters to you'. You'll sit for hours listening to the psychologist state fairly obvious things. Or you'll read popular psychology literature, which boils down to the simple formulation of 'do what you like and don’t do what you don’t like'. Everything else is just a pleasant garnish to this little seed of banal truth.
But hold on, programming is an unpredictable process. In programming, figuratively speaking, we attempt to simplify the surrounding world into manageable abstractions. We strive to reduce the entropy of the world around us by fitting it into the logic of algorithms we understand. We have accumulated immense experience in such transformations. We have devised numerous principles, manifestos, and algorithms.
This raises the question - can we apply all these developments to human relationships? Let's take a look... at microservices architecture.
From this perspective, marriage is like a huge monolithic application, which becomes increasingly difficult to support over time. A pile of non-functional features has accumulated (where is the freshness of the relationship?), technical debt (when was the last time you gave your spouse flowers?), and disruptions in the interaction protocols between parts of the system (I mention a new car, and you tell me again to take out the trash), while the system consumes resources (both financial and emotional).
Let's apply the microservices architectural approach and, for starters, break the system into components. Of course, the breakdown can be anything, but here everyone is their own software architect.
Marriage functionally consists of
- A financial subsystem
- An emotional subsystem (sex, love, feelings, all intangible and difficult to evaluate)
- A communication subsystem (responsible for communication and interaction within the family)
- A child-rearing subsystem (optional, as applicable)
Ideally, each of these subsystems should be autonomous. Patterns like the following are not allowed:
- you earn too little, so my feelings for you are fading
- if you love me, buy me a fur coat
- I won't talk to you because you don't satisfy me in bed
In a good microservices architecture, any part can be replaced without affecting the functioning of the entire system.
From this perspective, a partner's affair is nothing more than a replacement of the subsystem of sensual relations.
A woman in marriage, in turn, can find a wealthy lover, thereby replacing the financial subsystem.
Emotional communication within the family is replaced with external services in the form of social networks and messengers. The API interaction remains seemingly unchanged, as does the person on the other side of the screen, but no technology can provide the feeling of closeness.
The illusion of abundance and accessibility on dating sites contributes to this — no effort is required to establish communication. Swipe left on Tinder, and you're ready for new relationships from a clean slate. It's somewhat like an advanced version of old-fashioned social protocols — going to the movies or cafes, but with the option to hit the Reset button and start the game over.
Whether such substitutions benefit the system as a whole is a debatable question, and everyone can provide their answer. Should we separate the working monolithic application of relationships, with its internal complexities and occasional failures, and will it fall apart when everything is laid out neatly? This question remains open.
Source: habr.com
