Хороший программист ленив и туп?
Пару лет назад мне на глаза попалась статьяо том, почему хороший программист должен быть одновременно ленивым и тупым. «Ох уж эти янки. Придумают заголовок — а там чушь сплошная» — подумал я тогда. Но через некоторое время я и сам стал замечать, что иногда толковые программисты и правда говорят как роботы. Вначале это даже раздражало — человеку вроде бы задают обычный вопрос, а он прикидывается шлангом и вместо того, чтобы ответить сразу, начинает задавать ряд совершенно идиотских уточняющих вопросов. Когда-то мне такие диалоги казались форменным издевательством:
— Слушай, а какой у нас вызывается метод, когда приходит уведомление об отправке сообщения?
— Какой отправки?
— Успешной отправки сообщения.
— Какое уведомление?
— О том, что все хорошо. С кодом «200».
— Что значит «все хорошо»?
— Ну, когда приходит уведомление с кодом «200» и сообщение доставлено получателю.
— Почему ты думаешь, что должен вызываться какой-либо метод?
— Кто-то же должен триггерить ивент.
— Какой ивент?
И так далее.
Учиться общению нужно у военных
Когда в разговоре участвует, скажем, один сеньор и один джун, то происходит невероятное: «умный» сеньор задает глупые вопросы, тогда как джун, наоборот, пытается задавать сложные вопросы и так же сложно отвечать. Хотя сторонний наблюдатель ожидал бы увидеть совсем другую картину.
А вот разговор двух сеньоров больше похож на диалог роботов. В этих битвах не бывает выигравших или проигравших, потому что цель андроидов — не довести оппонента до кипения, но максимально точно определить проблему и донести собеседнику ключевую информацию. Эти формальные, иногда сухие и порой совершенно безэмоциональные диалоги напоминают общение летчика с диспетчером:
Борисполь-Руление, AUI001, предполетная проверка.
AUI001, Борисполь-Руление, слышимость 5.
AUI001, слышимость 5, до связи.
В реальной жизни это было бы похоже на:
Жена, Муж, предужинная проверка.
Муж, Жена, борщ 5.
Жена, борщ 5, до связи.
Вот и поговорили. Сухо, без эмоций, зато передает всю суть и не оставляет места двусмысленным толкованиям.
Перенимаем опыт
Если пойти дальше — в степь военных, для которых передача данных — вопрос жизни и смерти, то можно отметить два принципа:
1) Принцип дублирования информации. Необходим тогда, когда передающий не уверен в том, что его услышали. Например, в доктрине армии США четко прописантакой момент:
«Вы должны всегда повторять миссию дважды, чтобы любой из тех солдат, кто невнимательно слушал, имел шанс узнать о том, что ему предстоит делать.»
2) Принцип дополнительной информации, согласно которому следует выбирать такие конструкции и слова, которые исключат неверное толкование сообщения. Например, в той же гражданской авиации США есть список слов, призванных улучшить голосовую связь:
Вместо короткого «Yes» употребляется более различимое «Affirmative». Вместо бубнящего «No» используется более четкое «Negative». Много лишних букв, зато меньше шансов для недопонимания.
Насколько мне известно, в СССР у летчиков был также свой способ произносить числа — более членораздельный, чем привычная бытовая речь:
Вместо «пятьсот» требовалось говорить «пять сотен», вместо «тридцать» — «три десятка».
В армии США, опять-таки, никто не говорит «11 часов», но говорят «eleven hundred hours» (1100). Точно так же никто не говорит «три часа». Вместо этого говорят «zero three hundred hours» (0300). Лишняя информация? Возможно. Допускает ли такая подача двусмысленное толкование? Никак нет.
Оглянувшись вокруг, приходишь к выводу, что многие люди уделяют слишком мало внимания тому, что и как они говорят. Неспособность выражать свои мысли, а также неумение слушать и в ключевых местах задавать «глупые» вопросы, приводит к возникновению недопонимания (aka. miscommunication) — главной причины большинства человеческих конфликтов.
Пример из жизни
За участие в политической массовке студенту пообещали
«Вилка» — это один из тех способов манипуляции, которые строятся на недоразумении и готовности человека впасть в самообман. Если бы студент задавал правильные вопросы, то не оказался бы разочарованным.
Бытовые конфликты: когда виноваты все
Молча передавая водителю маршрутки 20 гривен, вы заставляете его думать, нарушая одну из краеугольных заповедей юзабилити — «Don’t make me think». Теперь ему нужно считать пассажиров и проводить вычисления. Возможно, потребуется учесть и то, что парень, передающий двадцатку, вошел с девушкой. «Они вместе? Тогда я должен посчитать за двоих». Но по факту оказывается, что эту двадцатку передал кто-то другой, в результате чего водитель выдает неправильную сдачу, парень начинает злиться, идет цепная реакция негатива. Хотя, замешано всё было на недопонимании и виноваты оказались абсолютно все: Парень, который не уточнил, за скольких он платит; водитель, который не удосужился переспросить; и тот пассажир в глубине салона, который просил парня передать двадцатку, но не проявил должной конкретики. Guilty!
Именно этого недопонимания и пытаются избежать программисты в своих безэмоциональных диалогах. Так что не стоит на них обижаться за излишнюю сухость. Этому умению, которое основывается на любознательном детском «почему?», есть смысл поучиться. Может, стоит также вернуть в школы уроки логики? Тогда удастся наконец повысить качество общения и пресечь многие сопутствующие проблемы, которые ежедневно усложняют нам жизнь.
Что касается недопонимания в переписке и к чему оно приводит, то это отдельная, не менее интересная тема, о которой поговорим в следующий раз.