«Когда я разделила секс, любовь и отношения — все стало значительно проще...» цитата умудренной жизненным опытом девушкиМы программисты и имеем дело с машинами, но ничто человеческое нам не чуждо. Мы влюбляемся, женимся (выходим замуж), рожаем детей и … умираем. Как и у простых смертных, у нас постоянно возникают проблемы эмоционального плана, когда “не сошлись характером”, “мы не подходим друг к другу” и т.д… У нас случаются любовные треугольники, разрывы отношений, измены и прочие эмоционально окрашенные события.
С другой стороны, в силу особенностей профессии, мы любим чтобы было все логично и одно вытекало из другого. Если не нравлюсь — то чем конкретно? Если не сошлись характерами, то какой конкретно частью. Объяснения в стиле “ты меня не жалеешь и не любишь” кажутся нам каким то набором малопонятных абстракций, которые нужно измерить (в каких единицах измеряется жалость) и дать понятные граничные условия (какие события должны эту жалость тригерить).
В современной психологии накоплен огромный пласт абстракций и терминологий для обозначения эмоциональной стороны человеческих отношений. Когда вы приходите к психологу и говорите, что у вас не складываются отношения с партнером, вам выдадут кучу советов в духе “будьте более терпимы друг к другу”, “вы должны разобраться прежде всего в себе и понять что для вас по настоящему важно”. Вы будете часами сидеть и слушать как психолог будет говорить вам довольно очевидные вещи. Или будете читать популярно-психологическую литературу, основная суть которой сведется к простой формулировке “делай то, что нравится и не делай того что не нравится”. Все остальное — это приятный гарнир к маленькому семени этой банальной истины.
Но постойте, программирование — это очень непредсказуемый процесс. В процессе программирования, выражаясь фигурально, мы пытаемся упростить окружающий мир до уровня абстракций. Пытаемся уменьшить энтропию окружающего нас мира втиснув ее в логику понятных нам алгоритмов. Нами накоплен колоссальный опыт подобных преобразований. Мы придумали кучу принципов, манифестов и алгоритмов.
И в связи с этим возникает вопрос — нельзя ли применить все эти наработки к человеческим отношениям. Давайте посмотрим… на микосервисную архитектуру.
С этой точки зрения брак представляет собой огромное монолитное приложение, которое чем дальше тем сложнее становится поддерживать. Уже накопилась куча неработающего функционала (где же свежесть отношений), технический долг (когда ты дарил последний раз супруге цветы), нарушения в плане взаимодействия протоколов между частями системы (я тебе говорю про новую машину, а ты мне опять “вынеси ведро”), система пожирает ресурсы (как финансовые, так и моральные).
Применим подход микросервисной архитектуры и, для начала, разобьем систему на составные части. Разумеется разбивка может быть какой угодно, но тут каждый сам себе программный архитектор.
Брак функционально состоит из
- Финансовой подсистемы
- Эмоциональной подсистемы (секс, любовь, чувства, все неосязаемое и плохо поддающееся оценке)
- Коммуникационной подсистемы (отвечающей за общение и взаимодействие внутри семьи)
- Подсистемы воспитания детей (опционально, по мере наличия)
В идеале каждая из этих подсистем должна быть автономной. Не допускаются паттерны в стиле:
- ты мало зарабатываешь, поэтому мои чувства к тебе угасают
- если ты меня любишь, купи мне шубу
- я не буду с тобой общаться, потому что ты не удовлетворяешь меня в постели
В хорошей микросервисной архитектуре любая ее часть может быть заменена без ущерба для работы всей системы в целом.
С этой точки зрения, интрижка партнера, является ничем иным, как заменой подсистемы чувственных отношений.
Женщина в браке, в свою очередь, может найти богатого любовника, заменив тем самым, финансовую подсистему.
Эмоциональное общение внутри семьи заменяется на внешние сервисы в виде социальных сетей и мессенджеров. API взаимодействия остается вроде бы неизменным, как и человек по ту сторону экрана, но ни одна технология не может дать ощущения близости.
Свою лепту вносит иллюзия изобилия и доступности на сайтах знакомств — не нужно прикладывать каких либо усилий для налаживания общения. Swipe влево в Tinder и вот ты уже готов к новым отношениям с чистого листа. Это вроде как усовершенствованная версия старомодных сетевых протоколов — походов в кино или кафе, но с возможностью нажать кнопку Reset и начать игру сначала.
Идут ли подобные замены на пользу системе в целом — вопрос дискуссионный и каждый может дать свой ответ. Нужно ли разделять работающее монолитное приложение отношений, с его внутренними заморочками и переодическими сбоями, и не развалится ли оно, когда все будет разобрано по полочкам, вопрос открытый.