2009 г.
Руководство командой разработчиков программного обеспечения
Прикладные мысли
С. Архипенков
Назад Содержание Вперёд
Тип личности и темперамент программистов
Человек всегда будет субъективно неповторим, но имеет смысл различать в нем устойчивое ядро природных качеств, определяющее основную линию его поведения в рабочей команде. Поведение человека в каждый момент времени определяется множеством факторов: интеллектом, воспитанием, опытом, окружением, ролью, который человек на себя принял, мотивацией и др. Однако ядро — тип личности — обеспечивает относительное постоянство ответных реакций человека на окружающую среду. «Знать характер человека — это знать те существенные для него черты, из которых вытекает, которыми определяется весь образ его действий. Черты характера — это те существенные свойства человека, из которых с определенной логикой и внутренней последовательностью вытекает одна линия поведения, одни поступки и которыми исключаются, как не совместимые с ними, им противоречащие другие» [12].
Тип — абстрактная модель личностных характеристик, присущих определенной совокупности людей. Для определения индивидуальных типов личностей в мире было разработано более 150 моделей. Индикатор типов личности Майерс-Бриггс (Myers-Briggs Type Indicator, MBTI) является наиболее популярным и широко применяемым на протяжении последних 40 лет.
Этот индикатор основан на выявлении двух противоположных способов пополнения запаса энергии и сосредоточения внимания (шкала экстраверсия-интроверсия), двух противоположных способов сбора информации (шкала ощущение-интуиция), двух различных способов принятия решений (шкала мышление-чувствование) и двух различных способов организации своего взаимодействия с миром (решение-восприятие). Таким образом, существуют четыре основных шкалы предрасположенностей, три из которых основаны непосредственно на типологии К.Юнга, четвертая (решение-восприятие) — добавлена на основе исследований И.Майерс [13].
В бывшем Советском Союзе типология К.Юнга получила известность и развитие в восьмидесятые годы благодаря работам Аушры Аугустинавичюте (1983). Она, как бы заново, независимо от западных ученых, открыла его типологические идеи. В результате критического анализа доступной литературы по проблеме типологии А.Аугустинавичюте предложила свою оригинальную модификацию типологии К.Юнга, получившую название «соционика» [14].
Таким образом, у дерева с общим корнем (типология К.Юнга) появилось две ветви, которые строят модель одного и того же явления — тип личности, используя разный подход и разные языки. Сопоставление этих двух направлений в определении и интерпретации типов уведет нас далеко от основного предмета нашего обсуждения. Заинтересовавшийся читатель легко найдет в русскоязычном Интернете массу статей по этому вопросу. Я же постараюсь, привести в этом разделе то, что представилось мне практически полезным (а точнее то, что наилучшим образом описывает мой переосмысленный личный опыт коллективной работы) в обоих этих подходах.
Хотелось бы отметить один символичный, по крайней мере, для меня, момент. Первая информация на русском языке по типологии MBTI появилась в переводе книги, посвященной именно психологии программирования [15].
Итак, последователи К.Юнга выделяют следующие четыре характеристики типа личности (Таблица 1)
Таблица 1. Четыре характеристики типа личности
№ |
MBTI (в переводе [15]) |
Соционика |
Значение |
1 |
E — Extroverted (экстраверты) / I — Introverted (интроверты) |
Экстраверты / интроверты |
Направление энергии (психической активности) |
2 |
S — Sensing (ощущение) / N — iNtuitive (интуиция) |
Конкретное восприятие / интуиция |
Сбор информации |
3 |
T — Thinking (мышление) / F — Feeling (чувствование) |
Логика / этика |
Принятие решений |
4 |
J — Judging (решение) / P — Perceiving (восприятие) |
Рациональность/ иррациональность |
Способ взаимодействия с внешним миром |
Следует помнить, что здесь речь идёт не о строгой дифференциации, а о предпочтениях [16] . Для сравнения: возьмём левшей и правшей. Если вы правша, это не означает, что вы вообще ничего не делаете левой рукой. Вы просто предпочитаете действовать правой. Ваше предпочтение может быть сильным — и тогда вы относительно мало пользуетесь левой рукой; а может быть слабым или вовсе отсутствовать, и тогда вы владеете обеими руками почти одинаково.
В Интернет доступны многочисленные онлайн тесты (например, здесь: http://www.tests-tests.ru/), которые позволяют определить тип личности. Наибольшее распространение получили тесты MBTI и Кейрси. Следует заметить, что последователи соционики не признают тестирование в необходимой степени достоверным и определение типа считают возможным только с помощью специалиста.
В реальной жизни, человека, с которым приходится работать вместе, не отправишь на тестирование или на собеседование со специалистом по соционике. Ниже приведена Таблица 2, которая описывает ключевые понятия, наиболее применимые к людям, обладающим той или иной характеристикой типа, и которые могут помочь вам в типизации вашего партнера по взаимодействию.
Таблица 2. Ключевые понятия для разных характеристик типа личности
E — Extroverted (экстраверт) |
I — Introverted (интроверт) |
взаимодействие
внешний облик
широта
обширный круг знакомых
расходование энергии
внешние условия
общительный
сначала говорить, потом думать |
чувство территории
сосредоточенность
внутренние свойства
глубина
узкий круг знакомых
экономия энергии
внутренние ощущения
задумчивый
сначала думать, потом говорить |
S — Sensing (конкретное восприятие) |
N — iNtuitive (интуиция) |
последовательность
интерес к настоящему
реалистичность
упорство
действительный
приземленный
факты
практичный
конкретный |
случайность
интерес к будущему
отвлеченность
вдохновение
теоретичный
витающий в облаках
фантазии
оригинальный
общий |
T — Thinking (логика) |
F — Feeling (этика) |
объективный
верный своим убеждениям
законы
настойчивость
точный
ясность
критика
политика
беспристрастный |
субъективный
милосердный
обстоятельства
убеждение
человечный
гармония
понимание
общие ценности
сочувствующий |
J — Judging (рациональность) |
P — Perceiving (иррациональность) |
решительный
окончательный
твердый
контроль
завершенность
структура
точный
действующий по программе
срок |
выжидающий
предварительный
податливый
приспособляемость
открытость
изменчивость
экспериментальный
непредсказуемый
что такое срок? |
Особенности поведения человека также свидетельствуют о доминировании той или иной характеристики личности (Таблица 3). Внимательное наблюдение этих особенностей позволяет определять тип личности.
Таблица 3. Особенности поведения человека в зависимости от характеристики типа личности
E — Extroverted (экстраверт) |
I — Introverted (интроверт) |
Любят разнообразие и активную деятельность.
Нетерпеливы при выполнении долговременных проектов.
Интересуются работой окружающих.
Часто действуют быстро, без предварительных размышлений.
Воспринимают телефонные звонки как приятные перерывы в работе.
Генерируют идеи путем обсуждения.
Любят работать в окружении людей.
Обычно интересуются другими людьми.
Склонны предпочитать устное общение письменному.
Предпочитают учиться, общаясь с коллегами. |
Любят тишину, позволяющую сосредоточиться на работе.
Способны работать долгое время над одним проектом, не отрываясь.
Интересуются фактами и идеями, лежащими в основе работы.
Сначала думают, а потом (может быть) действуют.
Воспринимают телефонные звонки как помехи работе.
Генерируют идеи путем уединенных размышлений
Любят работать в уединении.
Испытывают затруднения, вспоминая имена и лица людей.
Склонны предпочитать письменное общение устному.
Предпочитают учиться на основе чтения литературы, а не обсуждений. |
S — Sensing (конкретное восприятие) |
N — iNtuitive (интуиция) |
Любят решать проблемы, используя прошлый опыт и стандартные подходы.
Любят применять уже освоенные навыки и знания.
Склонны не доверять своей интуиции и игнорировать ее.
Редко ошибаются в фактах. Любят работу с практическим уклоном.
Говоря о работе, сначала сообщают конкретные детали.
Предпочитают работать установившимся способом, оттачивая свое мастерство.
Обычно действуют методично, продвигаясь шаг за шагом к цели.
Обращают внимание на специфику каждой ситуации.
Склонны упрощать решаемую задачу.
Принимают существующую ситуацию как данность, с которой надо работать. |
Любят решать новые, сложные проблемы.
Больше любят осваивать новые навыки и знания, чем применять их.
Склонны следовать своей интуиции, удачно или неудачно.
Могут допускать ошибки в фактах.
Любят работу с новаторским уклоном.
Говоря о работе, сначала представляют ее общий обзор.
Любят изменения своей работы, порой весьма радикальные.
Действуют по настроению, в соответствии с приливами сил.
Обращают внимание на новые возможности и интересные проблемы.
Склонны усложнять решаемую задачу.
Задаются вопросом о причинах сложившейся ситуации. |
T — Thinking (логика) |
F — Feeling (этика) |
Делают заключения на основе логического анализа.
Могут работать при отсутствии гармоничных отношений с окружающими.
Могут задевать чувства людей, не подозревая об этом.
Склонны принимать решения на безличной основе, иногда уделяя недостаточно внимания желаниям людей.
Обычно бывают трезвомыслящими и, если надо, критикуют других.
Обращают внимание на закономерности, проявляющиеся в ситуации.
Чувствуют себя вознагражденными, когда работа сделана хорошо.
Лучше откликаются на идеи окружающих, чем на их чувства.
Обладают способностями анализа проблем или ситуаций.
Хорошо предвидят логические последствия принятых решений.
Хотят справедливой оценки своих заслуг. |
Делают заключения на основе ценностных суждений.
Лучше всего работают при гармоничных отношениях с окружающими.
Любят делать людям приятное, даже по мелочам.
При принятии решений стараются учитывать все симпатии и антипатии, как свои, так и окружающих.
Склонны сочувствовать другим и не любят, избегают говорить людям неприятные вещи.
Обращают внимание на человеческие ценности, проявляющиеся в ситуации.
Чувствуют себя вознагражденными, когда удовлетворены потребности людей.
Лучше откликаются на чувства окружающих, чем на их идеи.
Обладают способностью понимания интересов людей в разных ситуациях.
Хорошо предвидят влияние принятых решений на людей.
Периодически нуждаются в похвале и признании. |
J — Judging (рациональность) |
P — Perceiving (иррациональность) |
Лучше всего работают, когда могут планировать работу и придерживаться планов.
Любят приводить в порядок и завершать свои дела.
Могут не замечать новые возникающие дела, которые необходимо сделать.
Испытывают удовлетворение, приняв решение по поводу ситуации или человека.
Быстро принимают окончательное решение
Стремятся к упорядоченной структуре и планированию времени.
Используют записи при планировании деятельности.
Приступая к новой работе, стремятся узнать о ней только существенные моменты.
Не любят отрываться от работы ради более срочного дела.
Планируют работу так, что каждый шаг выполняется вовремя. |
Любят гибкость в работе.
Любят оставлять работу незавершенной, чтобы иметь возможность вносить изменения.
Могут откладывать неприятные дела, которые необходимо сделать.
Любознательны и приветствуют новый взгляд на человека и ситуацию.
Откладывают решение. Пытаются найти новые альтернативы и данные, чувствуя, что никогда не будут обладать всей информацией.
Склонны начинать сразу несколько дел, но с трудом их завершают.
Хорошо приспосабливаются к изменяющейся ситуации и чувствуют себя стесненно без перемен.
Используют записи как напоминание обо всем, что предстоит сделать.
Приступая к новой работе, стремятся узнать о ней все.
Склонны начинать сразу несколько дел, но с трудом их завершают.
Оставляют много дел на последний момент, завершая работу вплотную к крайнему сроку. |
Различные возможные комбинации четырех базовых характеристик формируют 16 психологических типов. В. Гуленко [14] приводит набор псевдонимов для этих 16 типов, который, на мой взгляд, наиболее практически полезен в деловых взаимодействиях (Таблица 4).
Таблица 4. Псевдонимы 16 типов личности по В.Гуленко
1. |
ENTP, "Искатель". |
9. |
ESFP, "Политик". |
2. |
ISFP, "Посредник". |
10. |
INTP, "Критик". |
3. |
ESFJ, "Энтузиаст". |
11. |
ENTJ, "Предприниматель". |
4. |
INTJ, "Аналитик". |
12. |
ISFJ, "Хранитель". |
5. |
ENFJ, "Наставник". |
13. |
ESTJ, "Управитель". |
6. |
ISTJ, "Инспектор". |
14. |
INFJ, "Гуманист". |
7. |
ESTP, "Маршал". |
15. |
ENFP, "Советчик". |
8. |
INFP, "Лирик". |
16. |
ISTP, "Мастер". |
В том же источнике приводится классификация типов личности по наиболее предпочтительным видам профессиональной деятельности (Таблица 5).
Таблица 5. Классификация типов личности по видам профессиональной деятельности
|
Логика (T) |
Этика(F) |
Конкретное восприятие (S) |
Управленцы: маршал, мастер, управитель, инспектор. |
Социалы: политик, посредник, энтузиаст, хранитель. |
Интуиция (N) |
Ученые: предприниматель, аналитик, искатель, критик. |
Гуманитарии: наставник, гуманист, советчик, лирик. |
Как уже отмечалось, в мире существует большое число моделей типов личностей, но на мой взгляд, наиболее полезные и распространенные модели хорошо согласуются с типологией Майерс-Бриггс, и служат, как правило, ее упрощением в целях практического применения в тех или иных ситуациях.
По-видимому, одна из первых попыток классификации людей по их типу личности, которая берет начало с трудов Гиппократа (V век до н. э.), была сделана на основе разделения по темпераментам. Темперамент (от лат. temperamentum — надлежащее соотношение частей), характеристика индивида со стороны динамической особенностей его психической деятельности, то есть темпа, ритма, интенсивности отдельных психических процессов и состояний. Темперамент определяется наследственностью и устойчиво проявляется в течение всей жизни человека. Описанные выше характеристики группируются в четыре темперамента:
- Холерик. Имеет самые скоростные темпоритмы. Он много и быстро говорит, без промедления отвечает собеседнику. Часто перебивает: когда собеседник только начал о чем-то говорить, холерик уже все понял и имеет готовый ответ.
- Флегматик. Спокойный, миролюбивый и сдержанный человек. У него мягкие и неторопливые движения, негромкий голос. Он никогда не перебивает собеседника, умеет внимательно выслушать и кивает в знак согласия.
- Сангвиник. Человек сильный, энергичный, с хорошим самоконтролем. Как правило, он деловитый, выносливый и работоспособный. Нередко — трудоголик, любит хорошо зарабатывать и делать карьеру.
- Меланхолик. Чувствительный, обидчивый и очень ранимый. Легко расстраивается даже при мелких неудачах. Любит жаловаться на судьбу. Искренне верит, что самая «тяжелая доля» и «самые тяжкие испытания» из всех возможных на Земле выпали именно ему.
Из любопытного, Александр Дюма, видимо, сам того не зная, интуитивно вывел в своих произведениях четырех мушкетеров, ярких представителей этих четырех указанных типов — д'Артаньяна (холерик). Артоса (флегматик), Портоса (сангвиник) и Арамиса (меланхолик).
В. Гуленко в своей работе [14] дает однозначную интерпретацию темпераментов в терминах соционических типов. Шкалы «рациональность — иррациональность» и «экстраверсия — интроверсия» образуют в результате пересечения четыре группы соционических темпераментов (Таблица 6)
Таблица 6. Темпераменты в терминах соционических типов
|
Экстраверсия |
Интроверсия |
Рациональность |
Холерики |
Флегматики |
Иррациональность |
Сангвиники |
Меланхолики |
Следовательно, 16 социотипов распределяются по темпераментам следующим образом:
- Холерики, или рациональные экстраверты: энтузиаст, наставник, предприниматель и управитель.
- Флегматики, или рациональные интроверты: аналитик, инспектор, хранитель и гуманист.
- Сангвиники, или иррациональные экстраверты: искатель, маршал, политик и советчик.
- Меланхолики, или иррациональные интроверты: посредник, лирик, критик и мастер.
Специфика программистской работы обуславливает общность психологических черт большинства профессиональных разработчиков ПО. Достоверных данных статистических исследований найти не удалось, однако, по мнению С.Макконнелла [17], которое очень хорошо подтверждается моим личным опытом общения с коллегами, большинство разработчиков ПО принадлежит к двум типам:
«Инспектор» — ISTJ = I (интроверт) + S (конкретное восприятие) + T (логик) + J (рациональный).
«Аналитик» — INTJ = I (интроверт) + N (опирающийся на интуицию) + T (логик) + J (рациональный).
Причем характеристики S (конкретное восприятие) и N (интуиция) среди программистов делятся примерно поровну.
К подтипу S (ощущения) относятся разработчики, живущие в фактическом мире достижимого сегодня. Они конкретны, точны и практичны. Стремятся к специализации. Из них получаются успешные управленцы и настойчивые в реализации программисты. Устанавливают порядок и работают в рамках системы, организуя выполнение задач и завершая их в срок и в рамках бюджета. Люди типа «Инспектор»
- Любят основательность и детальность, справедливость, практичность. Спокойны, серьезны, настойчивы.
- Характеризуются решительностью в критических ситуациях, являются хранителями традиций.
- Просты и чужды манерности. Они трудолюбивы и упорны в работе.
- Стремятся охватывать все подробности и оперировать точными фактами.
- Могут выполнять и разбираться в сложных и многогранных задачах.
- Не выносят небрежного отношения к ресурсам, все необходимое должно быть в нужное время в нужном месте.
К подтипу N (интуиция) относятся разработчики, рассматривающие широкий спектр возможностей, абстрагирующиеся от технических деталей, склонные обобщать и теоретизировать. Из таких разработчиков, на мой взгляд, получаются успешные системные аналитики и архитекторы. Люди типа «аналитик»:
- Наиболее самоуверенные люди, безгранично верящие в себя и свои силы. Живут своим внутренним миром, концентрируясь на возможностях.
- Интересуются будущим больше, чем прошлым. Это люди, умеющие применить на практике теоретические модели.
- Абсолютно не признают авторитетов, базирующихся на положении, звании или прошлых заслугах. В оценке достоинств какой-либо теории полагаются только на свое собственное мнение, невзирая на то, кто отстаивает сходную позицию.
- Действуют в жизни, как бы участвуя в игре на гигантской шахматной доске, изобретая все новые и новые стратегические и тактические ходы.
- Отстаивают право думать по-своему. Это может и помочь и повредить их карьере так же, как и их способность игнорировать чужие мнения и желания.
- Склонны хвалить за достигнутое и избегают обсуждать негативные черты чьего-либо характера. Они предпочитают движение вперед копанию в недостатках.
Согласно [14], большинство разработчиков ПО как рациональных интровертов, следует относить к флегматикам. Это означает, что программисты люди спокойные как внешне, так и внутренне. Они настойчивые и упорные труженики, но им требуется время для раскачки, для сосредоточения внимания, для переключения внимания на другой объект. Интровертная рациональность делает их сдержанными и закрытыми, не отвлекающимися на внешние раздражающие факторы. Это вовсе не означает, что программист не способен вспылить. Просто, чтобы довести его до такого состояния, надо потратить много сил. Это самый уравновешенный из всех темпераментов. Видимо, люди с другими темпераменты в условиях постоянной неопределенности и изменений, жесткого давления сроков и заказчиков, выживают не так успешно.
Типы «инспектор» и «аналитик», безусловно, не единственные, психотипы которые востребованы в разработке ПО. В каждом проекте разработки программного продукта много других работ: бизнес-анализ, проектирование эргономики, графический дизайн, разработка пользовательской документации, наконец, руководство командой. Эти работы с программированием не имеют ничего общего. Для них требуются совершенно другая квалификация и другой склад мышления. При кустарном производстве программ эти задачи, как правило, поручаются программистам, которые это делать не умеют и не любят. Получается обычно плохо, да еще и дорого. В силу своей интроверсии, граничащей с аутизмом, программист просто не в состоянии увидеть свою программу чужими глазами — глазами пользователей. Никто уже не хочет работать с программами с технологической парадигмой навороченного пользовательского интерфейса — кустарным творением программистов — когда для того чтобы работать с системой, надо обязательно знать, как она устроена. Это типичное творение аутиста, которому гораздо важнее видеть, как работает его программа, чем разбираться в том, что она делает для пользователя.
Программисты любят и умеют программировать. Пусть они этим и занимаются. Не загружайте программистов несвойственной для них работой. Включайте в проектную команду, бизнес-аналитиков, эргономистов, художников-дизайнеров, документалистов. Разделение труда — залог перехода от кустарного производства к более эффективному промышленному производству.
Назад Содержание Вперёд