Эта статья в блоге проекта CircleCI о культуре общения в среде разработчиков ПО неожиданно глубоко срезонировала с моими личными ценностями, и я решил, что лучший способ распространить эти ценности и найти единомышленников — сделать и опубликовать перевод.
Людям необходимо знать моё мнение по разным вопросам. Я не могу просто сказать "пожалуйста, не надо так делать", потому что меня проигнорируют. "В интернете никто не услышит твоей деликатности" [1] — вот моя позиция. И я не хочу ни с кем нянчиться. Это мы тоже проходили: сперва я не даю достаточно ясно понять, что мне не нравится тот или иной подход, люди переписывают много кода, а потом они расстраиваются, когда я не принимаю их работу.
Линус Торвальдс, в рассылке Linux Kernel 15 июля 2013 года (оригинал, англ.)
Я давно подозревал, что точка зрения Линуса преобладает в среде технарей. Поток грубого критиканства в духе "полная лажа!", "у тебя руки не оттуда растут!", "только дебил будет..." льётся в комментариях на Hacker News, в разговорах за кружкой пива после работы, и даже на рабочих совещаниях. Конечно, такое поведение может быть обосновано, когда чёткость позиции и ясность намерений не должны быть принесены в жертву вежливости. Я, однако, думаю, что подобное поведение чаще вызвано тем, что это самый простой способ донести своё мнение до оппонента.
Несколько лет назад я с большим удовольствием прочитал речь, с которой Джефф Безос [2] выступил перед выпускникам Принстона [3] 2010 года (ссылка, англ.). Если вы не читали её, то не пожалейте нескольких минут своего времени. В своей речи Безос упоминает урок, который преподал ему дед во время одного из их ежегодных путешествий через всю страну. "Джефф, однажды ты поймёшь: быть добрым намного сложнее, чем быть умным".
Он продолжает:
Сегодня я расскажу вам о разнице между одарённостью и личным выбором. Если ум — это ваш дар, то доброта — это ваш осознанный выбор. Когда ваш дар уже при вас, пользоваться им легко и приятно и ничего не стоит. Выбор может быть сложным. Если вы не будете осторожны, вы можете увлечься вашей одарённостью, и это повлияет не в лучшую сторону на вашу способность делать выбор. Доброжелательный подход может быть непростым выбором, особенно если у вас плохое настроение, или вы с лёгкостью замечаете у другого человека тривиальные на ваш взгляд ошибки. Куда проще рубануть правду с плеча, не заморачиваясь чужими чувствами и не оставить места двусмысленностям.
Выбрать доброжелательный подход может быть сложно, особенно если у вас плохое настроение, или, благодаря вашей одарённости, вы видите у другого человека ошибку, кажущуюся вам тривиальной. Куда проще рубануть правду с плеча, не заморачиваясь чужими чувствами и не оставив места никаким двусмысленностям.
Поговорим о выборе пути добра.
Я не первый год размышляю об этом. Давайте будем честны с собой: Линус может позволить себе быть таким, какой он есть, и в своём стиле руководить рассылкой Linux Kernel. В конце концов, Linux — проект, невероятно успешный практически в любом аспекте, несмотря на то, что его бесспорно блистательный главный архитектор иногда выходит из себя, забрызгивая всё вокруг.
Если же примерять его аргументацию к большинству остальных из нас, то она быстро теряет привлекательность. Команда, работающая в атмосфере грубого критиканства, теряет сплочённость и боевой дух; расходует лишнее время и силы на негативные эмоции, на восстановление испорченного настроения, на преодоление зазоров в коммуникации из за потери доверия, не говоря уже о том, что люди вынуждены работать в менее человечных условиях, чем могли бы. Кому-то может казаться, что быть прямолинейным проще и экономит время, но в долгосрочной перспективе это экономия на скрепках, приводящая к потерям на всём остальном.
Увы, простое знание факта, что критиканство в среднем ухудшает общий интеграл по команде, не делает переход на светлую сторону проще. Что же поможет нам выбрать путь добра?
Доверие.
Доверие — это мощный инструмент создания культуры доброжелательности по двум причинам:
- Те, кому адресованы советы или критика, уделят должное внимание даже самым тактичным комментариям, зная, что они скорее всего того стоят;
- Те, кто выступают в роли критиков, знают, что им нет нужды повышать голос, чтобы быть услышанными.
В общем-то это всё. Если вы действительно доверяете своим коллегам и уверены, что они не просто так тратят своё и ваше время, вы внимательно выслушиваете их комментарии, и тогда простое "пожалуйста, не надо так делать" (снова цитируя Линуса) будет самым надёжным руководством к действию.
Обдумывая эту статью и работая на ней, я вспоминал комментарии к различным багам и пулл-реквестам [4] у нас в CircleCI, и хочу привести несколько примеров того, о чём только что написал.
Дэниэл ищет способы что-то расширить или сделать более универсальным:
(Было бы здорово положить это в data-поля, чтобы проще переключать отображения в продакшене и делать А/Б-тесты)
Дэвид постоянно помнит о потенциальных проблемах в части инфраструктуры:
(Я думаю, что в какой-то момент это может сломать ограничение на размер списка $in, но мы разберёмся с этой проблемой, когда и если она возникнет)
Аллен часто просит прояснить смысл и назначение изменений:
(Здесь я запутался.
Давай вернёмся на шаг назад и ты объяснишь, чего мы хотим добиться? В какой момент мы должны озаботится разделением на владельца и создателя и случаи форк/не форк?
Кроме того, если github не поменяет API, я определённо уверен, что "владелец" != "имя пользователя" в случае приватных форков. Возьмём, к примеру, NNN, нашего клиента. Мы видели репозитории типа XXXXX, где имя пользователя = YYYYY, а владелец NNN)
У нас в CircleCI каждый сотрудник обладает своим характером и стилем общения по работе, но наша общая черта — корректность и доверие к коллегам. Часть этого доверия зиждется на знании, что коллеги прислушаются к нашим словам без необходимости прибегать к резким выражениям, но ещё бóльшая часть происходит из фундаментального знания о том, что людям свойственно ошибаться. Ошибки бывают мелкими и крупными, но мы верим, что корректнее будет спросить, была ли это случайность или следствие упущенных деталей, нежели по умолчанию предполагать, что коллега по жизни неправ и некомпетентен.
Следует так же упомянуть, что как минимум у нас эта атмосфера доверия имеет серьёзные основания. Каждый человек, работающий в CircleCI, вне зависимости от опыта или специализации, является блестящим специалистом, усердным и внимательным к деталям — проще говоря, заслуживает доверия. Мы делаем всё возможное, чтобы быть уверенными, что нанимаемые нами люди заслуживают доверия, и что они, в свою очередь, смогут доверять остальным.
Конечно, могут существовать ситуации, где подход, который я описал, не сработает, но мы можем по собственному опыту сказать, что он отлично работает для нас, и мы совершенно не планируем в дальнейшем от него отказываться. И между нами: вы правда хотели бы работать в команде, где так мало доверия, что для доброжелательности не остаётся места?
… Я знал, что вы скажете "нет".
Сноски:
[1] Отсылка к тэглайну культового фильма "Чужой" — "В космосе никто не услышит твой крик".
[2] Основатель и глава компании Amazon
[3] Один из старейших и престижнейших университетов США, альма-матер таких знаменитых учёных, как Ричард Фейнман, Джон Нэш и Алан Тьюринг.
[4] предложение о внесении изменений в ПО с открытым кодом, сделанное сторонним разработчиком
Автор: SergeAx