“When I shared sex, love and relationships, everything became much easier ...” quote from a wise girl’s life experience
We are programmers and we deal with machines, but nothing human is alien to us. We fall in love, get married (get married), have children and ... die. Like ordinary mortals, we constantly have problems of an emotional level, when “we didn’t agree with each other’s character,” “we don’t approach each other”, etc ... We have love triangles, breaks in relationships, betrayals and other emotionally colored events.
On the other hand, due to the peculiarities of the profession, we love that everything is logical and one follows from the other. If you don’t like me, what exactly? If you do not agree on the characters, then what exactly is the part. The explanations in the style of “you do not feel sorry for me and do not love you” seem to us somehow as a set of obscure abstractions that need to be measured (in what units pity is measured) and give understandable boundary conditions (which events should trigerit this pity).
In modern psychology, a huge reservoir of abstractions and terminologies has been accumulated to denote the emotional side of human relationships. When you come to a psychologist and say that you don’t have a relationship with a partner, you will be given a lot of advice in the spirit of “be more tolerant of each other,” “you must first understand yourself and understand what is really important for you.” You will sit for hours and listen as a psychologist will tell you pretty obvious things. Or you will read popular psychological literature, the main essence of which will be reduced to the simple wording “do what you like and don’t do what you don’t like”. Everything else is a nice side dish for the little seed of this banal truth.
But wait, programming is a very unpredictable process. In the process of programming, figuratively speaking, we are trying to simplify the world around us to the level of abstractions. We are trying to reduce the entropy of the world around us by squeezing it into the logic of algorithms that we understand. We have gained tremendous experience of such transformations. We came up with a bunch of principles, manifestos and algorithms.
')
And in this regard, the question arises - is it possible to apply all these developments to human relations. Let's take a look ... at the mikoservice architecture.
From this point of view, marriage is a huge monolithic application, which the farther away the harder it becomes to support. A bunch of non-functional functionality has already accumulated (where is the freshness of the relationship), technical debt (when you gave flowers to your wife for the last time), violations in terms of protocol interaction between parts of the system (I’m talking to you about a new car, and you’ll take out the bucket again) the system devours resources (both financial and moral).
Let's apply the microservice architecture approach and, for a start, we will break the system into its component parts. Of course, the breakdown can be anything, but here each is his own software architect.
Marriage functionally consists of
- Financial subsystem
- Emotional subsystem (sex, love, feelings, all intangible and difficult to assess)
- Communication subsystem (responsible for communication and interaction within the family)
- Subsystems for raising children (optional, as available)
Ideally, each of these subsystems should be autonomous. Patterns in style are not allowed:
- you earn little, so my feelings for you fade away
- if you love me, buy me a fur coat
- I will not communicate with you because you do not satisfy me in bed
In a good microservice architecture, any part of it can be replaced without affecting the operation of the entire system.
From this point of view, the affair of a partner is nothing more than a substitute for the subsystem of sensual relationships.
A woman in marriage, in turn, can find a rich lover, thereby replacing the financial subsystem.
Emotional communication within the family is replaced by external services in the form of social networks and instant messengers. The interaction API seems to remain unchanged, just like the person on the other side of the screen, but no technology can give a sense of intimacy.
The contribution is made by the illusion of abundance and accessibility on dating sites - no need to put any effort to establish communication. Swipe left in Tinder and now you are ready for a new relationship from scratch. This is sort of an improved version of the old-fashioned network protocols — going to the cinema or cafe, but with the ability to press the Reset button and start the game again.
Whether such replacements are for the benefit of the system as a whole is a debatable question and everyone can give their own answer. Whether it is necessary to divide the working monolithic application of relations, with its internal problems and intermittent failures, and whether it will not fall apart when everything is sorted out on the shelves, the question is open.