11 November 2013

Как навыки программирования могут позволить сохранить разум близкого человека или «От программирования до психотерапии»

Abnormal programming
Sandbox
Хабралюди, добрый день!

В этом кратком очерке я напишу про то, как навыки программирования дали мне возможность помочь близким выйти из глубокой депрессии, а другим жить социальной жизнью, несмотря на параноидальную шизофрению.

Немного про меня. Мою жизнь сделала одна книга, которую как-то мне подарили на десятый или одиннадцатый мой день рождения. Это был замечательный комикс выпущенный латышами — «Как Петя Бейсиков Тоню Соображалкину программированию учил».

image

Может есть еще люди, которые как-то с нею сталкивались? Но она меня окунула в невероятный мир алгоритмов, блок -схем. Я до сих пор помню как их рисовал на уроках по истории на последних страницах тетрадки. От блок схемы «Как завести хомячка» до «как познакомиться с девушкой». Потом был Basic, Pascal, Cobol, Prolog ,Delphi, C++ Builder, PHP. С некоторыми из них у меня было шапочное знакомство, другие даже выдерживали мой быдлокодинг, а с некоторыми вообще не сложилось.

Меня трудно назвать как-то, кроме быдлокодер. Да, у меня есть проекты, они приносят деньги. Их не один и не два. Живы и здоровы более 6-7 лет. Я не забивал себе голову рефакторингом (ну почти), ставил костыли и работал быстро. Оглядываясь назад мне ничуть не стыдно, хотя, те ребята, которые работают сейчас под моим началом, бывает, ворчат. Сейчас веду отдел программистов одной достаточно крупной компании, ко всему имею маленький онлайн-бизнес, который капает.

В своем образовании я остановился где-то на уровне процедурного программирования и как-то дальше не пошло. ООП использую больше как декоративную фишку. Но блок-схемы из той первой книги жестко впечатались в мои юные мозги. И даже сейчас бывает, я их черчу в процессе обдумывания нового проекта. И наверное именно этот навык и сыграл основную роль в главной драме моей жизни.

Моя мама была преподавателем в университете в диких девяностых. Это был один из первых частных высших учебных заведений в нашей маленькой республике. И так как тогда платили деньги только те, которые их имели, а имели тогда деньги весьма странный люд. Моя мать попала под прессинг: «Мы платим — значит, мы тут хозяева». История была жуткой: студенты запугивали и травили ее и в конце она стала забитой и тихой. Я часто слышала как она плачет. Видел контрольную, в которой было дописано карандашом: "… и для того, чтобы с тобой все было хорошо просто поставь десятку (у нас десятибалльная система), а потом сотри то, что дописано карандашом..." Она начала бояться выходить из дома. Отец струсил и не поддержал ее тогда. И ее тихая депрессия тем временем деградировала в паранойю и через два года в шизофрению с аудиальными и визуальными галлюцинациями. Обострения с госпитализацией — два раза в год — осень и весна. Я испытал дикое потрясение, когда понял: «Все. Ничего больше нельзя сделать. Шизофрения не лечится. Этого человека не вернуть».

С большим сопротивлением мы начали принимать новую мать. Такая, какая он есть. И пытаться любить ее, а не тот призрак, который остался в прошлом.

Прошло около девяти лет. Жизнь стала понемножку налаживаться — у меня была маленькая фрилансерская конторка, любимая жена. Мы только год как поженились. А потом — мой первый неудачный бизнес проект. Начали делить шкуру не убитого медведя с соучредителями. Лень, надежда на авось и несоизмеримо выросший ЧСВ сделали свое черное дело. Итог — двенадцать тысяч евро личных долгов под проценты. Нужно понимать, что на тот момент другие наши семейные доходы не превышали 400 долларов в месяц. Это было похоже на удар битой в солнечное сплетение. Из меня полностью выбило дух и землю из под ног. Вокруг все начало крушиться. Рассыпались песчаные замки и растворились друзья и родственнички. И только жена осталась рядом.

Я смог вернуть деньги в течении двух лет. Наверное, только благодаря поддержки жены. И в тот момент когда я хотел крикнуть:
-УРАААА! Рабство кончилось. Можно начинать жить. Я заметил, что моя жена стала тихой и как-то перестала выходить из дома. Все чаще начали случаться истерики, которые всегда заканчивались слезами. Нам все труднее было с кем-то встречаться. И тень прошлого нависла снова над моей семьей. Но на этот раз я не захотел сдаваться. Я не захотел, чтобы мною любимый человек превратился в напичканный транквилизаторами зомби. Я не захотел из-за своей трусости потерять блеск ее глаз и ее смех. И тогда сохранение моей семьи стало самым важным проектом в моей жизни.

В этот момент у меня за спиной было пару курсов НЛП (Практик и Мастер) и чуток Эриксоновского гипноза, которые давали некоторые базовые инструменты для работы с бессознательным. Во всяком случае навести легкий транс и повести за собой я худо-бедно мог. Для чего и как мне это нужно было — тема для совсем другого поста. К тому моменту я чувствовал себя обезьяной с кучей инструментов в руках и ощущал всю глубину моего невежества.

Но когда же мне это самое невежество мешало? К тому моменту я уже был быдлокодером со стажем. А в программировании я часто и успешно преодолевал такие препятствия при помощи поиска, упорства и интуиции. И я решил применить мою “интуицию” и в этом случае. Так как отчаянно не хватало «модели мира», я принял экзистенциальную модель психотерапии, так как обожаю экзистенциалистов в принципе, и всегда читал Сартра и Хайдегера с удовольствием.

Нужно понимать, что в психотерапии каждая модель мира задает собственные правила игры. К примеру юнгианцы объясняют все через архетипы, «гештальтовцы» — через «здесь и сейчас», бихевиористы — через поведенческие паттерны, гуманисты — через целостность человека и его стремлению к личностному росту. И когда ты принимаешь какую-то модель мира — ты автоматически принимаешь правила игры того мира, где эта модель действует. (Хмм, тут конечно я все упростил до безобразия и для лучшего понимания.)

Все это мне напомнило те языки и среды программирования, с которыми мне приходилось иметь дело. Если выучить правила, то везде можно всунуть мои блок-схемы, те, которым я научился еще из первой книги по программированию. Так что для меня экзистенциальная психотерапия оказалась простой средой (только новой) программирования с простыми адекватными и очень понятными правилами.
Существуют четыре базовые экзистенции (уникальное человеческое переживание): Ответственность-Свобода, Изоляция, Смерть и Бессмысленность. И каждый невроз появляется на стыке столкновения с одной из экзистенций.

Алгоритм простой:

Шаг1. Диагноз


При помощи обыкновенной логической индукции, а иногда методом исключения мы пытаемся вычислить с каким страхом встретился человек. К примеру, нежелание выходить из дома может быть вызвано и страхом смерти и столкновением с бессмысленностью. Самое важное увидеть реакцию на наводящие вопросы. Любая реакция означает, что вы близко к цели. И так как экзистенций только четыре — ошибиться практически невозможно:

int diagnoz(){(for (int i =0;i<4;i++) {if( detect_reactia_existent(i)) return i; })}.

Нужно понимать, что обнаружение реакции — это функция (навык), которая оттачивается со временем. Нужны навыки микрокаллибровки: расширение зрачков, учащение дыхания, появление мелких тиков и так далее.

Но если вы в свое время научились искать баги в вашем коде, то уж поверьте мне — микрокаллибровке вы сможет научиться. На этом этапе вы тестируете код бессознательных плюс осознанных постановок, ценностей и убеждений. По большому счету у вас есть ошибка поведения на выходе, которая спровоцирована внутренним багом. Баг может быть спровоцирован в экзистенциальной модели лишь страхом перед либо столкновением с одной из четырех экзистенций.

Шаг 2. Осмысление


На этом этапе вы должны дать возможность человеку осмыслить свою проблему. Вытащить ее на свет и глубин бессознательного, отрицания. Цель в том, чтобы он смог сказать самому себя в чем проблема. Достаточно одного слова. Ведь иногда лень сводиться к тому, что человек саботирует свое взросление, так как “Взрослые умирают”, а так он сможет жить вечно. Иногда лень- это страх смерти. И важно, чтобы человек смог взглянуть в лицо своей смерти. Ведь жизнь именно тем и великолепна, что ее мало и она конечна. Самого ценного всегда мало, а может только поэтому и ценно.

На этом этапе неявное столкновение с экзистенцией должно стать явным переживанием, чтобы у человека смог появиться шанс дать отпор. Мы можем сражаться/принять только то, что видим перед собой.У человека должен появиться выбор.

На этот раз в том месте, где раньше выскакивала недокументированная ошибка — теперь будет выскакивать красная таблица с номером ошибки. И для того, чтобы это безобразие исправить, можно будет обратиться к разработчику. Человек будет иметь время присмотреться к этой ошибке. Может быть лень для него и не такая уж большая проблема, пока существует иллюзия вечности. В такой момент ваша задача- тонко троллить: «Некоторые из нас живут так, как будто никогда не умрут, а умирают, как будто никогда и не жили».

То что вы всегда делаете, к примеру, на страницах саппорта mysql, чтобы они побыстрей исправили баг с автоинкрементом внутри хранимой процедуры. Ваша задача — это не дать проблеме уйти обратно в бессознательное. Пусть она вечно мелькает перед глазами. У человека должна проснуться вина перед самим собой (экзистенциальная вина) за то, что проблема до сих пор не решена. Она должна висеть в топе нерешенных задач. Тут главное не давить, а напоминать. И напоминать по разному и разными способами, чтобы не возникло желание «просто отключить будильник».

Шаг3. Принятие (Поглощение)


Это этап прямой конфронтации человека со своим страхом. Он должен иметь возможность увидеть за ним, те плюшки и печенки которые он получит в итоге.

Вы должны ему помочь увидеть, что значит жить без страха смерти. Понять, что смерть — это апогей жизни, ее кульминация. Смерть — это то, куда нас приводит река жизни. А жить всю жизнь думая о смерти — это как будто вы каждый день отпуска вместо того, чтобы отдохнуть- печалитесь о том, что отпуск когда-нибудь кончится.

Понять что свобода- это прежде всего ответственность и значит приняв ответственность — мы получаем свободу. А убегая от ответственности, мы ее отдаем вместе с нашей свободой в чьи-то руки. И становимся рабами. А также мы должны отдать чужую ответственность обратно ее хозяевам. И только тогда будет возможность вздохнуть свободно… по настоящему свободно.

Изоляция. Да, человек одинок, он просто на столько свободен, что он единственный. И невозможно ни с кем слиться настолько, чтобы потерять себя. Изоляция — это прежде всего возможность себя осознать, отделить и полюбить. И как вы можете надеяться, что кто нибудь вас полюбит, если даже вы не можете с собой оставаться наедине. Черт возьми, вы должны быть себе приятным собеседником.

Бессмысленность. Бич нашего времени. С бессмысленностью не все так просто. Мэй и Ялом твердят, что в жизни человека смысл есть, и что человек без смысла существования впадает быстро в уныние и депрессию. Смысл жизни — это то ДЕЛО (читай хобби, работа, пристрастие), которое человек для себя выбирает (Дело Жизни — каждое слово с большой буквы). Для того, чтобы в его жизни был смысл — человек должен слиться со своим делом, стать мастером своего дела, творцом. Только тогда проблема смысла для данного индивидуума исчезает.

Сартр и Хайдегер же твердят, что «Смысла Жизни» нет. И по большому счету это очень хорошо. Ведь человек тогда может для себя выбрать любой понравившийся.

Вы должны склонить человека к рефакторрингу кода бессознательного. К глубинному изменению ценностей. Может даже портированию приложения на другую операционную систему. Если он примет это решение, то вы должны быть рядом весь этот процесс. Кто-то должен ему помочь выловить новые ошибки. И да… вы будете тестировать.

Шаг4. Интеграция (Переваривание) -новые шаблоны поведения


Изначально новые куски кода(убеждения, ценности) будут восприниматься как черные коробки, интроекты, чужеродные сущности внутри нашего Я. Они будут конфликтовать с установившимся порядком. Должно пройти время, чтобы наше Я переварило все. Разделило все на мелкие составляющие и разобралось в том, как все это устроенно. И воссоздало заново эти функции само уже без вашего участия. На данном этапе возможны приступы психологической “рвоты”. Из-за большого количества внутренних конфликтов, все новые убеждения могут просто в один момент быть отторгнутыми и выброшенными. А ваше присутствие вызывать тошноту и раздражение.

В самом начале, когда начинаешь рефакторинг и натыкаешься на огромную кучу непредвиденных проблем и работы, часто возникает желание вернуть все как было. А эту переделанную/недоделанную версию стереть и забыть, что она когда-то существовала.

Ваше цель дать человеку “смекту”. Ту поддержку, которая поможет ему переварить все самому. Тут все достаточно индивидуально. Но просто поддержите его по человечески. На данном этапе умничать и направлять не стоит- просто протяните руку.

Вернемся к моей истории. Я смог помочь моей жене, себе, маме, друзьям и в конце концов даже некоторому количеству совсем незнакомых людей. Наверное, в психотерапии я так и остался быдлокодером, как и в программировании в целом. Но я чувствую, что костыльное программирование — мое призвание. Это то, что стало смыслом моей жизни — ставить костыли, дабы дать возможность срастись переломам.
Tags:психотерапияалгоритмыэкзистенциализмпрограммирование
Hubs: Abnormal programming
+12
28.6k 133
Comments 20
Top of the last 24 hours