Столкновение культур на код-ревью, Россия против США

Пожалуй, заголовок слишком драматичен, на самом деле имел место небольшой спор на код-ревью, в котором мы с коллегой из США обсуждали выбранный мной подход. Обычно дело, так ведь? В процессе обсуждения меня постоянно раздражало, что коллега переводит разговор на какие-то детали, и как будто не слышит, что я говорю. Я объяснял, что моё решение концептуально лучше, изолирует логику от данных, и делает функцию чистой. Но вместо того, чтобы опровергать мою концепцию, или выдвигать свою альтернативную, коллега указывал на конкретные куски кода со словами: “во тут, тут и тут мы просто можем воткнуть уже имеющееся решение и всё заработает”. Я ему про Фому, а он мне про Ерёму!

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


Обратите внимание на последнюю строку, подход к убеждению (Persuading).

Столкновение культур на код-ревью, Россия против США Программирование, Культура, Россия, США, Межкультурные коммуникации

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


Раньше я думал, что все инженеры-программисты имеют общий научный бэкграунд (хоть я и бросил университет в свое время) и стремятся писать максимально хороший код, поэтому, при соблюдении элементарной вежливости и логики, любая дискуссия обязательно будет конструктивной. По моему опыту, это до некоторой степени справедливо, и, общаясь с программистами из разных стран, я определенно чувствовал, что у нас много общего, но хватало и исключений.


В процессе изучения этого вопроса я нашел книгу Эрин Мейер “Карта культурных различий”. Я прочёл её, и могу с уверенностью рекомендовать, если вам интересно, что же конкретно означают все эти оси сравнений на схеме выше. Что-то более-менее “очевидно”, многие слышали про японскую вежливость и немецкую пунктуальность, но лично для меня было и несколько неожиданных наблюдений. Какие-то черты собственной культуры кажутся обычными и единственно возможными, но только пока их не сравниваешь с другими. Конечно, открытие в духе “интроверт вдруг заметил, как взаимодействуют люди”, но, например, я не осознавал, что русский стиль коммуникации довольно “высоко-контекстный”, и многое передаётся “между строк”, намёками и аллегориями. Возможно, поэтому в Германии не задаётся общение с местными (а немцы на схеме выше обозначены как люди, говорящие прямо и конкретно), оно кажется каким-то пресным. Я списывал это на языковой барьер и собственную нелюдимость, но, вероятно, в этом есть и культурный аспект.


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

Лига программистов

1.5K постов11.4K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

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

Вы смотрите срез комментариев. Показать все
177
Автор поста оценил этот комментарий

Я б ещё на шкалу confrontational обратил внимание. Русские у края "прямой конфликт"  и это охренительно важно в общении. Зачастую позиция американца или тем более канадца это "чувак, смотри, вот плюсы в пользу моего решения". Позиция русского "я с тобой не согласен, и вот почему". Для американца прямое несогласие это скорее эскалация конфликта. Лучше обмениваться сильными/слабыми сторонами, не высказывая прямого несогласия и критики чужих аргументов. Не "твоё решение не подходит", а "смотри какой плюс у меня есть". И в целом приучить себя к тому что у некоторых культур акцент на положительных чертах и оптимистичном взгляде, в то время как наши(и немцы) скорее пессимистичны и сконцентрированы на минусах.


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


И да, интересное наблюдение, американские китайцы в некоторые вопросах скорее китайцы чем американцы.

раскрыть ветку (36)
66
Автор поста оценил этот комментарий

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

Но тут, думаю, играла роль "иерархичность" нашей культуры. Коллегу покритиковать можно, а вот начальника уже как-то неудобно. Как минимум, не все начальники такое поймут, особенно за пределами IT.

раскрыть ветку (19)
78
Автор поста оценил этот комментарий

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

раскрыть ветку (11)
67
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
57
Автор поста оценил этот комментарий

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

21
Автор поста оценил этот комментарий
Этот подход основан 5а негативе, а американский на позитиве. А на позитиве всегда легче общаться. Вот в чем суть. Хотя мне тоже больше нравится русский подход - прямота. Но с возрастом понимаю, что он через чур негативный. В общем истина всегда где-то посредине. Золотая середина.
В моем понимании это так - смотри можно сделать лучше вот так и так, пожтому предлагаю это и это заменить на то.
Самое интересное, что понять подход это даже не пол дела. Потому что воспитание с детства идёт и использовать подход зачастую сложно, понимаешь что ты сказал не то уже постфактум.
раскрыть ветку (2)
5
Автор поста оценил этот комментарий

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


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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Именно!
12
Автор поста оценил этот комментарий

Я согласен, что открытая критика, хоть и неприятна, но помогает исправить что-то в работе или поведении. Но это если мы можем отделить личность от рабочей деятельности и личные отношения от рабочих. А во многих культурах это не так, и надо быть аккуратнее. Плюс таких отношений в том, что ты не становишься чужим, как только уволился или как только закончился совместный проект.

раскрыть ветку (3)
5
DELETED
Автор поста оценил этот комментарий

Нехуй. Пусть многие культуры учитывают особенности нашей культуры в том числе, а то доиграемся в одни ворота. Я не буду начинать разговор с "этот код писал профнепригодный", а ты потрудись объяснить почему ты так сделал исходя из поставленной задачи, а не куска говнокода десятилетней давности.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Пусть многие культуры учитывают особенности нашей культуры

они и так учитывают в том, что поставили россиян на 2 место в рейтинге по уровню хамла и грубиянов.

1
Автор поста оценил этот комментарий

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

И человек тут же понимает, ага, здесь косяк, то есть не нужен поток прямого негатива

2
Автор поста оценил этот комментарий

Нет. Есть исследования, по которым люди не слышат критику. Поэтому в начале хвалим - те открываем уши и сердце собеседника. А потом говорим что улучшить.

Хотя у нас в целом культура токсичная и очень сложно по-другому общаться.

ещё комментарий
13
Автор поста оценил этот комментарий
Знаю я одного бестактного инженера
Иллюстрация к комментарию
раскрыть ветку (2)
4
Автор поста оценил этот комментарий

софт*

раскрыть ветку (1)
Автор поста оценил этот комментарий
В курсе. Но речь выше шла про код
17
Автор поста оценил этот комментарий

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


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


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

раскрыть ветку (3)
4
Автор поста оценил этот комментарий

Да сейчас не 80-90-е, о каких проблемах социализации программистов вы говорите? Сейчас крестовики уже мегачедами стали. Времена диоптрий на +15 и растянутых свитеров прошли.

раскрыть ветку (2)
8
Автор поста оценил этот комментарий

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


Например:

https://www.embeddedrelated.com/showarticle/741.php


Это и есть проблема социализации. Человек начинает слишком ценить правила, и получается такой социальный юродивый, к которому переводчика надо.


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


Вот то же, блин, самое. Никуда оно не делось.

Автор поста оценил этот комментарий

Прошли?! Да у нас в фирме их целый этаж! Еще и пахнут...

10
Автор поста оценил этот комментарий
Меня начальница как-то просила важные письма, которые я пишу, сначала показывать ей, потому что я не очень умею в деловую переписку и мои письма выглядят как оскорбление, хотя на самом деле я очень добрый человек и никогда никого не оскорбляю (особенно в деловой переписке) а просто при обсуждении проблемы концентрируюсь на минусах и "почему это не сработает".
Я для себя прям открытие сейчас сделала что надо концентрироваться на плюсах и мои письма перестанут расценивать как оскорбление )
раскрыть ветку (4)
15
Автор поста оценил этот комментарий

Письмо:

Многоуважаемые долбаёбы...

3
Автор поста оценил этот комментарий

А что делать если плюсов нет вообще?)

Начинать с "Ты такой огромный молодец, что сделал эту работу, но она полное говно"? Или как в таких ситуациях писать письма?)

раскрыть ветку (2)
Автор поста оценил этот комментарий
В таких ситуациях видимо остаётся только писать письма, похожие на оскорбления ))
Автор поста оценил этот комментарий

"...и если вот тут вот поменять на что-то более оптимальное, и тут, и тут. То станет вообще хорошо. "


В целом посыл тот же - переделать нахуй - но шансов обидеться меньше.

6
Автор поста оценил этот комментарий

Хз, работал с канадцами, будучи джуном. На ревью дрочили - будьте-извольте, но никогда не допускали грубости, просто писали, что и почему нужно исправить. Ревью с моим русским лидом обычно начиналось со слов "это говно работать не будет". Не смотря на довольно грубый подход моего лмда, я ему очень благодарен за опыт. Он меня, кстати, потом называл настоящим программистом и все время работы там протектировал.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Да нормальный подход. Если код говно, то как это не скрывай, он говном и останется.
Самое главное, чтобы говеность кода не заключалась в том, что он просто не нравится ревьюеру
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну, в большинстве случаев я защищал реквест.
15
Автор поста оценил этот комментарий

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

4
DELETED
Автор поста оценил этот комментарий

Какие-то двойные стандарты) Тебя отругать можно, а письмо, в котором ты аргументированно объясняешь коллеге что он неправ, написать нельзя?)

3
Автор поста оценил этот комментарий

Им надо – пусть они себя и приучают! Друг, я тебя априори уважаю и отношусь доброжелательно, но вот в этом вопросе я с тобой не согласен.


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

Но если несогласен, то честно сказать, что


«ну не согласен я, Джон. Дурак ты, Джон, потому что американец, но ты свой американец, поэтому давай покажу, как правильно. Решение твоё, Джон, хорошее вот здесь и вот тут, но делать мы будем всё равно вот так, по той и этой причине. Если ты не понимаешь этих причин – нажми 1 и жди ответа давай запланируем вечером после коммита 5-10 минут на ликбез. Если я чего-то не понимаю, аналогично, сможешь мне пояснить и обдумаем.»

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Про это кстати тоже подумал.

Ну, подождёмс.

В жизни оно по разному бывает.

1
Автор поста оценил этот комментарий

При этом американцы умеют очень твёрдо стоять на своём и гнуть свою линию. Это не индусы, например, которые согласятся на всё, лишь бы не было «спора».


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

1
Автор поста оценил этот комментарий

Оно там есть. Disagreeing, Evaluating.

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку