====== Психологическая деформация программистов ====== Источник: http://habrahabr.ru/post/138912/ Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью. Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Сразу стоит заметить, что программист много времени проводит за компьютером, следовательно, многие из перечисленных пунктов относятся не только конкретно к программистам, а и к «компьютерщикам» в целом. ===== Гиперконцентрация ===== Каждый программист знает, что хорошая и качественная работа над кодом требует очень высокой степени погруженности в код. Кто-то старается себя изолировать наушниками, кто-то ставит таймеры, выключает все внешние раздражители и т.п. Степень концентрации при работе программиста сравнима с работой на ядерной станции. Соответственно, всё это порождает повышенную раздраженность при прерывании данного процесса, что внешне воспринимается непосвященными людьми как «замороченность на работе» и т.п. В реальной жизни это также может вызывать свои эффекты, как например бытовые дела тоже по привычке начинают производиться в режиме гиперконцентрации. Например, во время уборки в квартире программист не будет параллельно думать о миллионе дел или безудержно болтать по телефону. Скорее он погрузится в какую-то свою задачу (может и в саму уборку) и просто будет заниматься процессом. Не стоит от программиста «требовать внешнего внимания», когда он прогружен в код или какую-то задачу. ===== Погруженность во внутренние образы и конструкции ===== Работа программиста имеет свою специфику, которая в аналогичном виде более всего присуща профессии инженера-изобретателя. Если вы знакомы с трудами Никола Тесла, то сможете вспомнить как он описывал то, что происходит в его голове. Если вкратце, то в голове Тесла мог построить механизм, запустить его и даже «прокрутить во времени» его работу, чтобы понять какие детали будут изнашиваться и где могут возникнуть проблемы в будущем. Не менее сложные конструкции возникают и в процессе профессиональной работы программиста. Данный эффект называется образно-чувственным конструированием. Если обыватель видит на экране только наборы символов, то в голове программиста этот код превращается в целые части мира. Как чтение книги создает образы и переживания в человеке, так и код способен такое же делать с программистом. Именно поэтому программисты «чувствуют» код, знают когда он «красив», когда «грязен», будет ли он работать и т.д. С какой-то стороны хороший программист сравним с писателем художественных произведений. В реальной жизни это проявляется в чрезмерной погруженности внутрь себя, особенно если программист пытается что-то понять. Если деформация значительна, то программист может начать строить целую схему того, что сейчас происходит. Именно поэтому часто «построенные схемы социальных взаимодействий», например политика, у программистов вызывают чувство «грязного кода» и отторжение. В повседневной жизни это иногда может частично восприниматься как легкая форма аутизма, хотя на самом деле это не так. Человек вполне адекватен и открыт к взаимодействию с внешним миром, но вот сами механизмы взаимодействия имеют указанную специфику. ===== Низкий уровень социального взаимодействия и его разнообразия в повседневной работе ===== Данный момент не является «де факто», однако всё же периодически встречается и может играть свою определенную роль в деформации психики. Так как большую часть рабочего времени программист проводит в мире кода, и единственными «собеседниками» в нем являются «методы, функции, объекты, модули, пакеты и т.п.», соответственно и уровень социального взаимодействия у программистов, как правило, ниже, чем в большинстве профессий. Это связано еще не столько с тем, сколько людей вовлечено в работу, сколько с тем, думает ли о других людях в данный момент сам человек. Если работу дворника сложно назвать «активно социальной», тем не менее, сам дворник может в этот момент размышлять о жене, детях, друзьях и т.п. А для программиста же такая возможность отсутствует, он должен быть погружен в код. И хотя часто имеется рабочий коллектив, но коллектив, как правило, таких же программистов. Программистам иногда сложно работать рядом с людьми других профессий. Так что если степень деформации в коллективе высока, то это лишь усугубляет данный фактор (социального разнообразия отношений). ===== Обостренное восприятие причинно-следственных связей ===== Любой код должен работать, но чтобы написать работающий код, нужно понимать структуру причинно-следственных связей этого кода. Проще говоря «что, почему и как происходит», а также «что произойдет, если что-то не произойдет как ожидалось». Всё это накладывает свой отпечаток и на мышление человека. Данный способ мышления еще принято называть «техническим складом ума», когда человек старается найти всему рациональное объяснение и понять причинно-следственную связь. Отдельные программисты помимо написания кода часто втягиваются в технические аспекты, как например разработка аппаратуры под свои нужды (привет «паяльникам»). Порой это может доходить до уникальных надстроек в психике. Например, когда сложная застежка бюстгальтера девушки вызывает столько же интереса, как и то, что этот бюстгальтер скрывает. Со стороны это часто может восприниматься как «замороченность над мелочами». То что не вызывает интереса для большинства людей, в программисте может порождать огромные потоки размышлений. Соответственно, так как не пропорциональны объемы приложения умственных усилий, то выводы, которые делает программист об эффектах реального мира, порой могут казаться «чудаковатыми» и восприниматься с определенным удивлением. Но что удивительно, если вы спросите программиста почему он так решил, то, скорее всего, получите целую цепочку причинно-следственных связей, и почти всегда вполне разумных. В целом такое происходит в голове каждого человека, однако именно у программистов этот момент часто обострен и порой он способен привлекать для анализа те аналогии, которые не пришли бы в голову обычному человеку. ===== Привыкание к формализованной постановке задач ===== Так как программист должен создавать код, который должен работать ровно так, как это требуется для задачи, то привычка делать то, что было сказано, постепенно перетекает и в другие области жизни. Но так как в большинстве случаев социального взаимодействия имеет место невербальное восприятие, «угадывание» и «додумывание», то у программистов обостряется чувство конкретизации. Не то чтобы сказать, что программисты не умеют читать мыслей и предугадывать действия других людей, но скорее они предпочитают задать лишний вопрос, чем потом «переделывать заново». Отправляете программиста в магазин? Скажите на одно предложение больше, но избавьте его и себя от лишних вопросов. Например, не «купи яиц», а «купи десяток яиц первого сорта посвежее». И не воспринимайте его как «робота» если на свой вопрос вы получите детализированную инструкцию с кучей «ненужных вам деталей». Он старается сделать всё правильно. Если для большинства «будь проще» это «говори меньше», то для программистов «будь проще» это часто «говори точнее». ===== Жертвы «инженерного-гламура» ===== Рискую быть «съеденным заживо», но данный момент требует всё же освещения в рамках этой статьи. Речь пойдет не столько о программистах, сколько о «компьютерщиках». Гламур является нормальным и естественным порождением человеческих потребностей, вкратце девизом гламура можно назвать «Кто круче», соответственно для реальной жизни это «тачки, шмотки, бабло и т.п.». В сфере «инженерного-гламура» действует тот же принцип «Кто круче», однако с иными критериями. Так как основная концентрация «компьютерщика» направлена не на других людей, как в «гламуре реального мира», а на собственный внутренний мир образов и причинно-следственных связей, соответственно и цели здесь преследуются из области этого мира. Последний навороченный по характеристикам смартфон; мощный комп/сервак/ноут чтобы всё бегало еще быстрее; свежие программы, которые делают вбивание автокомплита на 32 миллисекунды быстрее; новые приложения с более плавной проруткой и модным голосовым распознавателем; знания о тайных особенностях новой версии компилятора и т.п. Как и в «реальном гламуре», так и в «инженерном» есть свои «иконы», например недавняя статья про модем U.S. Robotics явный тому пример. Так что не спрашивайте «зачем ему такой же телефон» и не удивляйтесь ответу «он не такой же, тут же на 500 мегагерц сильнее проц». Интересный момент. В отдельных случаях «инженерный гламур» может быть подавлен обостренным требованием к причинно-следственным связям. То есть новый комп не будет куплен, пока реально не потребуется его мощность. ===== Заключение ===== Собственно весь сериал «Теория Большого Взрыва» построен на гиперболах явлений, которые были описаны выше. Если не так сильно преувеличивать то, что показано в ТБВ, то в целом именно подобная картина наблюдалась бы в человеке, который был бы значительно подвержен всем указанным эффектам работы программиста. С учетом всего описанного не без оснований программистов воспринимают как «космических товарищей», однако по своему субъективному мнению, хочу сказать что если бы не добровольный выбор тех, кто идет в ряды программистов, то им бы стоило давать «молоко за вредность», но в данном случае психологического характера. Тем не менее, каждый человек сам строит свою жизнь и сам факт психологической деформации «труженников кода» пока не так велик. Большинство имеет семьи, друзей, интересы помимо кода и компьютера. Так что не ведитесь на шаблонное «да он программист». Это не диагноз, это просто стиль мышления.