Идея настоящей статьи — сравнить работу программиста с работой психолога, психоаналитика, попытка показать, что исследование своей психической жизни может быть не менее увлекательным и интересным, чем практика анализа программного кода, языков и паттернов программирования.
Будучи профессиональным программистом по первому образованию, обладая двадцатилетним опытом разработки программного обеспечения, при изучении психологии и психоанализа я невольно ловил себя на мысли, что схемы работы с психикой и паттерны разработки программного обеспечения похожи, невольно возникали аналогии и сравнения.
Судите сами:
Принцип-1
(программист) — начинает написание программы с проектирования, посредством сбора и анализа пользовательских историй;
(психолог, психоаналитик) — собирает краткую историю жизни клиента, состав основных жизненных ориентиров, определяющих общую направленность жизни и построения отношений с людьми (детство, юность, родители, семья и т.п).
Принцип-2
(программист) — интересует как все эти, описанные ранее, сущности (классы, объекты) функционируют совместно, образуя бизнес-логику проектируемого приложения;
(психоаналитик) — интересует динамика внутренних конфликтов и проблемы отношений анализанта, затрудняющие свободное течение психической, творческой энергии.
Принцип-3
(программист) — есть разные стили программирования и если, существовавший ранее процедурный стиль программирования, а ныне считающийся устаревшим, не обеспечивающим устоявшуюся практику использования полиморфизма, использования интерфейсов, наследования с перегрузкой методов и других практик, превращающих ремесло программирования в настоящее искусство, увлекающее внутренней красотой и изяществом, обеспечивающих качество кода, его высокую эффективность;
(психолог, психоаналитик) — психология, начавшаяся с экспериментальной психологии Вунда устарела в своих поверхностных объяснениях на уровне сознательных установок, более глубокий подход обеспечивает психоанализ, полагающий что более 80% психической жизни находится под властью неосознаваемых, бессознательных мотивов, изучающий эту таинственную область бессознательного, а также сознательное Эго и карающую совесть в виде Супер-Эго. По этим и другим причинам, психоанализ стали называть глубинной психологией.
Таким образом, психоанализ можно сравнить с объектно-ориентируемым подходом в программировании. Как объектно-ориентируемый подход стал основой современных языков программирования, дав развитие различным паттернам проектирования, так и психоанализ основал направление психотерапии, дав развитие остальным видам и разновидностям психологической помощи (от арт-терапии, до экзистенциальной терапии).
Принцип-4
(программист) — следует признать устоявшимся экстремальный подход к программированию приложений (он породил такие модные современные технологии как agile, kanban, scrum), в нем принят подход непрерывного рефакторинга ранее написанного программного кода — принцип непрерывной работы над его качеством;
(психоанализ) — работает в режиме длительного взаимодействия, считая эффект краткосрочной терапии столь же кратким и мимолетным, что и ее название, а постоянство встреч с клиентом (в одно и то же время, один или несколько раз в неделю) задает необходимые рамки благотворного, терапевтического, направленного на позитивные изменения общения. Таким образом, речь идет о непрерывной и длительной работе над качественными изменениями в психической жизни клиента.
Принцип-5
(программист) — стремится к большей, абсолютной независимости программных модулей (классов) друг от друга, от остального кода, с целью как проведения модульного тестирования (обязательного в ряде компаний и обеспечивающего, собственно, выполнение этого, главного правила обеспечения большей независимости программных модулей), так и с целью обеспечения возможности повторного использования кода в других местах этого и других приложений;
(психоаналитик) — стремится в своей работе обеспечить большую независимость и автономность человека, анализанта, его психики от внешней среды и беспокоющих его внутренних, интроецированных, первичных объектов, что позволяет жить более свободно, в соответствии со своими собственными стандартами существования, жизненными целями.
Таким образом, работа программиста и психолога, действительно, во многом похожи по целям и принципам своей работы, отсюда, полагаю, должна следовать и легкость общения между ними, как общение двух людей, глубоко понимающих друг друга в силу схожести жизненных, привычных к употреблению функций и правил.
Поэтому, если вы программист, тогда приглашаю вас к себе на консультацию, в длительную психоаналитческую терапию к работе над собой, над изменениями, обеспечивающими большую свободу, деньги и профессиональный рост, лучшее понимание, происходящего в вашей жизни и в отношениях с другими людьми.
P.S. Просто потому, что у меня есть опыт и профессиональные знания как программиста, так и психоаналитика, который лучше поймет и поможет другому программисту, понимая что стоит за специфическим языком, какие внутренние потребности и мотивы им управляют бессознательно, помимо воли и сознания.