На главную

Умеют ли программисты общаться?

17-06-2019

Что не так с программистами?

С программистами что-то не так. В школе нас называли ботанами. Наши интересы разительно отличались от интересов наших одноклассников. Сейчас, устраиваясь на работу, мы проявляем признаки инфантилизма, плохо идём на контакт и шутим странные шутки. Мы смеёмся этим шуткам тоже очень странно.

Люди нас сторонятся, и мы обречены на вечное одиночество в обнимку с книгой.

Но и для нас забрезжил свет надежды. Уже несколько лет в русском интернете ходят разговоры про так называемые гибкие навыки, они же soft skills. Их противопоставляют профессиональным навыкам, или hard skills.

Гибкие навыки сделают лучше нашу жизнь. По крайней мере, так утверждают некоторые бизнес-тренеры.

Скептицизм — профессиональная черта программиста — вы должны сомневаться во всём, отлаживая программу. Переменная называется it_can_not_be_zero? Проверьте! Метод addTwoIntegers складывает два числа? Прочтите код и убедитесь! Без скептицизма поиск ошибок окажется слишком долгим.

Будучи программистом, а, следовательно, и скептиком, я захотел разобраться, важны ли гибкие навыки, можно ли их улучшить, надо ли это делать, и если можно и надо, то как?

Экскурс в историю

Термин soft skills был озвучен в 1972-м году на конференции What are soft skills? профессором Полом Джи. Уитмором. Уитмор в докладе ссылался на методичку Системная инженерия обучения, разработанную в армии США. Профессор определил гибкие навыки, как «важные навыки, связанные с работой, которые подразумевают незначительное взаимодействие с машинами, и применение которых не связано со специализацией».

Уитмор осторожно отметил, что «те рабочие функции, о которых мы знаем много — это профессиональные навыки, а те, о которых мы знаем мало — это гибкие навыки».

Методичка, на которую ссылается Уитмор, предназначена для преподавателей. Она рассказывает о том, как создавать учебные курсы. Её можно найти в интернете, немного обрезанную армейской цензурой. В качестве примера профессионального или специального навыка (hard skill) методичка приводит стенографию.

При оценке навыков разработчики курса должны уделить особое внимание критериям. Что нужно, чтобы удостовериться, что сотрудник овладел стенографией? Максимальная скорость записи? Оказывается, в практическом смысле максимальная скорость не так важна, как средняя скорость за несколько минут. Помимо скорости значение имеет и количество допущенных ошибок.

Для профессионального навыка мы можем разработать критерии соответствия, даже если это не будет тривиальной задачей. Если верить Уитмору, разработка критериев для гибких навыков — задача ещё более трудная. Как измерить умение общаться и этикет?

Подводные камни и доказательства

Мы вступаем на зыбкую почву около-психологических и около-философских рассуждений. Есть большое количество курсов ораторского мастерства и тренингов лидерства, авторы которых скажут, что проблема гибких навыков яйца выеденного не стоит.

Они могут научить человека общаться.

Можно ли им доверять? Я не говорю о мошенничестве — автор курса может добросовестно заблуждаться. Работоспособность по крайней мере двух широко известных психологических методов не подтверждена испытаниями.

Речь идёт о НЛП (доказательства раз, два и три) и соционике (доказательство).

Теория может быть известной, даже модной, она может выглядеть разумной и научной, но в то же время она может не работать. Доверившись ей, мы потратим время и деньги, не получив адекватного результата.

Ещё важнее, что мы можем даже не узнать об отсутствии результата. Вспомним, что говорил профессор Уитмор о критериях для гибких навыков: «Мы плохо представляем, как оценить владение навыком».

Прежде чем доверять бизнес-тренерам, надо убедиться, что они не заблуждаются. Если тема вам интересна, рекомендую посмотреть дискуссию, посвящённую научному и псевдонаучному в психологии. Модератор дискуссии Александр Панчин — биолог, популяризатор науки, член комиссии РАН по борьбе с лженаукой.

Как программисту, мне нравится идея, что эффективность методов должна быть подтверждена исследованиями.

Однако, не будучи учёным, я могу не различать границу между наукой и не-наукой. На что же мне опираться?

Астрология как способ коммуникации

С большой долей вероятности вы уже читали заметки Элизера Юдковского о рациональном мышлении и книгу Даниэля Канемана о когнитивных искажениях.

Они дают нам ключ к решению. Если вы хотите проверить модель — ищите в интернете её опровержения.

Если исследований на заданную тему немного, и вы не можете найти опровержений, вывод о том, что модель работает делать нельзя. Если исследования есть, и они не содержат существенной критики, модель можно применять в качестве рабочей.

Проверим наш подход на примере астрологии. Астрологическая гипотеза заключается в том, что наличие или отсутствие гибких навыков обусловлено датой рождения: вам не нужно особенно стараться, если вы родились в подходящий месяц. А если вы Водолей, Рыбы, Близнецы, Рак, Весы или Дева, можете даже не стараться — у вас всё равно ничего не получится.

Вы без труда найдёте в интернете описание астрологического подхода, и доказательства его работоспособности. Но прежде, чем делать вывод о применимости астрологии, давайте попробуем найти опровержения.

Начнём с поиска критики астрологии в Google. Найдём несколько популярных статей со словами о мнении научного сообщества и убеждении в псевдонаучности. Как бы нам ни хотелось, не станем упрощать себе путь, продолжим поиск исследований.

Хорошим местом для старта является Wikipedia. Несмотря на войну правок и возможную ангажированность статей, высока вероятность найти здесь несколько хороших ссылок. Мы проявим осторожность, и проверим ссылки самостоятельно.

Вот одна из них. Эта статья описывает эксперимент, подтверждающий, что астрология не обладает предсказательной силой в отношении академических способностей.

Проверив несколько таких источников, мы придём к выводу, что астрологической гипотезе доверять нельзя.

Второй пример — модель личности, которая называется Большой пятёркой. Модель утверждает, что для описания личности достаточно пяти шкал (факторов), и предлагает методы измерения характеристик личности на этих шкалах. Мы бы назвали эти методы психологическим тестированием. Детали обсудим позднее, пока попробуем оценить пригодность модели.

Что показывают исследования? Большая пятёрка обладает предсказательной силой. Критика модели существует, но она в первую очередь касается количества факторов. Часть исследователей считает, что в модели не хватает позитивной валентности или правдивости. Другая часть полагает, что количество факторов можно сократить, потому что обнаруживается статистически значимая корреляция между ними. Одно из исследований доказывает, что только экстраверсия, доброжетальность и добросовестность обладают так называемой кросс-культурной устойчивостью, эти три фактора значимы во всех исследованных культурах. Это сравнение проводилось для двенадцати рызных языков.

Основываясь на этих данных, мы можем заключить, что критика большой пятёрки личностных черт существует, но она не опровергает модель по сути. Критики согласны с тем, что личность можно описать несколькими показателями, и спорят только об их количестве.

Мы видим, что истинность модели не абсолютна, и это вполне естественно для научных моделей. Нас в первую очередь интересует работоспособность модели или, говоря иными словами, её предсказательная сила.

Не интеллектом единым

Что мы знаем про гибкие навыки? Джеймс Джей. Хекман и Тим Кауц собрали результаты нескольких исследований и опубликовали метаанализ в статье Hard evidence on soft skills.

Таблица 2 в разделе 2.2 демонстрирует зависимость достижений в 35 лет от когнитивных способностей (IQ) и черт характера. Зависимость между способностями и достижениями существует, но она невелика. Зависимость между характером и достижениями чуть выше. В любом случае, достижения нельзя объяснить только способностями или характером. Если учитывать оба фактора, коэффициент зависимости (детерминации) почти равен сумме первоначальных коэффициентов.

Зависимость достижений от IQ и черт характера (фрагмент)

  Интеллект Характер Вместе
Заработок 0,07 0,05 0,09
Часовая ставка 0,07 0,03 0,08
Число рабочих часов 0,01 0,03 0,04
Судимость 0,03 0,02 0,04
Благосостояние 0,01 0,00 0,01
Семейное положение 0,01 0,05 0,05
Высшее образование 0,12 0,08 0,16

Ниже, в разделе 2.6 авторы пишут, что значимость когнитивных навыков, то есть IQ, возрастает со сложностью работы. Интеллект важнее для профессоров, учёных и менеджеров высшего звена, чем для сотрудников с невысокой квалификацией.

Что это значит для нас, программистов? Принято считать, что мы умные, поскольку наша профессия предполагает получение высшего образования и приличное владение математикой. Однако в индустрии опыт ценится выше формального образования. Для решения части задач досточно средне-специального и даже среднего образования. В России средне-специальное образование по программированию пока недоступно, но за рубежом уже встречается. Средне-специальный программист может получить так называемую степень ассоциата.

В переводе на русский: то, что вы программист, ещё не значит, что вы достаточно умны. А если вы недостаточно умны, надо заниматься развитием гибких навыков.

Как проверить свои когнитивные способности? Вы можете участвовать в публичных программистских соревнованиях — олимпиадах и хакатонах. Вы можете решать задачи на HackerRank и LeetCode. Вы можете отвечать на вопросы со Stack Overflow.

Если на одном из этих сайтов вы попали в верхний квартиль (25% лучших), можете расслабиться. Но даже в этом случае развитие гибких навыков — не такая плохая идея.

Второе соображение в пользу soft skills вытекает из коэффициентов детерминации, которые есть в таблице. Наверяка вы заметили, что они довольно малы. Можно сделать вывод, что интеллект и характер влияют на достижения, но помимо них существуют другие факторы, которыех много. В то же время мы видим, что значения коэффициентов близки, и это значит, что глупо развивать только hard skills, не развивая soft skills. Скажем, хорошо подвешенный язык укорачивает рабочую неделю гораздо сильнее, чем развитый интеллект.

Глокая личность

Так что же такое эта самая личность? Не напоминает ли она глокую куздру, про которую мы не знаем ничего, кроме того, что она будланула бокра и кудрячит бокрёнка?

Хекман и Кауц понимают под жизненными достижениями отсутствие судимостей, размер заработной платы, общее благосостояние, количество рабочих часов, семейный статус, высшее образование.

Вы можете преуспеть по каждому из этих показателей, если помимо интеллекта обладаете ещё и подходящим характером. Что значит подходящим?

Чтобы оценить личностные черты авторы предлагают опираться на большую пятёрку факторов, а именно экстраверсию, доброжетаельность, добросовестность, невротизм и открытость опыту.

Речь идёт о названии шкал, а не о положительных корреляциях. Вывод о том, что болтун с повышенной тревожностью окажется приятным собеседником — немного поспешный.

Но прежде, чем изучать вопрос глубже, давайте убедимся, что понятие личности это не профанация. Что, если никаких личностных черт не существует, а поведение человека зависит в основном от ситуации?

Раздел 2.4 опровергает эти предположения. Эпштейн подтвердил, что люди действуют предсказуемым образом с высоким уровнем достоверности (коэффициент детерменированности 0,6–0,8). Исследования родственников показывают, что показатели личностых черт зависят от наследственности (0,4–0,6): на поведение человека влияет что-то связанное с человеком, а не с ситуацией. Наконец, нейробиологи свидетельствуют, что «местом жительства» разных черт являются конкретные области мозга.

Личностный рост

Повторные тестирования показывают, что личностные качества стабильны, и не меняются от исследования к исследованию.

Не означает ли это, что они не поддаются корректировке?

Нет. В 4-м разделе авторы подводят итоги. Несмотря на стабильность, личностные черты меняются в течение жизни и могут быть усилены образованием, воспитанием и окружащей средой. Возраст помехой не является.

Без всяких дополнительных усилий добросовестность с течением времени увеличивается, а невротизм падает. Впрочем, остаётся вопрос с границами изменений и их внутренним восприятием. Может ли интроверт стать экстравертом? Психолог Кристофер Петерсон рассказывает, что практиковал поведение экстраверта, будучи интровертом. В конечном итоге он вполне комфортно чувствовал себя в общительной ипостаси, хотя всё ещё любил уединение и предпочитал небольшие компании большим.

Дьявол в деталях

Если у вас около двадцати минут свободного времени, вы можете пройти тест 5PFQ и узнать, где ваша личность находится на шкалах большой пятёрки.

К сожалению, это не поможет вам понять, какие личностые черты и как вы должны развивать.

Работодателя интересует ваше умение работать в команде, или ваши лидерские качества, или выразительная письменная речь. На шкалах большой пятёрки ничего этого нет. Даже если там найдётся что-то похожее, ваш показатель по этому признаку скорее всего окажется в пределах нормы. Как и у половины человечества.

Нам нужна конкретика. К сожалению, интернет начинает давать сбой, когда мы пытаемся узнать что-то о гибких навыках программиста. По запросу programmers soft skills Google выдаёт много страниц, но ни одна из них не содержит результаты исследований.

Единственное исследование, которое я нашёл, касается навыков, важных с точки зрения руководителей.

Их десять.

  1. Общение — устная и письменная речь, умение выступать и слушать.
  2. Вежливость — хорошие манеры, знание этикета, в том числе делового этикета. Обходительность, уважительность.
  3. Гибкость — адаптируемость, готовность к изменениям, непрерывное обучение, принятие нового, подстраиваемость, обучаемость.
  4. Целостность — честность, этичность, моральность, наличие ценности, правильность.
  5. Межличностные навыки — приятность, представительность, чувство юмора, дружелюбность, заботливость, чуткость, самоконтроль, терпеливость, общительность, теплота, социальные навыки.
  6. Позитивность — оптимизм, энтузиазм, бодрость, жизнерадостность, уверенность в себе.
  7. Профессионализм — деловой вид, хорошая одежда, приятная внешность, уравновешенность.
  8. Ответственность — предсказуемость, надёжность, доводение дел до конца, находчивость, дисциплинированность, желание преуспеть, добросовестность, здравомыслие.
  9. Командная работа — совместная деятельность, умение ладить с людьми, умение соглашаться, готовность оказать поддержку, полезность, сотрудничество.
  10. Деловая этика — трудолюбие, готовность к работе, лояльность, инициативность, мотивированность, соблюдение сроков, присутствие на рабочем месте.

В этом списке мне нравится его конкретность, и не нравится, что он не адаптирован к нашей профессии. Как сказали в клубе программистов: «непрерывное обучение — наша обязанность». Выносить эту черту в отдельный гибкий навык для программистов может быть и не надо. То же касается и делового внешнего вида — костюмы в индустрии распространены не сильно. Требование «присутствовать на рабочем месте» не соответствует таким модным веяниям, как гибкий график и удалённая работа. Между тем, многие программисты воспринимают их как норму. В конце концов, экстраверсия гораздо важнее для продавцов, чем для программистов.

В любом случае, этот список можно взять за основу, как отправную точку, и адаптировать к профессии программиста.

Первые шаги

Буду нетолерантным. Повторю то, что сказали в клубе программистов: заикание — большая проблема.

Решения этой проблемы мы не знаем. Эффективность методов развития речи нам неизвестна. Единственное, что можно предложить — посещение нескольких специалистов и работа под их руководством.

Впрочем, заикание — крайний случай. Программисты в среднем не очень разговорчивы, но и не более того. Нас интересует, можно ли повысить общительность средне-статистического программиста? Исследований на этот счёт немного, мне удалось найти всего два: Хадсона и Робертса 2014 года и Хадсона и Фрейли 2015 года.

Второе исследование уточняет и продолжает первое, поэтому мы сосредоточимся на нём.

Учёные провели два шестнадцатинедельных эксперимента на группе из ста тридцати пяти студентов.

Они выяснили, что черты характера поддаются целенаправленной коррекции. Что это означает? Обычно показатели на шкалах большой пятёрки «плавают» от исследования к исследованию. Может оказаться, что никакой коррекции не существует, и речь идёт просто о погрешности или влиянии обстоятельств. Чтобы проверить эту гипотезу, учёные попросили студентов заранее определить черты характера, которые те хотели бы изменить, а также величину изменения.

Если бы характер не поддавался коррекции, изменения оказались бы одинаковыми у всей группы. Однако, студенты, которые поставили себе цель повысить или понизить показатель, получали лучшие результаты, и чем сильнее они хотели измениться, тем больше оказались изменения.

Проверка проводилась как на основании субъективной оценки, так и по результатам тестов. Характер действительно поддаётся изменению.

Но насколько сильно? Стоит ли игра свеч? Что удалось сделать студентам за шестнадцать недель?

Лучшие изменяли свои показатели на 0,05 сигмы в месяц, а в среднем речь идёт об изменении на 0,02 сигмы в месяц. Сигма это стандартное отклонение или квадратный корень из дисперсии. Не все помнят теорию вероятностей, поэтому объясню величину изменений на пальцах.

Для примера рассмотрим общительность. На её формирование оказывают влияние наследственность, среда, образование, обстоятельства — множество несвязанных факторов, которые можно считать случайными. Сумма случайных величин даёт нормальное распределение. Больше всего людей будет со средней общительностью, чуть меньше — с небольшими отклонениями от среднего, ещё меньше — с отклонениями чуть выше.

Если мы построим функции, где по горизонтали будем откладывать общительность, а по вертикали — количество людей, то эта функция будет похожа на колокол.

Ширина колокола чуть больше шести сигм. Это значит, что разбив левую или правую половину графика на три части, мы получим одну сигму. Две средние сигмы включают в себя 68,2% населения, следующие за ними — по 13,6% населения. Во все шесть сигм входят 99,4% населения.

Гауссиана

Предположим, что общительность по тесту измеряется от 0 до 15. Это означает, что сигма равна чуть менее 2,5 пунктов, и середина приходится на 7,5. Если вы получили 6 пунктов по шкале общительности, то ваш показатель где-то на расстоянии 0,6 сигм от центра (0,6 = (7,5 - 6)/2,5).

Если вспомнить, что в лучшем случае можно увеличивать показатель на 0,05 сигм в месяц, то, кажется, за двенадцать месяцев удастся поднять его с 6 до 7,5, то есть точно в центр колокола.

Так ли это?

Учёные осторожны в своих выводах: длительных исследований они не проводили. Может оказаться, что для существенного изменения показателей нужно непропорционально больше времени. Или, что кардинальное изменение показателей вообще невозможно, если, например, они зависят от анатомии.

Осторожность в выводах может быть оправдана. Долгое время многолетний психоанализ не считался чем-то неправильным. Однако в 1994 году группа учёных под руководством К. Граве резюмировала: «положительных показаний для долговременного анализа нет, а отрицательные — есть; у пациентов с более выраженной симптоматикой возникает опасность ятрогенных эффектов».

Со всей возможной осторожность, попробуем обратить теорию в практику и сделать полезные выводы.

Для начала пройдём тест 5PFQ или его аналог и посмотрим на результаты. Возможно, вы захотите что-то изменить, например, увеличить или уменьшить показатели по нескольким шкалам. Определите желаемую величину изменений. Как правило вам не нужно перебираться из левого края гауссианы в правый, достаточно оказаться чуть ближе к центру.

Если рассчётное время изменений будет где-то в пределах полугода, года, полутора лет, целесообразно заняться развитием навыка. Три года, пять лет — наверное уже слишком долго.

Развитие навыков не требует сверхусилий, поэтому даже «недосягаемый» показатель можно развивать в фоновом режиме. В то же время, не дожидаясь результата через много лет, можно прямо сейчас искать команду, в которой есть люди с дополнящими навыками.

В соавторстве с Брайаном Керниганом было написано несколько классических книг, и, возможно, они стали классическими благодаря его таланту. Возможно, Деннис Ритчи был очень хорош в разработке языков и операционных систем, но не так хорош в писательстве. Он придумал великий язык программирования, а Брайан Керниган написал о нём великую книгу. У меня нет доказательств этой гипотезы, я всего лишь опираюсь на количество книг, созданных авторами независимо друг от друга. На этом примере я хочу проиллюстрировать, что не обязательно всё делать самому. Для свершения великих дел требуются соратники, и поиск таких соратников — рабочая альтернатива развитию навыков, которое может занять неопределённое время.

Но вернёмся к конкретике. Какие методы можно применять для изменения черт личности?

Исследователи отмечают два. Во-первых, хорошо зарекомендовал себя способ изменения поведения. Если вы сознательно стараетесь вести себя, как экстраверт, то обнаружите рост экстраверсии. Изменения могут касаться поведения (behaviors), ощущений (feelings) и образа мыслей (patterns of thoughts).

Во-вторых, работает изменение восприятия себя (social identity adoptation). Чтобы стать более общительным, надо начать считать себя общительным.

Оба эти метода можно использовать вместе.

За время исследования учёные пытались понять, какая внешняя помощь может быть полезной. Еженедельное «стояние над душой» результатов не приносит, зато помогает навык формулирования конкретных заданий.

В первом исследовании студенты просто постулировали, что им надо стать, например, общительнее. Во втором исследовании учёные подсказали студентам, как ставить конкретные задачи на неделю. Например, вы можете запланировать три разговора с продавцами на кассе или пять раз спросить время у прохожих.

Продолжение следует

В целом, материалы по гибким навыкам и их развитию в сети присутствуют, но найти их непросто. В следующей части я расскажу о результатах обсуждения гибких навыков в клубе программистов.