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