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

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

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


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

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

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


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


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


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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

Бизнес-общение всё же часто формализовано. Если есть процесс, и он всех устраивает, то и замечательно. Но истории бывают разные. В книжке приводится пример, как испанка (где тоже критика достаточно прямая) переехала в США, и там начальник дал ей обратную связь. Сам он считал (и хотел сказать), что она вообще не справляется. Испанка же считала, что её еще никогда в жизни так не хвалили :)) А всё из-за стандартного американского приёма "говорить три позитивные вещи на одну негативную".

показать ответы
40
Автор поста оценил этот комментарий
Я хоть и не имею богатого опыта общения с иностранцами, однако мне все больше кажется, что по сравнению с ними у нас, русских, сильно преобладает негативное мышление. То есть мы в первую очередь обращаем внимание на недостатки.
раскрыть ветку (1)
42
Автор поста оценил этот комментарий

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

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

Интересно, если бы Вы стали с американским коллегой обсуждать тему, поднятую в посте, насколько бы он с Вами согласился)

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

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

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

Забавная диаграмма, почти со всем согласен. Румыны почему-то удостоились отдельного кружка oO


Что US / UK низко контекстные - не соглашусь. Только у англиков видел: "I appreciate your effort" на деле может означать "Твой код полная фигня, кроме как за факт траты усилий хвалить больше не за что"

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

Полагаю, это фирменная британская ирония, когда замечание типа "очень интересная идея" означает, что идея полный бред :)

4
Автор поста оценил этот комментарий
Кажется, в первом ряду речь не про совсем про намеки, а про то, насколько нужно быть в контексте происходящего, чтобы понимать, чего от тебя хотят в задаче/работе
раскрыть ветку (1)
11
Автор поста оценил этот комментарий

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

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

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

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

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

Предпросмотр
YouTube48:41
13
Автор поста оценил этот комментарий

В какой стороне легендарные индусские кодеры?

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

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

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

В процессе изучения этого вопроса я нашел книгу Эрин Мейер “Карта культурных различий”. Она уже упоминалась на хабре.


То есть данный пост взят с хабра? Иначе зачем здесь это упоминание?

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

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

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

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

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

Да, такое бывает. Говорят, если сильно отличаешься от принятых норм, бывает реально комфортнее переехать в другую страну, которая ближе. Но, конечно, в ней тоже можно нарваться на нестандартных личностей ))

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

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

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

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

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

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

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

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

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

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

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


Ошибка в переводе.

“from the first principles” это вывод частных случаев из компактного базиса, а “holistic approach” это взгляд на проблему в целом, причем именно на всю целиком а не на частные случаи.


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

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

Нет, дело в том, что там на одной оси смешаны два измерения, которые в книге опять же раскрыты подробнее. То есть, там два противопоставления Specific (конкретное) - Holistic (целостное/общесистемное) и Principles First (сначала принципы) - Applications First (сначала применения).

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

Получается в моей команде слишком много тайных шпионов из США

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

Срочно сообщите куда следует!

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

Это и называется, культурные различия.

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


«Петров, опять напартачил с отчётом! Я же говорил, сразу распечатывай в двух экземплярах. В двух!»


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

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

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

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

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

К чему пришли в ходе обсуждений?

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

В общем, я спросил товарища, что он думает, но особого обсуждения не вышло, он сказал, что он не очень типичный американец, типа говорит прямо и не очень практичен. Я отметил, что его замечания были предельно практичны, он поржал, и на этом всё :)

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

А такая табличка на русском есть?

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

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

7
Автор поста оценил этот комментарий
А там есть что-нибудь про логику индусов "не выполнять поставленную им задачу в надежде что само рассосётся"?
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

В армии, говорят, есть поговорка: "Не надо торопиться выполнять приказ, так как может последовать его отмена"

2
Автор поста оценил этот комментарий
Так вот почему если я пишу рядовому сотруднику, он не чешется, но стоит написать его начальнику, задача сразу же начинает решаться.
А что насчёт того, что индус вместо выполнения задачи начинает меня убеждать что может мне это не нужно, может мне лучше отменить задачу, что он все равно не знает как ее решить и все такое? Это тоже потому что я не брахман? )
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

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

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

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

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

Спасибо, что беспокоишься о моей нелёгкой судьбе, но всё не так печально. Я давно в професии, и могу выбирать, где работать, это не самое плохое место, инфа 100%

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

Есть такое)) Из последнего на работе - старший коллега меня спросил - не желаешь ли сделать то и это. Я была занята чем-то другим и сказала нет, делаю другое)) Он воспринял это как жёсткий посыл, а я очень удивилась - сказал бы прямо - сделай это, я бы сделала.

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

Хех, да, у британцев и американцев фраза "would you like to do this and that" означает по сути "бросай всё и делай что я говорю" :)

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

А вот это очень интересно.

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

Спасибо. )

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

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

В нашей культуре хамство легко перекрывается другими достоинствами

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

Я всё же считаю, что даже если человек может пережить хамство начальника, это плохая практика, так как потом сотрудник скажет: "Я вам благодарен за опыт, но работать с вами больше не хочу, успехов!".

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

Вообще изначально надо понимать суть проекта. Если проект терпит по времени, то можно продумать над принципами и архитектурой. Если высококонкурентный, то надо занять нишу, создать проект с функционалом и продать быстро, а потом доделывать. Можно выбрать архитектуру из стандартных, паттерны, выбрать движок, языки, технологии и инструменты, набрать команду и начать программировать в стиле экстремального программирования или devops ci/cd. Но для ci/cd нужен девопс инженер с опытом и команда с опытом. Для экстремального программирования уровень ниже.

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

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

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

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

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

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

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

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

Ты частично прав, но...

Я не до конца согласен...

Возможно тут лучше так, что думаешь?

Только вот в хороших технических компаниях в РФ тоже говорят это все в мягкой форме.


А вот разработчиков которые начинали загоняться на тему архитектуры и писать излишний код там где это ну прям вообще не нужно я встречал много :)

У тебя метод используется только в одном месте и предпосылок в других местах даже нет, дак зачем создавать отдельный класс/чистую функцию и архитектурно её отделять за абстракциями? С современными методами и тулзами для рефракторинга это можно сделать в любой момент

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

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

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

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

ООО, спасиьо за этот пост. Вв тут выразили словами (и ссылкой на книгу), что я за четыре года в другой стране осознать не смогла 🤩

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

Рад, что пост оказался полезным, спасибо :)

Автор поста оценил этот комментарий
А где вы взяли данную диаграмму? Есть ссылка на источник?)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Есть онлайн-инструмент https://erinmeyer.com/tools/culture-map-premium/ но он платный. Как я понимаю, схема кем-то получена с его помощью, и опубликована. Там можно выбрать любой набор стран из тех, по которым есть информация. По-моему, я взял её из поста на linkedin.

показать ответы