Личностные особенности программиста
«Нормальные люди деревья садят, а программисты их строят и обходят», – цитирует известный анекдот мой приятель, Fullstack Javascript Developer. «В шутках про программистов иногда пугающе много правды», – продолжает он. «Если вы смотрели сериал Силиконовая долина, то обращали внимание, насколько персонажи архетипичны».
Просто в рамках одного недавнего проекта встал вопрос: есть ли объективные, проверенные данные о специфических психологических особенностях программистов? Чем и насколько те, кто выбирают эту профессию и успешны в ней, отличаются от некой средней выборки? Почитал популярные статьи, там – ожидаемо поверхностные мнения (холост, знает английский, живет отдельно и т. д.). Нашел несколько исследований, хочу с вами поделиться их результатами.
Вот, например, авторы CareerExplorer by sokanu (здесь) изучили 9 320 программистов, чтобы выяснить, какие личностные качества и интересы делают их уникальными, отличными от других, людьми. Для оценки были использован, в том числе Holland Codes. Основной вывод исследователей: программисты любознательны и традиционны (консервативны), им нравится проводить время наедине со своими мыслями. В то же время, они ориентированы на детали и организованы, любят работать в структурированной среде.
От себя добавлю – как, впрочем, и бухгалтеры. Ну, вы поняли, мне интересно было найти что-то специфическое в психологическом портрете программиста. Начал копать дальше и вот что встретил: скриннинг по опроснику MBTI среди участников «Codforces» (здесь), довольно-таки честное исследование. Согласно ему, у программистов чаще всего встречаются три ведущих типа – ISFJ, ESFJ и ISTJ. Ниже – их краткое описание (в порядке убывания встречаемости):
Первый тип – ISFJ – интроверт, сенсорик, логик, рационал. Его представители заботливые, чувствительные и эмоциональные, в то же время – традиционные и последовательные. Верят в лучшее в людях, внимательные и неконфликтные, ценят гармонию и добрые отношения, любят порядок и уважают правила. Они лояльны к рабочему коллективу и с трудом расстаются с людьми, которые им ценны и важны. Среди сильных сторон – трудолюбие, внимание к деталям и организованность.
Не знаю ни одного такого программера, чтобы полностью подходил под это описание.
Второй – ESFJ – экстраверт, сенсорик, этик, рационал. Как о них пишут: оригинальные, интеллектуальные, энергичные, полные энтузиазма и заботы об окружающих. Всегда искрятся от хорошего настроения и умеют заряжать других своим состоянием. Очень веселые. Социалы, одним словом.
Вы серьезно? Мои коллеги из IT утверждают, что такие в программировании попадаются, но надолго не задерживаются, а идут дальше, становятся, например, agile-коучами или в тим-лидами.
Ну и третий – ISTJ – интроверт, сенсорик, логик, рационал. Мне такие точно попадались: строгие и педантичные, внимательные и вдумчивые. Практичны, методичны, серьезно организованы. Среди сильных сторон – надежность. А еще они прекрасные администраторы, способные сами организовать людей.
Я обсуждал профили программистов со многими своими коллегами и руководителями, в первую очередь с теми, кто работает в IT индустрии. Мнения разошлись, были и споры. Мой давний друг, один из лучших в дейтинге сказал:
«Вообще, я считаю, что ключевая функция программиста — способность обрабатывать много числовой и логической информации. И этого достаточно на самом деле, а дальше уже рационал или нет, интроверт или сенсорик — это всё после ключевой способности».
Это все так, просто для достижения целей обучения важно, с кем ты работаешь. Поэтому данные исследований, да и сами дискуссии точно пошли нам на пользу и повлияли в конечном итоге на результаты проекта. Это обеспечило 100% погружение в контекст, улучшило взаимопонимание и помогло закрепить тренинговые эффекты. Знание психологических особенностей, на наш взгляд, может улучшить продуктивность общения в целом, снижает временные и эмоциональные затраты в процессе работы, а также быстрее помогает найти «ключик» к мотивации.