Наверное, все когда-нибудь слышали, что окружающий мир считает программистов странными людьми. С этим можно соглашаться или не соглашаться. Поделюсь своими рассуждениями.
Миф: программисты странные
В прошлом я сам после института более 10 лет работал программистом. Плюс, я наблюдаю окружение вокруг себя – вижу, как растут и меняются программисты среди коллег по работе и в сообществе.
Люди часто говорят, что программисты – асоциальные замкнутые люди, но это не так. Если объективно посмотреть на вещи, все прекрасно знают, что среди программистов много эрудированных людей, которые также ходят в театр и много читают.
Кто-то говорит, что программисты – одиночки. Я знаю очень мало программистов в возрасте 25+, которые были бы одиноки, не имели семьи. Среди моих знакомых такой странности нет.
Но устоявшийся мем существует, откуда-то такое поверье пошло, что программисты – люди странные. Я стал эту мысль развивать.
Поскольку мнение людей сложилось на основании общения с программистами, значит, нужно свои рассуждения строить вокруг процессов коммуникации, нужно разобраться, как программисты строят свое общение с внешним миром.
Я решил проанализировать, какими качествами обладает профессиональный переговорщик, и поискать эти качества у программистов.
10 главных качеств "продвинутого" коммуникатора и есть ли они у программистов?
Я собрал десять главных качеств профессионального коммуникатора, который может общаться с внешним миром на любые темы, участвовать в дебатах, не полезет за словом в карман и может держать удар.
-
Интеллект. Есть ли у программистов интеллект? Вопрос глупый. Естественно, у программистов с интеллектом все хорошо, иначе бы они не смогли выбрать эту профессию.
-
Системное мышление – умение раскладывать все по полочкам. Это как раз то, чем занимаются программисты, декомпозируя свои задачи. Без системного мышления программист не сможет работать.
-
Хороший словарный запас. Здесь мнения могут разойтись. Но я считаю, что программисты – эрудированные люди, поэтому и со словарным запасом у них все хорошо. Причем как с запасом «по Достоевскому», так и «по-народному» у них все прекрасно.
-
Умение сформулировать мысль. Все программисты прекрасно понимают, что могут четко и лаконично сформулировать мысль, которую отражают в программном коде. Если стоит цель – сформулировать мысль, программист вполне себе сможет.
-
Умение использовать факты – с этим тоже все хорошо. Программист оперирует цифрами, делает тесты, понимает, что такое версия и предположение.
-
Умение задавать вопросы. Обсуждая текущие задачи, вопросы задаешь – хочешь или нет. Делаешь это ежедневно на протяжении своей жизни, вырабатываешь навык.
-
Настойчивость в достижении своей цели. Если какой-то программный код не работает, программист начинает его усиленно отлаживать и проявляет терпение, меняя и тестируя код, пока не добьется результатов.
-
Вариативность подхода – это означает, что программист применяет гибкость в решении задач. Когда одна технология не срабатывает, программист меняет ее на другую и методом перебора находит способ решения своей задачи.
Первые восемь пунктов – минимально необходимы, чтобы считать собеседника хорошим коммуникатором.
Умение использовать эмоции и принимать чужую модель мира – важные навыки, но не жизненно важные для программиста, оперирующего своими задачами. Это уже навыки профессиональных переговорщиков, на уровне высшего пилотажа. Они могут в большей или меньшей степени быть у программистов, но их отсутствие не означает, что программисты странные. Большинство менеджеров без этих навыков живут и вполне справляются.
Получается, что программисты обладают всеми необходимыми качествами, которыми обладают профессиональные коммуникаторы. Тогда почему их считают странными? Вот этот вопрос очень интересный. Я долго над ним думал и нашел решение: проблема с одним пунктом, который мы обсудим подробнее. Более того, я даже попробую предложить программистам рецепт, чтобы разбить стереотип о своей странности у окружающих.
Основная проблема у программистов возникает с вариативностью подходов. Это странно, ведь программисты гибко подходят к решению задач. Но в отношении восьмого пункта программисты применяют двойные стандарты, общаясь с компьютерами и людьми.
Чтобы это понять, нужно провести аналогию между общением с компьютером и человеком.
Как программист общается с компьютером
Давайте посмотрим схему работы приложения на примере интерпретатора.
Есть некий код. Программист пишет программный код, посылает его в интерпретатор, который анализирует и выполняет код, и на выходе получается некий результат. Программист смотрит на результат, и если что-то не так – меняет код и снова посылает его в интерпретатор.
Так он делает множество итераций, не ленится, а проявляет все качества профессионального коммуникатора в лучшем виде. У него есть стремление к цели. Он пытается ее достичь любым способом – проявляет и вариативность, и интеллект, и системное мышление.
Он может это делать несколько дней подряд, и может даже не ложиться спать, пока не добьется результата и не поймет, почему код не работает.
Как программист общается с человеком
Но что происходит, когда программист начинает общаться с человеком? Можно провести аналогию.
Коммуникация – когда один субъект посылает некую информацию в голову другому субъекту. Мозг пытается расшифровать полученные данные и выдать некий результат.
Если мы вспомним, как программист разрабатывает код: выполняет множество итераций, пока не достигнет нужного результата.
Но в общении с людьми у программиста включается двойной стандарт: не срабатывает вариативность на множество итераций.
Программист что-то говорит собеседнику, ожидая, что собеседник переварит информацию и подумает так же, как и автор послания. Но если этого не происходит, то у части программистов после первого послания возникает в голове вот такая картинка.
Программист видит перед собой обезьянку. Если программист сказал, а собеседник не понял, особенно если это пользователь на техподдержке, – повторять бессмысленно.
Другие программисты на этом не останавливаются и считают, что из обезьянки нужно сделать человека. Либо наказать, либо вылечить. Появляется вмешательство извне, и программисты начинают «лечить» собеседнику мозг.
Все мы знаем, насколько программисты изобретательны в отношении наказаний пользователей: от шуток и мемов до издевательств в программном коде. Но итерационность по-прежнему отсутствует как класс, потому что в этом стремлении «вылечить» мозг, об изначальной цели коммуникации программисты забывают.
Это такой пример, из-за которого многие люди недолюбливают программистов и не могут с ними общаться.
Причины коммуникативного провала
Почему так происходит? Почему существует эта неполная аналогия между общением с компьютером и человеком? Ведь программисту ничто не мешает, у него есть все навыки для этого.
Однозначного ответа нет, но я думаю, что:
-
Отчасти возможна профессиональная деформация, поскольку большую часть жизни специалист работает с компьютером и программами, чем с человеком. Он стремится минимизировать контакты с внешним миром, чтобы осталось больше времени на выполнение задач.
-
А еще не всем это нужно. Есть люди, которым комфортно в таких условиях, и им все равно, как относится к ним внешний мир.
Но кто-то ощущает на себе влияние странного восприятия и хочет его изменить.
Чтобы люди не считали вас странными – проводите аналогию с интерпретатором, когда чувствуете в диалоге некоторое непонимание. Если вас не понимают с первого раза, то скорее всего проблема не в собеседнике. Попробуйте поменять слова, поменять «код взаимодействия» с мозгом собеседника, чтобы достичь результата коммуникации.
Это не очень сложно. Спикеры на Infostart Event – хороший пример того, что из программиста очень просто сделать эффективного коммуникатора и хорошего переговорщика.
У нас на первой конференции было опасение, что программисты замкнутые, не умеют разговаривать и доносить свою мысль, но оказалось, что это не так, люди очень быстро адаптируются.
Мы выяснили, что программисты обладают практически всеми навыками хороших коммуникаторов, они умеют выступать на публике, общаться и доносить свою мысль. Но это либо нужно программисту, либо не нужно.
Как развеивать мифы
Для чего вообще программисту нужно бороться со стереотипами и развивать коммуникативные навыки?
-
Во-первых, это командная работа. В одиночку большие задачи не делаются, и даже внутри узкой команды нужно уметь общаться. Чем лучше вы общаетесь – тем лучше делаете работу. Обсуждаете документацию.
-
Решение текущих задач, обсуждение документации. Здесь в том числе нужны и навыки письменного общения, когда письменную информацию нужно воспринимать, обсуждать, уметь задавать вопросы.
-
Конечно же, для карьеры. Можно ведь быть гениальным программистом, но сидеть в замкнутом пространстве, где никто о тебе не узнает. Чтобы понравиться потенциальным работодателям, нужно развивать коммуникационные навыки.
-
Ну и в личной жизни это тоже имеет значение.
Как можно развивать коммуникационные навыки в обычной жизни без специального обучения? На тренинги часто времени нет, а решать задачу коммуникации хочется в работе.
-
Самый сильный инструмент для прокачки коммуникации – выступления на конференциях. Мы наблюдаем, что люди, которые регулярно принимают участие в Infostart Event в качестве докладчиков, растут на глазах и в профессиональном, и в карьерном уровне.
-
Формат митингов. Есть теория: когда разрабатывали технологии гибких методик управлении, закладывали в них и такую цель, чтобы поднять программистов из-за компьютера и заставить их общаться между собой. Даже если это краткая ежедневная коммуникация, человек стремится внятно сформулировать мысли и донести их до коллег, чтобы решить задачу.
-
Общение на профессиональных форумах помогает, если у программиста есть сложности с формулированием вопросов. Можно перефразировать входящий вопрос, отвечать людям, находить решение проблем. Есть такой термин – конструктивное письменное общение, оно здесь хорошо прокачивается.
-
Участие в проектах. Когда программист выходит во внешний мир и начинает общаться напрямую, в том числе и с пользователями. При таком общении во всей красе здесь можно прокачать коммуникации.
-
Написание статей, изложение мыслей. Умение делиться своими соображениями, перекладывать их в письменную форму. Писать можно где угодно, в том числе на Инфостарте. Опять же вы увидите. что большинство спикеров на нашей конференции когда-то начинали со статей. На тот момент их никто не знал, но сейчас они уже у всех на слуху.
-
Различного рода коллективные игры, корпоративы. Старайтесь не отсиживаться скромно на стульчике, а участвовать и меньше стесняться. Настольные игры, которые требуют устного общения.
В заключение хочу сказать, что двойные стандарты в отношении вариативности между компьютером и человеком – основная причина, по которой программистов считают странными. Если человек вас не понимает – попробуйте не замыкаться, а подобрать другие слова и понаблюдать за результатом.
*************
Данная статья написана по итогам доклада (видео), прочитанного на INFOSTART MEETUP Ekaterinburg.Online.