Пост-ответ на статью "Иди-ка ты на !@# со своей "токсичностью"".
Если бы я последовал советам из этой статьи, мне достаточно было бы проявить эмоцию и сказать автору "Иди-ка ты сам на ..., ты ничего не понимаешь!".
Однако это не помогло бы донести мою мысль. Поэтому давайте разберем поподробнее.
Цитата 1:
Если человек некомпетентен, надо дать ему об этом явно понять, а не беречь его нежные чувства в ущерб всем остальным.
Не согласен с основой этого высказывания. Я считаю, что человек не может быть компетентен или некомпетентен. Такой обобщающий черно-белый подход на практике не работает. Даже самый прокачанный senior может не знать каких-то вещей. И наоборот, у джуниоров иногда проскакивают отличные идеи.
Переходить на личности ("ты не компетентен!") на код ревью вместо конкретных аргументов — это слишком просто. Если ты такой умный senior, потрудись, объясни почему именно в этом месте кода всё должно быть иначе. Не можешь объяснить — лучше не пиши ничего, потому что возможно и сам не понимаешь до конца.
При этом говорить о конкретных проблемах в коде конечно надо.
Нормальный человек рад обсудить аргументированную позицию. И воспримет в штыки негативные эмоции. Кто вообще захочет работать с токсичным членом команды?
Цитата 2:
Человек может раз за разом отправлять вам на ревью код с одними и теми же ошибками и надо отвечать на это вежливостью и улыбкой?
Если человек совершает ошибки раз за разом и не пытается как-то расти, то его надо увольнять. Поговорите с тимлидом на этот счет. Но истерить не надо всё равно. Ну, просто потому, что это не поможет.
Негативные эмоции могут породить только негативные эмоции. А ошибки в коде это никак не исправит.
Цитата 3:
Чем больше ответственность в профессии, тем больше должна быть стрессоустойчивость.
Я работал с продакшен окружением и, бывало, чинил по ночам какие-то проблемы. Зачастую, это был стресс (особенно когда возглавляешь тех отдел и отвечаешь за весь этот колхоз).
И хочу со всей ответственностью заявить: никто не любит стрессы, даже если способен их выдержать. Всегда все стараются сделать так, чтобы стрессов было меньше.
Например:
- настроить мониторинг, своевременный алерт от серверов, что есть какие-то проблемы
- код проверить автоматическим и ручным тестированием
- бекапы баз данных проверить на восстанавливаемость
- и т.д.
Короче, уменьшаем потенциальные проблемы как только можем.
Т.е. стресс — это плохо вообще-то. Даже для самых "стрессоустойчивых" людей.
Как раз-таки человек, который не любит стрессы, скорее всего сделает всё правильно, всё перепроверит, подстелит соломку и не допустит фатальных ошибок.
Цитата 4:
Несомненно, оскорблять коллегу из за недостатка знаний недопустимо, но очевидный формат «Твой код плохой, я сейчас подробно изложу причины и дам советы» уже считается токсичным поведением.
Ну да, так и есть. "Твой код плохой" — имхо бессмысленная фраза, можно было бы сразу начать с советов, а еще лучше уточняющих вопросов, почему было сделано так, а не иначе.
Послесловие
Стресс мешает работоспособности. Когда сотрудник боится отдать код на ревью, он не будет работать с энтузиазмом, не будет генерировать идеи, не будет лоялен к компании и т.д.
Легко гуглятся исследования, которые показывают, что при превышении некоторого уровня стресса, работоспособность резко снижается.
Вообще, вежливость при работе в группе придумана не сейчас, еще задолго до того, как код ревью и программирование вообще стало модным. Куча статей про "teamwork skills", не относящихся к IT никаким боком.
Лучшие идеи рождаются в благоприятной атмосфере.
Возьмите, например, правила мозгового штурма: сначала все накидывают идеи, и критиковать их вообще нельзя. И лишь потом идет подробное обсуждение.
Ну то есть, мы все люди. Люди не любят, когда кто-то указывает на их ошибки. Даже самое корректное код ревью зачастую выглядит как публичная порка. Ну так не надо усугублять!
В тех командах, где я был тимлидом, я вводил небооьшой code of conduct для code review (еще до того, как это стадо модным). А именно: вежливость, запрет на приказной тон, запрет на обсуждение личных качеств, допустимы только аргументированные комментарии и т.д. В спорных ситуациях решает большинство.
Кстати, именно большинство, а не тимлид/техлид. Так как читабельность кода и прочие штуки — это важно для всей команды, именно команда будет работать с этим кодом в дальнейшем. А не тот, кто считает себя самым умным.
Эти простые меры существенно улучшили атмосферу в команде.
Почему вообще сейчас все заговорили о CoC и teamwork? Потому что в целом время гениев-одиночек проходит. Сплоченная команда за счет синергии решит любую задачу. Поговорил с одним, поговорил с другим — и пол задачи решено. Soft skills становятся важнее и важнее с каждым днём.
Есть люди, которые никогда не работали в сплоченной команде, и не представляют, какой это кайф.
Да собственно что я тут распинаюсь, иди-ка ты сам на...
(P.S. смайлик в конце последней фразы убрали модераторы. Никого не хочу оскорбить, это просто шутка )
Комментарии (365)
Intrinit
14.12.2018 11:39-2как можно быть изнеженным разрабом? неужто вы ни разу на фрилансе не работали? не материли неадекватного заказчика, вытягивая из него честно заработанные деньги? не прое**вались с проектами и кормили завтраками клиента?
все что написанно выше — лабораторные условия какого нибудь мегапроекта «а-ля гугл»
для коммерческой организации кодер — это не человек который пишет код. кодер — человек который при помощи кода генерирует бабло(да, в этом есть разница)! кодер не должен быть «чувствительно-эмоциональным», у него должны быть яйца.TheKnight
14.12.2018 11:48Чисто для статистики: Я ни разу не работал на фрилансе. Как раз из-за описанных выше причин о взаимодействиях с заказчиком.
yefrem
14.12.2018 12:51+6зачем работать в атмосфере постоянной борьбы и конфликтов, если можно в ней не работать? Благо у программистов есть возможность выбирать. Даже на фрилансе (но не сразу, да).
balsoft
14.12.2018 15:54должны быть яйца
С вашего лёгкого словца все люди без яиц (~50% населения планеты Земля) признаны неспособными кодить. Вот это — настоящий сексизм.
bro-dev0
15.12.2018 16:01Какой смысл заказчику платить если вы сами провоцируете ругань? обычно это они на неё пытаются выйти чтобы потом слиться якобы недоволен поэтому не заплатил.
altrus
14.12.2018 11:48+1теперь это сериал до майских дач как минимум
физики против лириков…tvr
14.12.2018 11:58Рэп-баттлБлизким аналогом рэп-баттлов были литературные диспуты, которые проходили между русскими поэтами в начале XX века.FRAGIL3
14.12.2018 13:30+4— Твой пост настолько токсичен, что его можно поместить в Сталкера как аномалию!
— А твой пост настолько вежлив, что цитатами из него можно знакомиться в гей-клубе!Igor_Shumilov
14.12.2018 14:27цитатами из него можно знакомиться в гей-клубе
Хмм… а ведь интересная метрика для определения излишеств вежливости.
ganqqwerty
14.12.2018 15:19Твой пост настолько политкорректен, что что его можно зачитывать на собрании поклонников Хилари Клинтон!
striver
14.12.2018 11:49-1Т.е. стресс — это плохо вообще-то
Это нормальное состояние для организма, он на это рассчитан. Организм постоянно его испытывает. Но постоянный сильный стресс — вот это плохо.
Лучшие идеи рождаются в благоприятной атмосфере.
А еще они рождаются от безысходности и с ограниченными ресурсами.
Ну то есть, мы все люди. Люди не любят, когда кто-то указывает на их ошибки.
Не говорите за всех. Я буду благодарен за то, что кто-то скажет, что у тебя дырка на штанах, чем все будут вокруг вежливо улыбаться. В первом случае у меня есть возможность эту дырку зашить раньше, чем во втором. Но, нужно понимать, что есть разные формы подачи такой информации.
Даже самое корректное код ревью зачастую выглядит как публичная порка. Ну так не надо усугублять!
Если на уровне знания и навыки — можно вступить в полемику и в процессе прийти к лучшему результату, но не факт.
А именно: вежливость, запрет на приказной тон, запрет на обсуждение личных качеств, допустимы только аргументированные комментарии и т.д. В спорных ситуациях решает большинство.
Вы не правильно поняли изначальную статью. Ибо там даже не было намеков переход на личности и приказные тоны. Можно вежливо и с улыбкой опускать всех вокруг.
В целом, первая статья о горькой правде, а эта — о сладкой ложи.tagirb
14.12.2018 12:19На самом деле, обе статьи об одном и том же, и комментарий автора другой статьи это подтверждает.
striver
14.12.2018 13:00-1Эта статья о том, что можно работать в безстрессовых ситуациях. Такое практически не возможно. Да, большинству дополнительный и постоянный стресс не нравится. Это понятно. С этим никто не спорит. Но искусственное поддержание такой среды ведет к периодическим резким всплескам агрессии.
tagirb
14.12.2018 13:25Эта статья о том, что можно работать в безстрессовых ситуациях. Такое практически не возможно.
Бывают всякие инциденты и непредвиденные ситуации: сервисы падают, сервера отваливаются и т.п. Тут том, как реагировать на эти ситуации.
А бывает токсичная атмосфера в команде. Внешне она может быть самой разной, от хронического ора друг на друга до взаимного сюсюканья. И вот над улучшением атмосферы можно и нужно работать. При этом работать нужно над собой, а не над другими участниками команды. Вытаскивать брёвна из своих глаз вместо соломинок из чужих.
Если атмосфера здоровая, то никакие инциденты ей не повредят. А если большая, то любой инцидент будет поводом для взаимных обвинений, разборок и т.п.
Но искусственное поддержание такой среды ведет к периодическим резким всплескам агрессии.
Всё правильно, потому что это скрытый стресс, который периодически вываливается наружу.striver
14.12.2018 13:55Бывают всякие инциденты и непредвиденные ситуации: сервисы падают, сервера отваливаются и т.п. Тут том, как реагировать на эти ситуации.
Это само собой. Я же об этом и говорю, что можно вежливо всех назвать ущербными. Можно вежливо ставить одну и ту же задачу раз 10. Для того, кто ставит задачу — не стрессово, а тот кто переделывает, и на 10-й раз приходят к 1-му варианту. Исполнитель может быть в таком глубок дауне, что словами не описать. А как вам ситуация — начальник хвалит подчиненного, и умудряется добавить, что он самый умный в отделе… а коллеги сидят в соседнем кабинете и всё слышат… а есть другая ситуация, когда руководитель говорит, что ты не прав, ибо какая-то хрень, в ответ можно доказать обратное, используя при этом некрасивые обороты. Но во втором случае можно решать вопросы, в первом — нет. Ибо ты же самый умный — теперь аки лошадушка вкалывай, ибо коллеги с тобой не хотят общаться — тим билдинг в действии.
Вытаскивать брёвна из своих глаз вместо соломинок из чужих.
Само собой. Просто эти обсуждения на уровне… детского сада. Такое чувство, что окружающие выросли в закрытом помещении и никогда не видели людей. Начиная с садика, всегда были терки: драки, насмешки, издевательства. Всё это было. На работе ничего не меняется, другая форма, не такая открытая. Не получится искусственно сдерживать эмоции. Знаете, своих друзей можно послать куда подальше, в ответ получишь тем же. А через 5 секунд это уже забудется. А когда посторонний человек пошлет — то реакция может быть очень разная. Токсичность она разная, в виде матов и простом молчании.Если атмосфера здоровая, то никакие инциденты ей не повредят. А если большая, то любой инцидент будет поводом для взаимных обвинений, разборок и т.п.
Так о том и речь.tagirb
14.12.2018 14:09А как вам ситуация — начальник хвалит подчиненного, и умудряется добавить, что он самый умный в отделе… а коллеги сидят в соседнем кабинете и всё слышат… а есть другая ситуация, когда руководитель говорит, что ты не прав, ибо какая-то хрень, в ответ можно доказать обратное, используя при этом некрасивые обороты. Но во втором случае можно решать вопросы, в первом — нет. Ибо ты же самый умный — теперь аки лошадушка вкалывай, ибо коллеги с тобой не хотят общаться — тим билдинг в действии.
Тут всё зависит от адекватности каждого в коллективе. Если начальник неадекват в любом виде, но коллектив нормальный, то никакие его крики, самодурство или манипуляции и лесть, как вы описали, команду не развалят. Посмеются над убогим, да и ладно.
Само собой. Просто эти обсуждения на уровне… детского сада.
Хорошо, что они есть, эти обсуждения. Значит, кому-то это небезразлично, кто-то над этим задумывается.
Такое чувство, что окружающие выросли в закрытом помещении и никогда не видели людей.
Может, и видели, важно же, какой опыт они из этого извлекали. Мир сейчас такой, эгоистичный, что ли. Куда ни глянь, везде вокруг одни тёрки и разборки. А где же уважение, совесть, мораль, человечность?striver
14.12.2018 14:19Хорошо, что они есть, эти обсуждения. Значит, кому-то это небезразлично, кто-то над этим задумывается.
Просто, что в этой статье, что в изначальной, никто не хочет получать кучу негатива или стресса от ситуаций, в которых они оказываются. Просто разные подходы. Да, есть отдельные личности, которым в кайф натравливать людей, но это не то, что нужно Готэму.
Мир сейчас такой, эгоистичный, что ли.
Так искусственная улыбка в лицо и грязь за глаза — не решают вопросов.А где же уважение, совесть, мораль, человечность?
Знаете, а уже скоро забудут такие слова. Вот поступаешь по-человечески, по совести, так сказать. А в ответ никакого фидбека, еще хуже, «садятся» на голову, пользуются тем, что ты не ответишь тем же. Но всему есть рамки и грани.tagirb
14.12.2018 14:24Знаете, а уже скоро забудут такие слова. Вот поступаешь по-человечески, по совести, так сказать. А в ответ никакого фидбека, еще хуже, «садятся» на голову, пользуются тем, что ты не ответишь тем же. Но всему есть рамки и грани.
По-человечески — это же не значит ути-пути. Иногда и «нет» надо сказать. Иногда ещё и с правой добавить. Но только по-доброму :)
wearedope
14.12.2018 13:41-1Стресс (а точнее, дистресс, если мы говорим о стрессе, негативном для организма) возникает из-за страха (страх потерять работу, быть униженным...). Работа без стресса возможна, только если работать со своими страхами, искать причины их возникновения.
striver
14.12.2018 14:00Подождите, там нет уточнений. Я еще со школы помню, какой ощутил стресс, когда учитель сказал, что микрострессы происходят постоянно. Наш организм постоянно с ними борется. Холодно на улице — стресс, жарко — тоже. Речь должна идти о постоянных сильных стрессах: прессинг, придирки, угрозы, ограничения и т.д.
tagirb
14.12.2018 14:18Всё правильно Вы пишете. И wearedope тоже прав. Просто есть такие, как бы, объективные стрессы типа тепла и холода и субъективные, вызванные негативными мыслями.
Вот это:
Речь должна идти о постоянных сильных стрессах: прессинг, придирки, угрозы, ограничения и т.д.
именно от негативных мыслей, страхов, переживаний, ЧСВ и т.п. И их можно избежать, если не позволять себе этих мыслей.
И когда внутри всё будет хорошо, то и внешние факторы поменяются: коллеги перестанут придираться, прессовать, льстить и т.п., так как это будет просто бессмысленно.
Ну раз попробуют, ну другой — а в ответ ничего, пустота. И какой смысл придираться к пустоте?..striver
14.12.2018 14:22И когда внутри всё будет хорошо, то и внешние факторы поменяются: коллеги перестанут придираться, прессовать, льстить и т.п., так как это будет просто бессмысленно.
Так нужны усилия с каждой стороны. Нужно обсуждать и говорить. Но, если человек не хочет, то никто ему не поможет.tagirb
14.12.2018 14:28Так нужны усилия с каждой стороны. Нужно обсуждать и говорить. Но, если человек не хочет, то никто ему не поможет.
Всё правильно, ему — нет. Но, если у Вас всё хорошо и Вам на него, по-хорошему, пофиг, то Вас он в прямом и переносном смысле цеплять не будет.
А если Вам не всё равно (он на меня орёт, он мне даёт неправильные задачи, он не делает, что я ему говорю, он не такой, как я хочу) то будет, т.к. есть за что. Всё справедливо :)striver
14.12.2018 22:02А если Вам не всё равно (он на меня орёт, он мне даёт неправильные задачи, он не делает, что я ему говорю, он не такой, как я хочу) то будет, т.к. есть за что. Всё справедливо :)
Да, было такое, коллега ушел через полгода, я продержался еще год, но последние полгода я просто забил, ставится задача — ок, озвучьте весь список, без самодеятельности, ибо всё не так и я тогда реально задумался, что навык чтение мыслей мне очень необходим. Просто, вылазили вопросы через 3 месяца, о которых я говорил, но меня игнорили. Изначальные варианты — отвергались, но через время возвращались к моим изначальным предложениям. Не говорю, что я всё сам на 100% был прав. Нет, там где я не был уверен или не знал, то вопросов нет. Если что, это было не в айти, а в другой сфере. Но, по сути, хоть работы и разные, но подходы и люди — одни и те же. Есть руководитель, а есть узкие спецы, которые знают тонкости. Руководителям это знать не обязательно, но и не нужно «угнетать» спеца своим незнанием.
ardentum
14.12.2018 16:12Токсичная среда и постоянная злобная критика – это тот самый долгий вредный и убивающий стресс. Хороший стресс – это суровые героические релизы раз в месяц, с возможностью потом отойти в спокойном режиме несколько дней. Давить на членов команды должны условия окружающей команду среды, а не другие члены команды.
И про дырку на штанах: часто критика направлена не на то чтобы помочь человеку стать лучше. Обычно это просто несдержанное выплескивающееся раздражение ради себя любимого.
striver
14.12.2018 16:17Токсичная среда и постоянная злобная критика – это тот самый долгий вредный и убивающий стресс.
Так как раз и уточняю это.И про дырку на штанах: часто критика направлена не на то чтобы помочь человеку стать лучше.
Здесь вопрос не в критике, а просто банально сказать о факте. Да, дырка просто, но кто-то очень сильно обозлится, что вообще кто-то сказал.
striver
14.12.2018 22:14Знаете, что самое печальное. Я не говорил, что мне в кайф кислотная среда, угнетение и повышенный стресс — как раз наоборот. Но меня не поняли и уже опускают ниже плинтуса. Я сейчас в той среде, что вы называете без ути-пути. Говорю нет… с правой не добавляю, но разборки с матом и на повышенных тонах были. Есть косяки, я указываю, меня ставят на место, ибо как я с руководством говорю, в ответ — не затыкаюсь, а доказываю, что они не правы, с фактами и документами на руках, а не с голословными заявлениями. После выяснений, идет далее спокойная размеренная работа, да напрягают срочные задания (это для меня стресс, от него не деться). Но нет этих ути-пути. В моем понимании, об этом и шла речь в изначальной статье. Я написал придирки по факту моей деятельности, ибо были варианты, когда от безысходности соглашались с моими предложениями и они начинали работать. В «сахарной» среде, когда всё хорошо, ничего бы не сдвинулось. Всё и так работает — не трогай. Так было, есть и будет. Нет, не будет. Кризисные ситуации (они же, очень стрессовые) показали, что нужно что-то делать. Это было напряжно, но ничего бы никуда не сдвинулось, как это не печально.
SirEdvin
14.12.2018 11:57Если ты такой умный senior, потрудись, объясни почему именно в этом месте кода всё должно быть иначе
Хах. Это в куче случаев просто невозможно сделать, даже если ты знаешь, что он не прав. Банально потому что у вас тут нет 100% аргументов, а любые аргументы основанные на личном опыте вполне можно отвергнуть. Аргументы основные на "если сделаешь так — может быть так" тоже далеко не всегда работают.
Koneru
14.12.2018 12:13+1Значит не такой уж и умный сеньор. Лично у меня на проекте при возникновении разногласий может быти лишь аргументы вида: ссылка на метод рефакторинга, вытекающая бага(отсутствие расширяемости, проблема производительности, etc) или несоответствие стиля кода ко всему проекту. Нет случаев где нужно сказать: код плохой, но я ещё не придумал почему.
SirEdvin
14.12.2018 13:02-1Отлично, давайте поговорим про отсутствие расширяемости.
Я вот говорю "тут нет возможности для расширения", а коллега мне говорит "она тут и не нужна". И ирония в том, что расширяемость на самом деле нужна далеко не всегда и способ убедительно доказать, что она нужна можно придумать далеко не для всех случаев.
И как тут поступать?
AndreyGaskov
14.12.2018 13:33+1И как тут поступать?
Согласиться с коллегой, что действительно не нужна?
GRaAL
14.12.2018 13:37У меня на такой случай нарисована инфографика про развитие одного проекта, который за 4 года изменился до неузнаваемости от первоначального прототипа. Потому что бизнес адаптировался под внешние сигналы, и софт надо было адаптировать так же. На второй год нам пришлось переписать почти все, но тут уж сы сделали максимально гибко, чтобы потом проще было маневрировать. Поэтому когда мне говорят "тут точно не будет расширяться", я достаю картинку и вспоминаю конкретные примеры, когда мы говорили то же самое, а потом рефакторили или переписывали.
Думаю, еслм повспоминать, то и у вас в команде вспомнятся такие случаи.
С другой стороны, "переархитектуривать" тоже плохо- время тратится. Иногда я предлагаю компромисс — скажем, отдельную иерархию классов пока выделять не будем, но хотя бы на уровне методов отдели. Потом если что проще будет вынести.Crafter2012
14.12.2018 13:54Как насчет статьи с картинкой и опытом?
GRaAL
14.12.2018 14:46*грустно смотрит на список планов по статьям*
Я подумаю. Картинку в сыром виде я скорее всего показать не смогу (NDA, все дела), но можно будет подумать над адаптацией по мотивам, чисто чтобы продемонстрировать суть.
etoropov
15.12.2018 11:19Евгений Кривошеев прекрасно рассказывает, когда нужно гибкость закладывать, а когда не нужно: www.youtube.com/watch?v=6m4XPje76WU
Igor_Shumilov
14.12.2018 14:33Спросить у тимлида/менеджера проекта. Того, кто знает, нужна такая возможность или нет.
Ибо:
«тут нет возможности для расширения» -> потенциально приведёт к пустой трате времени разработчиков, если такая возможность не нужна.
«она тут и не нужна» -> приведёт к удорожанию поддержки и развития продукта, если такая возможность нужна.
avost
14.12.2018 14:45расширяемость на самом деле нужна далеко не всегда и способ убедительно доказать, что она нужна можно придумать далеко не для всех случаев.
А бывают случаи, когда расширяемость нужна, а доказать это невозможно? А как это? "Мамой клянусъ!"? Можете привести пример?
DemianFrai
14.12.2018 19:10В моей практике на разговор о том, что при расширении всю структуру (речь идет не о всем проекте, а о одном из модулей) придется переделывать, а расширение неизбежно, так как речь идет о подключении типовых интеграций, тимлид ответил «YAGNI». Он почему-то воспринимал это как «не думай, что с твоим кодом будет завтра».
hummerd
14.12.2018 16:37В случае «нужна — не нужна» приоритет у автора кода. Потом устрйте коммандный митинг и выработайте стратегию насколько код должен быть расширяемым.
sentyaev
14.12.2018 19:13+2Я вот говорю «тут нет возможности для расширения»
Такого рода комментарий ставит профессиализм вашего коллеги под вопрос.
а коллега мне говорит «она тут и не нужна».
И ему приходится защищать свое решение, доказывая, что он профессионал. И что-бы защитить свой профессионализм, ему нужно доказать, что его решение отличное, и в данном случае, не требуется никакое расширение функциональности.
Я пишу комменты примерно в таком стиле: «Как ты думаешь, есть ли смысл сделать вот эту часть расширяемой? Я вижу вот такой потенциальный кейс <бла-бла>.»
Ну и конечно ничего страшного в том, что коллега не видит причин для расширения. Возможно же что он прав?Druu
16.12.2018 08:34И ему приходится защищать свое решение, доказывая, что он профессионал. И что-бы защитить свой профессионализм, ему нужно доказать, что его решение отличное, и в данном случае, не требуется никакое расширение функциональности.
Все наоборот. Доказывать надо факт того, что расширение потребуется. И если доказать не получается — автоматически считать, что требоваться оно не будет.
Я вижу вот такой потенциальный кейс <бла-бла>.
Очевидно, что потенциальный кейс никогда не может быть причиной расширения, это типичная ошибка. Вот если доказано, что он почти наверняка станет актуальным — это другой вопрос.
dimkss
14.12.2018 12:28+3Это в куче случаев просто невозможно сделать, даже если ты знаешь, что он не прав.
Это как? Тут у тебя неправильно, но почему я тебе не скажу, потому что сам не знаю?indestructable
14.12.2018 12:55-1У тебя правильно, но можно сделать лучше. И попробуй докажи, что оно лучше.
Это, кстати, как раз тот случай, когда немного авторитаризма не помешает.
dimkss
14.12.2018 12:59+3Если невозможно доказать, показать что оно лучше, тогда чем оно лучше?
Знаете, это… блин ну я не знаю.
— Я начальник, ты дурак.
— Я старше, поэтому мне лучше видно.
— Мелок ты еще так с папой разговарить.
Самоутверждение за чужой счет?indestructable
14.12.2018 15:50Бывают ситуации, когда невозможно доказать что-то не вообще, а этому конкретному человеку, например, джуну. У него нет опыта в сопровождении и поддержке кода, только в написании, и ваши аргументы для него не аргументы, т.к. основаны на вашей практике, а у него такой практики еще не было, и ваш опыт ему не аргумент.
Например, я знаю джуна, который в тайпскрипте не пишет типы, или же пишет везде
any
. На объяснения о пользе аннотаций типов, о сопровождении и дополнительной информации, которую дают типы, возражает, что это же больше кода, это же надо менять, если что-то поменяется. И доказать, именно доказать, здесь ничего не возможно.b1de0
14.12.2018 19:01+1Может тогда уволить такого джуна, если он не воспринимает адекватные аргументы?
abar
14.12.2018 19:01+1Ну конкретно в таких случаях полезно собраться командой, обсудить, что и где нужно прописывать, и какого стиля кода надо придерживаться, зафиксировать это в документе в командной вики и посылать всех, кто не согласен именно туда с формулировкой «потому что так договорились».
А то ты — джун, один синьёр заворачивает твои пулл реквесты с формулировкой «прописывай типы, у меня опыт и я знаю, что это полезно» а другой синьёр реджектит со словами «чё ты везде типы какие-то лепишь, их же менять потом постоянно надо, ставь any и не парься!» и вот пойди угадай под кого подстраиваться надо чтоб хоть что-то дали сделать.
Lissov
14.12.2018 23:34Бывают ситуации, когда невозможно доказать что-то не вообще, а этому конкретному человеку, например, джуну.
Странные у Вас джуны. На моей практике, когда синьор не по бейджику а реально крутые вещи делает, джуны его уважают. Скорее наблюдаю обратную проблему — джуны не готовы отстаивать своё правильное мнение.
И доказать, именно доказать, здесь ничего не возможно.
Если доказать невозможно, то может он прав?
У меня отлично работает простой пример: в прошлом месяце в таком коде вылез баг в проде, был бы тип — бага бы не было. Так что нам дешевле сейчас написать больше кода и потом менять.
michael_vostrikov
15.12.2018 08:14это же больше кода, это же надо менять, если что-то поменяется
Можно сказать что-то вроде "В том-то и дело, что с типами можно найти все места, где надо поменять алгоритм".
ganqqwerty
14.12.2018 19:00+1По-моему, если дело не касается производительности, эту «лучшесть» легко обосновать — начинается перебрасывания статьями Фаулера, цитирование паттернов и мысленные эксперименты.
SirEdvin
14.12.2018 12:57Это как? Тут у тебя неправильно, но почему я тебе не скажу, потому что сам не знаю?
Ну вот пример:
Мой коллега считает необходимостью писать комментарии под каждым методом/классов, хотя это в ряде случаев приводит к очень очевидной тавтотологии. Но я не могу смог его убедить в том, что эта тавтология излишня, он отвергает мои аргументы.
dimkss
14.12.2018 13:04В вашем случае польза/улучшение конкретно видны, как мне кажется.
Лишний текст -> больше времени на чтение кода -> тратиться лишнее время.
Бывают случаи когда вышестоящий просто говорит — делаем так как я хочу. И все!SirEdvin
14.12.2018 13:09Лишний текст -> больше времени на чтение кода -> тратиться лишнее время.
А можно сказать:
Больше комментариев -> Всегда понятно что происходит -> Тратится меньше времени на чтение кода
А еще можно:
Больше комментариев -> Комментарии хуже поддерживаются -> Тратится больше времени на чтение кода
И как бы убедить коллегу не писать комментарии в очевидных случаях у меня не получается, потому что мы фокусируемся на разных аспектах.
dimkss
14.12.2018 13:10Ха, уели меня, ага.
Кстати можно еще «табуляция против пробелов» вспомнить.Lissov
14.12.2018 13:27Табуляция против пробелов — простое голосование командой, потому что должно быть одно всё равно какое правило.
Количество комментов — стоит обсудить стоимость поддержки комментариев. И конечно найдутся комментарии, которые уже устарели. Главный вопрос — какой дополнительный смысл несёт коммент? Почему нельзя написать код так чтобы он был так же понятен?dimkss
14.12.2018 13:31Ну… есть ведь лучшие практики комментариев.
Отвечать не на вопрос «что делаем?», а на вопрос «почему?».
В большинстве случаев все равно все сводится к «я так привык».Lissov
14.12.2018 23:18Всё сводится к тому, как команде работать продуктивно и комфортно. Лучшие практики — они не сами по себе, а с конкретными причинами. Можно просто поверить, что составители лучших практик всё продумали, можно заново обсудить причины, можно просто позволить кому-то делать «как привык» если это не мешает остальным. Зачем заставлять человека, если Вам в общем всё равно?
dimkss
14.12.2018 23:22Эм, мысль здравая, и мне кажется вы сами себе ответили.
Lissov
14.12.2018 23:39Простите, возможно мне стоило быть яснее. Вопросы в моём комменте были не к Вам. Это пример вопросов, которые надо задавать глядя на конкретный кусок кода и конкретные комментарии, человеку, который их написал. В зависимости от ответов либо он их уберёт, либо Вы согласитесь что они нужны.
tagirb
14.12.2018 13:16Попробуйте посмотреть с его перспективы. Может, ему это реально важно по какой-то причине.
DemianFrai
14.12.2018 19:25+1Хм. Согласно Фаулеру само наличие комментариев означает, что код слегка протух. Этого обычно хватает. Да и т.н. «неочевидные» случаи — это либо костыль, который в обязательном порядке должен быть снабжен комментарием, либо код, который нужно переписать. Так что логичное действие — разговор с коллегами и добавление этого пункта в code convention.
Ну а если все коллеги хотят писать комментарии где только можно — значит либо ошибаешься ты, либо поезд разработки на полных парах летит не в том направлении. Может стоит сойти на этой остановке?
AndreyGaskov
14.12.2018 13:07Не совсем понятно, в чем проблема? Вы хотите его убедить, не писать комментарии? Или он пытается вас убедить их писать? На мой взгляд никакой проблемы нет. Если нет "корпоративного требования оформления кода", то пусть разработчик сам решает, писать ли ему комментарии в очевидных случаях.
SirEdvin
14.12.2018 13:14А если это code review? Или если нет "корпоративных требований оформления кода", то в целом и code review бессмысленно проводить?
AndreyGaskov
14.12.2018 13:28А если это code review? Или если нет «корпоративных требований оформления кода», то в целом и code review бессмысленно проводить?
Если на code-review проверяется только оформление кода и неизбыточность комментариев, то, скорее всего, бессмысленно. Обычно же на code-review ищут ошибки (реальные и потенциальные), несоответствие требованиям, критические недочёты, непонятные места.DemianFrai
14.12.2018 19:47Обычно же на code-review ищут ошибки (реальные и потенциальные), несоответствие требованиям, критические недочёты, непонятные места.
Если нет code style, то весь код одного разработчика для другого может быть «непонятным местом».
Как пример — тот же "+" в js.
if (+settings.autoplayEnabled && records['id'] && ~settings.includedIds.indexOf(id)){
}
Для одного разработчика читается на раз, а второй не понимает, что происходит.VolCh
14.12.2018 21:46+1Фраза в код-ревью «мне не понятно, что происходит, перепиши с явными приведениями типов и сравнениями или развернутым комментарием» вполне может послужить началом формирования код-стайл :) А скорее должна, а не может.
justhabrauser
15.12.2018 01:23Если речь о Python — то это нормально. И любой pylint это подтвердит.
Если не о Python — то у коллеги просто выработалась привычка.
Полезная, кстати.
ferrumz
14.12.2018 19:00+4Я в одной компании задавал такие вопросы тимлиду, не для того чтобы унизить или поймать на чем то, а хотел понять почему выбрано именно такое решение из многих других. Собственно ответить он часто не мог и как то сказал «Почему ты не можешь просто сделать так как я говорю?»)
Через пару месяцев он ушел, я занял его место и мы переписывали большую часть системы.
ИМХО нормальный сеньор всегда должен понимать проект, понимать последствия принимаемых решений и уметь их аргументировать. Понятное дело, что почти всегда это компромисс и есть шанс ошибиться, но это не должно быть сюрпризом и должны быть предусмотрены и такие варианты развития проекта.VolCh
14.12.2018 21:47Иногда аргумент простой: оценить какое решение лучше мы не можем сейчас, надо хоть какое-то сделать.
Lissov
14.12.2018 23:24И это действительно аргумент.
Но в таком случае тимлид должен согласиться на любое решение, которое нравится разработчику. Не так ли?VolCh
15.12.2018 18:46Нет. ) По крайней мере когда тимлид несёт бОльшую отвественность за результат.
Lissov
16.12.2018 01:16оценить какое решение лучше мы не можем сейчас
Это как раз и означает, что тимлид не может оценить в каком случае за результат придётся отвечать. Даже скорее результат будет лучше при выборе решения, которое нравится разработчику.
Да, у тимлида есть право сказать принять решение просто потому что «мне кажется и мне отвечать». Но с этим надо быть очень осторожным.VolCh
16.12.2018 13:42Отвечать он будет в любом случае. Будет всё хорошо: тимлид — молодец, плохо — редиска.
Mofinak
14.12.2018 12:04Чтобы не иметь стресса, нужно вообще не работать ибо так ил иначе даже у грузчиков стресс может быть не хилый.
tagirb
14.12.2018 12:25Чтобы не иметь стресса, нужен только положительный настрой и контроль своих мыслей. Иначе говоря, самоконтроль, выдержка, «стальные яйца» и т.п.
Ни от чего внешнего это не зависит, можно быть спокойным в кабине истребителя и просыпаться ночью в своей постели в холодном поту от стресса.
GRaAL
14.12.2018 13:42В статье не предлагается не иметь стресса. Предлагается не иметь лишнего стресса.
Условно говоря, можно пропустить пару раз обед, это не скажется на здоровье. Можно даже двое суток не поесть и восстановиться относительно легко. Но постоянно ходить полуголодным — это уже вред.
Нервы — такой же ресурс. Я не вижу смысла расходовать его каждый день на постоянной основе, если кто-то из коллег считает необходимым хамить и самоутверждаться, потому что ему так удобнее.
abbath0767
14.12.2018 12:07Есть мнение что стресс — отличный мотиватор для развития субъекта, при чем не важно какого — нового штамма гриппа в лаборатории или разработчика на галере (простите не удержался).
Отлично описаны особенности развития тех или иных сущностей и процессов под влиянием стресса в книге «Антихрупкость» Талеба. Однако подобные стати для меня это всего лишь попытка найти баланс между токсичностью и ванильностьюaltrus
14.12.2018 12:11Надо различать стресс (психоэмоциональная реакция субъекта) от трудностей (объективные обстоятельства, психореактивный фактор)
Трудности дают возможность развиваться и эволюционировать, стресс разрушает организмabbath0767
14.12.2018 12:14На мой взгляд они взаимосвязаны. При «разгромленном» код ревью вы испытываете и трудности (ну надо все таки теперь все исправлять и думать как это сделать) и стресс (неприятно все таки). Я поддерживаю идею автора, хотя допускаю что я просто его не верно понял, что стресс, в ограниченных количествах, полезен
altrus
14.12.2018 12:21Трудности можно вполне преодолевать без стресса.
Всамделишный пример: заказчик садится на шею фрилансеру, начинает требовать дополнительный функционал, угрожает не заплатить, оставить плохой отзыв и т. п.
У многих это может вызвать сильный стресс.
А можно решить задачу спокойно. Сделать пару вещей, вырулить куда надо, чтобы уже заказчик оказался под диким стрессом. Если есть опыт во фрилансерской работе и с людьми, это не сложно.
Стресс — это следствие неправильного восприятия обстоятельств.
tagirb
14.12.2018 12:36Можно, конечно, переживать, а можно и нет.
Главное, внимательно и честно разобраться в ситуации, честно по отношению к себе и своей совести:
1. Если есть ощущение, что код хороший и всё сделано правильно, а коллеги вас намеренно «громят», чтобы поднять свой авторитет — ну что ж, их дело. Чего переживать-то?
2. А если налажали по факту, то страдать от такого разгрома будет только ЧСВ. «Я такой весь из себя крутой, а меня несправедливо обидели, да ещё и переделывать заставляют». Ну что ж, это его дело. Чего переживать-то? :)VolCh
14.12.2018 12:56А если во второй ситуации разгром не ситуативный, а обобщающий с переходом на твою личность?
tagirb
14.12.2018 13:13А, ну да, тогда это сочетание 1 и 2: увидев слабость другого, не помочь ему, а возвысить себя за счёт неё. Ну или смесь из конструктивной критики и личного наезда.
Опять же, быть честным и отделить для себя одно от другого. Конструктивные советы заметить для себя, а переходы на личность — по ситуации: промолчать, отшутиться, довести до гротеска.
Если трамбуют, то, главное, не переживать, оставаться конструктивным и не пытаться бороться и доказывать свою правоту — если дошло до личностей, то это всегда бесполезная трата усилий.
dimkss
14.12.2018 12:31+1«sarcasm on»
М-м-м… т.е. для развития разработчиков надо что-б менеджер каждый день подходил и орал, неожиданно выбивал из под них стулья, или случайно выключал ноутбук?
Я наверное, воздержусь от работы в такой компании.abbath0767
14.12.2018 17:38Можно максимизировать любую ситуацию, как ребенок, а можно здраво рассуждать, какой путь выбрать вам — ваше дело
dimkss
14.12.2018 17:50Вы согласны что минимальный уровень стреса — необходимое условие развития?
Что простой мотивации, удовольствия от хорошо выполненной задачи, ощущения саморазвития и увеличение ЗП с похвалой со стороны руководства — недостаточно?
0xd34df00d
14.12.2018 18:04+1Непонятно, почему метод проверки на разумность и анализ граничных случаев считают чем-то детским с негативными коннотациями.
VolCh
14.12.2018 22:33К анализу граничных случаев и прочих критических точек люди вообще как-то странно относятся, даже понимающие, что это такое люди типа инженеров или математиков. Вот функцию трёхэтажную они проанализировать могут, код тестами покрыть закрыв все области эквивалентности — могут. А к самой простой житейской ситуации отказываются даже попробовать применить.
tagirb
14.12.2018 12:08+1Спасибо за хорошую позитивную статью!
Чем больше работаю в команде, тем больше понимаю, что дело же просто во внутреннем настрое по отношению друг к другу. Уважать друг друга, исходить не из желания взять что-то у других, а, наоборот, помочь.
А внешне оно может выражаться по-разному и иногда совершенно непредсказуемо. Иногда ведь и матом нужно накрыть, если видишь, что человек страдает изнеженностью, амбициями и т.п. Именно страдает, т.к. счастливый человек адекватен, понятен и прост :)
А заключительная фраза для меня, почему-то, как ложка дёгтя. Бес попутал? :)varanio Автор
14.12.2018 12:19Это просто шутка. Там был смайлик, но модераторы его убрали, так как это противоречит правилам
jacksparrow
14.12.2018 12:35В целом согласен с материалом. Но про приказной тон, если скоро релиз и нет времени устраивает длительное объяснение, почему это решение неверное, то именно «Сделай так», вместо «Давай посидим и посмотрим, как лучше решить эту задачу» считаю резонным.
Lissov
14.12.2018 23:57+1Если у Вас правильная команда, то:
а) отсутствие авралов даёт время на обсуждение решения в любой момент, а это помогает избежать авралов в будущем;
б) если аврал таки произошёл, то вся команда это понимает и приказы принимаются и без приказного тона.
Опять таки «сейчас делаем так, завтра обсудим и если надо переделаем» это право техлида, которое никого не обижает и всегда нормально принимается.
VolCh
15.12.2018 18:49Зачем приказной тон? Иначе подчинённые не могут отличить приказ от рекомендации или приглашения подискутировать?
DemianFrai
14.12.2018 12:52В теории это все звучит хорошо и правильно, но…
«Я считаю, что человек не может быть компетентен или некомпетентен» (с)
Мне показалось — автор статьи, на которую Вы отвечаете, придерживается того же мнения, просто не подумал, что его формулировку могут понять неправильно. Человек не может быть некомпетентным как человек, но он вполне может оказаться недостаточно компетентным, как специалист при решении конкретной задачи. Что и имелось в виду и там и там.
И да — подходить к этому с фразой — «что за фигню ты написал» — некрасиво. Вот только вопрос «Почему это написано так, а не вот так?» тоже часто воспринимается в штыки. Особенно если ответить нечего. Фразу «мне сказали — заткнись и делай» произносить мало кому нравится. И мне, к слову, тоже.
puyol_dev
14.12.2018 12:53> Если человек совершает ошибки раз за разом и не пытается как-то расти, то его надо увольнять.
Не согласен. Так происходит, когда человек не понимает, что это ошибка или не считает ошибкой. Здесь можно попробовать объяснить человеку в чем ошибка в личном общении, а не в комментариях в коде. Интерактивность позволит либо дать дельный совет человеку — например чтение какой-то специализованной литературы, если он не понимает сам принцип работы, либо есть вариант, что ошибается не он, а ты. И это можно тоже будет выяснить только интерактивно опять же
UncleBance
14.12.2018 13:06+1Я считаю, что человек не может быть компетентен или некомпетентен.
Если посмотреть на определение, то оно звучит так:Компете?нция (от лат. competere — соответствовать, подходить) — круг вопросов, в которых кто-нибудь хорошо осведомлён.
И чтобы не ходить далеко за примерами, у меня в админской практике часто были вопросы «а как в outlook настроить автоответ?» «а как поменять в винде пароль?» и тому подобное. Пользователь уверен, что админ должен проводить им обучение. Согласен, проводить обучение можно! Но только с чем-то новым. Если же вы пришли на работу, указав в резюме, что владеете продуктами MS Office, но понятия не имеете где в Outlook настроить автоответ, то вы ввели работодателя в заблуждение и вы именно некомпетентны в тех областях, знания в которых являются условием получения рабочего места. Владеть продуктами Office не означает уметь набирать текст в Word, но впадать в ступор когда вас попросят создать перекрестную ссылку.VolCh
14.12.2018 22:38Определение компетентности в реальных условиях затруднено тем, что точный список компетенций составить сложно.
UncleBance
16.12.2018 16:08Думаю, все очень просто. Компетентный человек знает, что он должен делать и очень хорошо владеет вопросом «это — моя работа». А некомпетентный человек очень хорошо знает, что он делать не должен и на отлично ответит, чем он не должен заниматься. Например, читать справку в том же Word он не должен, а трезвонить админу, чтобы он за него прочитал — просто обязательно. Для справедливости отмечу, что есть и подобные «админы», которые «всегда чем-то заняты», и ты всегда без очереди, но никогда и нигде они тебе не покажут эту самую очередь, чтобы ты мог быть следующим. В итоге вместо решения производственных задач все сводится к поиску крайнего.
ZLBRSTN
14.12.2018 13:24-2Хватит накидывать на вентилятор.
anatolymik
17.12.2018 03:27Вот вы абсолютно правы. Статья то по большей части хайповая. Ибо стало модно про это говорить.
korsar2
14.12.2018 13:37По мимо ответственности за колхоз ещё давит руководство.
Автор полностью прав
GRaAL
14.12.2018 14:50+1Вообще я много думал и над тем постом, и на этим, и у меня получилось такое мнение:
Мир меняется. Люди меняются. IT-сфера тоже меняется, и меняются люди в ней. Это не хорошо и не плохо, это просто перемены, имеющие свои предпосылки.
Аналогия №1: еще не так давно человек на инвалидной коляске был, скажем так, изолирован от жизни. Он не мог нормально перемещаться по городу, не мог работать, не мог ездить в транспорте. Сейчас общество постепенно доросло до того, что может включить таких людей в жизнь. Я считаю, что это хорошо. Это дает мне (хоть и очень слабую в нашей стране) уверенность, что случись что — я не окажусь прикован к четырем стенам навечно. У меня будет хоть какой-то шанс продолжать жизнь даже с поврежденными конечностями. Век назад это было бы практически невозможно.
Человеческая психика — сложная штука, тоже может ломаться, и может иметь разную чувствительность. Если общество дорастет до того, чтобы включить в жизнь и слишком чувствительных людей, построив для них такие же пандусы в виде правил вежливости, то тут я тоже не вижу ничего плохого. Мы же не ломаем пандусы на лестницах только потому, что у нас лично ничего не болит? У общества нет необходимости уже требовать, чтобы «выживал сильнейший» в повседневной жизни.
Аналогия №2: айтишники в России 10-20 лет назад еще были первопроходцами. Первопроходцы — это такие суровые мужики со стальными яйцами, которые бреются топором, кодят в блокноте и фиксят баги взглядом. Один первопроходец говорил второму «зае**нь эту х***ню», и тот мгновенно двигал футер на полкиселя влево и деплоил в продакшн даже не просыпаясь — в современном мире та же операция потребовала бы багрепорт на 1000 знаков и 3 дня на фикс, регрессию и деплой.
Но время первопроходцев рано или поздно проходит. Появляются поселенцы — уже не такие суровые, не всегда мужики, не всегда бреются. Дети, старики. Тунеядцы, куда ж без них — среди первопроходцев такой бы не затесался, а тут уже проще мимикрировать. Первопроходцам ожидаемо будет скучно в поселении. Он либо как-то остепенится и приспособится (найдет себя в хакатонах по выходным, например), либо двинется дальше, к новым вызовам.
ИМХО — происходят изменения, но это нормальные изменения. Просто может немного быстрые. Когда/если грузовики поставят на автопилот, дальнобойщики тоже изменятся — и старое поколение будет сетовать, что новые пошли нежные и хрупкие. А новое поколение — что старые грубые и неотесанные.altrus
14.12.2018 15:11-1Не манипулируйте
Автопилот вместо дальнобойщиков — это хорошо
Социализация инвалидов — это хорошо
Деградация программеров — это плохо
Потому что именно деградацию скрывает излишнее требование убрать надуманную токсичность и соблюдать толерантностьDemianFrai
14.12.2018 15:38Здесь речь идет не совсем о «деградации программеров». GRaAL писал о том, что изначально структуру делали… ну, пусть будут «Рок-звезды». Или «Безумные гении». В мятой одежде, с горящим взглядом, которые одним движением пальца создавали сложнейшие конструкции, в которых обычный человек будет разбираться очень долго. Затем они закончили и пришли «оптимизаторы». Тоже одаренные люди, но другим талантом. Они взяли структуру, доступную только избранным и значительно упростили ее для повседневного использования, не снизив при этом ее возможности. И сейчас в нее пошли люди, которые одарены талантом программиста в значительно меньшей степени. Потому что сейчас он уже им не нужен. Того что у них есть, вполне хватает для того, чтобы закрывать повседневные задачи бизнеса. При этом «Гении» никуда не делись — они просто занимаются другими задачами — которые в полной мере их нагружают. Поэтому создается впечатление «деградации» — если раньше их было, например 20 из 20 программистов, то сейчас их 20 из 1000. Потому что количество «гениев» ограниченно.
И так происходит в любой человеческой деятельности. «Гении», «Оптимизаторы», «Все остальное человечество». Это можно считать кратким определением прогресса.altrus
14.12.2018 15:45+1Представьте ситуацию. Вы ходите обедать в один ресторан, где три хороших повара справляются со всем. Вам там вкусно.
Через некоторое время два повара уходят в другие рестораны, а этот нанимает еще 9 посредственных поварят.
Общее число хороших поваров на Земле осталось то же.
Вопрос: вас будет вкусно есть в том же ресторане?
В мятой одежде, с горящим взглядом, которые одним движением пальца создавали сложнейшие конструкции, в которых обычный человек будет разбираться очень долго.
У вас о старых программерах представления как из голливудских фильмов о хакерах. Я был среди них, это были обычные люди, культурные, образованные, компетентные. Не грубые и не токсичные.Am0ralist
14.12.2018 16:00Вопрос: вас будет вкусно есть в том же ресторане?
Так ведь собственно в ресторанах 1 шеф-повар и десяток посредственных, которых первый учит и строит. Периодически токсично по определению местной публики. Потому что результат их труда без рефакторинга уходит непосредственно к потребителям и цена ошибки там достаточно высока.
DemianFrai
14.12.2018 16:09+1У вас о старых программерах представления как из голливудских фильмов о хакерах
Это была абстракция.
Через некоторое время два повара уходят в другие рестораны, а этот нанимает еще 9 посредственных поварят.
Ваша аналогия не совсем верна. Правильно бы было как-то так:
Через некоторое время этот ресторан ставит себе полуавтоматизированную кухню и нанимает двоих поварят. Их квалификация намного хуже, чем квалификация поваров, но их задача — нажимать на кнопочки и сыпать полуфабрикаты в отверстия — результат получается не хуже, чем у квалифицированных поваров на допотопном оборудовании. А повара в это время на новом оборудовании готовят шедевры, которые им раньше и не снились. А заодно смотрят на поварят и качают головами «Повара деградируют».
То же самое и с программистами. Сорок лет назад, чтобы создать создать сайт-лендинг, требовался специалист уровня сениора. Десять лет назад их клепали джуны. Сейчас их вообще зачастую делают маркетологи в редакторах типа викса.
Если Вы возьмете специалистов той квалификации, которая раньше была необходима каждому программисту, а всех остальных обзовете, например, «машинистами», Вы обнаружите, что программисты вообще не изменились. Просто для решения задач, в которых они УЖЕ не нужны используются совершенно другие люди.altrus
14.12.2018 16:18-3Сорок лет назад, чтобы создать создать сайт-лендинг, требовался специалист уровня сениора.
Вы, как я вижу, очень далеки от программерства. Маркетолог с виксом?
Зачем вы дискутируете на темы, о которых только понаслышке знаете?
Лично мне от наплыва «поварят» совсем неплохо — мой рейт только растет, и клиенты стараются не отпускать. Так что питайтесь с полуавтоматизированной кухни на удовольствие.
GRaAL
14.12.2018 16:03+1То есть есть такие специальные люди, которые деградировали, но чтобы это скрыть — требуют убрать и соблюдать? Ничего себе теория заговора.
И потом — что вы вкладываете в понятие «деградация»? В моем примере старые дальнобойщики тоже будут считать, что молодые «деградировали» — трое суток без сна не могут рулить, ни сами колесо поменять, ни машину сдвинуть с места если аккумулятор сел. Но это просто изменение, а не деградация.altrus
14.12.2018 16:07Под «программеры» в моем комментарии надо понимать класс, а не отдельных людей
altrus
14.12.2018 16:12Поменяйте поваров на врачей.
Если вас комфортно нынче лечат, то у нас тут нет общей темы для обсуждения. Мы живем в разных мирах.
п.с. это было для Am0ralistAm0ralist
14.12.2018 16:31Так я как бы и про поваров уточнил, что обучение и работа там весьма стрессовое занятие, ибо как раз у них-то клац-клац и в продакшен сплошной) А вот два шефа на одной кухне редко уживутся вообще.
А уж врачи и учителя… Особенно с учетом, что токсичными только самих врачей и учителей обзывают, а не то, с чем они работают подчас.
VolCh
16.12.2018 13:24В рамках «борьбы с токсичностью» не предлагается не сообщать программерам об их ошибках. Предлагается выбирать конструктивную форму для этого без перехода на личности.
anatolymik
14.12.2018 16:46-3Мир меняется это правда. Сопляков много расплодилось. Которым дозволили многое.
GRaAL
14.12.2018 16:51Это универсальная фраза, которую без изменений можно было бы услышать и 100 и 200 и 1000 лет назад от совершенно разных людей разных профессий.
Так что да, мир меняется, и это нормально — он так уже давно меняется.
antonkrechetov
15.12.2018 15:50Один первопроходец говорил второму «зае**нь эту х***ню», и тот мгновенно двигал футер на полкиселя влево и деплоил в продакшн даже не просыпаясь
Не понимаю, почему вы связываете уровень грубости с уровнем профессионализма. Я думаю, это несвязанные вещи. Тридцать лет назад айтишники, может, и общались так, как вы написали, но это, скорее, следствие того, что тогда насилия в обществе в принципе было больше.
И вообще, с каждым поколением насилие в обществе снижается и это прекрасно, я считаю.
Papashkin
14.12.2018 15:36Как-то раз, работая в одной петербургской компании, я хотел перейти из отдела проектирования в отдел разработки.
На встрече с начальником этого отдела мной была услышана фраза:
«Ты не разработчик, ты — говно».
Вот так, в лицо, безапелляционно.
Бывает и такое.
С тех пор я там больше не работал.striver
14.12.2018 15:42«Ты не разработчик, ты — говно».
Товарищ ничего с себя не представляет. Поэтому он сразу расставляет все точки на и. Если ты съел и согласился, то тобой можно вертеть как хотеть. То есть, в рамки этих статей, он не вписывается. Он просто нехороший человек.
Cim
14.12.2018 15:55-1Обе статьи читал по диагонали, но идите-ка вы оба.
На самом деле, есть определенная культура. Если в дружеской атмосфере коллег, друзей, приятеле — т.е. коллективе — допускается троллинг, приколы и шутки — так тому и быть.
Иногда это может перейти все границы. При этом, «вежливость» тоже может перейти все границы, и обсуждение «так делать нельзя потому, что» превращаются в 70 комментариев в пулл реквесте и три митинга. Но нужно понимать где всё таки вежливость, а где полемика. Где культурный человек, а где — дебил, который хочет не выполнять свою работу, а срулить под видом бесконечной полемики. Или может кто внимания хочет. В любом случае стоит вопрос о целесообразности продолжения работы с таким коллегой.
Так что самая короткая статья-комментарий:
h1 Идите-ка вы оба со своей токсичностью
p Есть культура. Если вы пришли, и местная культура не нравится — идите в другое место.
Парам-парам-пам!fillpackart
14.12.2018 16:09+1Читал ваш комент по диагонали, как и обе статьи, но с «но идите-ка вы оба», конечно, согласен.
striver
14.12.2018 16:12Не стоит прогибаться под изменчивый мир — Пусть лучше он прогнется под нас,
Однажды он прогнется под нас.
BotanDorin
14.12.2018 16:16Первый пост осуждал антиутопию с жёлтых страниц, в которой процветает толернтность ради толерантности а личные убеждения важнее логики.
Второй пост (этот) придирается к некоторым формулировкам в первом посте, но основную идею никак не отрицает.
Вопрос.
Знакомы ли вам Российские IT компании в которых описываемые в первом посте проблемы действительно существуют в руководстве и технических отделах?
valis
14.12.2018 16:23Между джуном, который выучил по чуть-чуть всего из всех топовых технологий и требует печенек, 4-часовой рабочий день из которых 2 часа будет играть на приставке, оклад в 4к баксов и крутым дядей сеньером, досконально знающий одну технологию (причем только определенной версии), гнобящим все остальные языки/фреймворки и всех, кто не может ответить на вопрос типа «где в байткоде CLR лежит таблица с названиями методов (ОГО ЗАВЕРНУЛ)
Вот где-то между этими явно не лучшими крайностями находятся:
— Взрослые лиды, задающие командный дух и ритм, всегда готовые помочь разобраться с проблемой и главное — постоять за свою команду и продукт.
— Ответственные разработчики, готовые пойти в бой и решить проблему (пусть даже коряво но решить) и всегда находящие время для изучения чего-то нового
— Инициативные джуны, готовые обучатся и принимать чужой опыт, которые не боятся блеснуть знаниями и подсказать опытным товарищам новую интересную библиотеку/фреймворк/язык.
Max-812
14.12.2018 16:30+2Честно говоря, что Ваш подход, что автора той статьи — по сути две крайности. Ни то, ни другое в абсолюте — нежизнеспособно.
Есть люди, которые не поймут наводящих вопросов, а вот «твой кот плохой» — поймут. А есть те, которые после «твой код плохой» будут ходить к психологу.
Универсального рецепта нет, все зависит от людей и того, как именно до них дойдет.
Истина — как всегда, где-то посередине. :)
P.S. Плюс к тому — иногда что-то исправить/переделать надо БЫСТРО. Действительно быстро, вот прям вчера еще. В таких ситуациях времени на вопросы и уламывание просто нет. Потом — можно извинится и пояснить. Но сейчас — надо делать. И иногда тут без «чистого русского языка, лишенного литературных оборотов» — просто никак.Newbilius
14.12.2018 16:45Так когда нужно "реально быстро, вот прям вчера" и на нормальный кодоревью времени нет, максимум только на уровне "точно чинит что нужно и не ломает что ненужно?" И прокомментировать этот момент вполне можно коротко и ясно, без непечатных оборотов.
VolCh
16.12.2018 13:58Ну вот как раз в авральных ситуациях нужно максимально воздерживаться от перехода на личности. Вам нужно чтобы работа делалась в максимально сфокусированном на ней состоянии или чтобы сотрудник думал во время решения задачи, а не встать ли и уйти, раз его начальник/коллеги его считают, например, уродом или лицом с нетрадиционной ориентацией?
anatolymik
14.12.2018 16:43-3Если человек обидчивый — вон из команды. Люди которые заостряют внимание на своих чувствах, не способны порадить ничего стоящего.
GRaAL
14.12.2018 16:52+1Смелое бездоказательное утверждение.
Могу высказать аналогичное: Люди, неспособные понять чувства других людей, не способны породить ничего стоящего (мы же с вами софт для людей разрабатываем, не так ли?).anatolymik
14.12.2018 16:56-2Не надо пытаться понимать чужие чувства. Во-первых, сытый голодного не понимает. Во-вторых, люди не пытаются понимать чужие чувства в целом. Главное результат. По-этому если кого-то чувства волнуют больше результата своей работы — это как минимум нытик.
На счет бездоказательности — докажите обратное. У вас получиться?vedenin1980
14.12.2018 17:06На счет бездоказательности — докажите обратное. У вас получиться?
Так это ВАМ нужно строго доказать, что ни один человек в мире, заостряющий внимание на своих чувствах, не способен порадить ничего стоящего.anatolymik
14.12.2018 17:20-5Ни о чем. Вообще. У вас на лицо все признаки отсутствия способностей воспринимать информацию в принципе.
VolCh
16.12.2018 14:01Для людей как раз главное чувства, от простых физиологических чувств типа голода до недоступных (предположительно) животным чувства гордости за отлично выполненную работу или причастности к чему-то великому.
anatolymik
16.12.2018 17:29А когда человек сделает работу плохо, но никто не скажет что она сделана плохо, какие у него будут чувства? И какой будет работа? Которая для людей предполагалась.
VolCh
16.12.2018 20:26А он сам знает, что он сделал работу плохо? Если да, то какая разница скажут или нет? А если нет, то будет думать, что сделал нормально.
anatolymik
16.12.2018 20:55Ну вы как я понимаю, выступаете против соленных изречений. Является ли по вашему утверждение «ты ничего не понял» соленным? И способно ли оно обидеть человека по вашему?
VolCh
17.12.2018 12:46Не знаю что такое «соленные изречения», но я прежде всего выступаю против неконструктивной критики работы, а, главное, против критики личности работника. «Ты ничего не понял» — гораздо ближе к токсичным изречениям чем «похоже я не смог тебе объяснить» в качестве константации факта непонимания, но и то, и другое не несёт в себе никакого конструктива. Зачем такие вещи вообще произносить?
anatolymik
17.12.2018 12:50-1Хорошо. У вас лично не будет гореть когда вы в 300-й раз объясняете человеку что земля круглая? А он вам не верит.
Иногда надо и заставить. Потому что аргументы не работают.VolCh
17.12.2018 12:57+1Да ради бога заставляйте, если считаете что это будет полезно хотя бы вам. Просто отдайте приказ без объяснений, напомните об ответственности о неисполнении, если считаете нужным. Можете в мотивационной части приказа указать «ввиду того, что земля круглая приказываю идти на запад, чтобы попасть на восток». Зачем говорить «ты ничего не понял»? Особенно когда объективно он не понял, потому что вы не нашли понятных ему слов, картинок, не знаю чего ещё.
anatolymik
17.12.2018 13:01Вы в кучу валите все. Я же говорю, я 300 раз человеку объяснил. Человек сопротивляется. И что? Лично ваши действия?
напомните об ответственности о неисполнении, если считаете нужным.
Знаете сколько раз мне это говорили. Подобное я просто пропускаю мимо ушей.
Особенно когда объективно он не понял, потому что вы не нашли понятных ему слов, картинок, не знаю чего ещё.
Ну идите детей науке обучите какой-нибудь. Я посмотрю что у вас из этого выйдет.VolCh
17.12.2018 13:57+1Лично ваши действия?
Выяснить причины сопротивления, например, найти компромисс и т. п., возможно перекидывать такие задачи на какого-то другого. Если времени нет, то просто приказать делать так, как считаю нужным. Но смысла обвинять человека в некомпетентности не вижу никакого.
Если вы что-то не можете объяснить 6-летнему ребёнку, вы сами этого не понимаете — Альберт Эйнштейн
:)
anatolymik
17.12.2018 14:10Если вы что-то не можете объяснить 6-летнему ребёнку, вы сами этого не понимаете — Альберт Эйнштейн
Он сам то много кому объяснил? Покажите мне этих 6-летних детей. И расскажите про контекст фразы. Выдергивать не надо, и подавать как вам удобно.
:)
Это и есть та самая могучая аргументация о которой все говорят? Я про ссылку на авторитет. Которого знают то только по имени. А не по его работам. Почитайте его труды. Потом расскажете мне о чем он вам написал.
UPD: Кстати фраза в оригинале звучала так: «You do not really understand something unless you can explain it to your grandmother. „
yefrem
17.12.2018 01:40+1> Не надо пытаться понимать чужие чувства.
Безотносительно кода и работы, это — очень полезный скилл, помогает понять происходящее вокруг и в своей голове. Ну и в работе с людьми поможет тоже, т.е. результат улучшится. Вы же этого добиваетесь.anatolymik
17.12.2018 01:50Вы не залезете в голову человека. И причину своей злости человек может даже сам не сознавать. Вы правда считаете что у вас это лучше получится чем у самого человека? Для этого надо быть психологом.
yefrem
14.12.2018 17:58+2Люди, практикующие токсичные комментарии, уничижительные код-ревью и переходы на личности (даже в стиле «ты некомпетентен») как раз чувствами и руководствуются. Просто почему-то считают, что их чувство праведного гнева за плохой код и судьбу продукта выше чувств обидчивого «оппонента». Истина, как всегда, где-то посередине.
UPD: посередине потому, что в ситуации, когда один позволяет себе выходить за рамки в критике, а второй на это обижается, неправы оба. Первый дает волю эмоциям вместо конструктива, а второй отказывается воспринимать рациональную часть критики из-за ее несоответствия определенной форме. Оба в конечном счете играют против интересов «продукта».anatolymik
14.12.2018 18:02-2Это все понятно. Спорить тут трудно. Но есть тонкость. Когда вы вынуждены доказывать человеку что земля круглая, и не один раз. Какова ваша реакция?
Никто же не говорит что мы начинаем с оскорблений и переходом на личности. И в целом, утверждение «ты не компетентен» по вашему является переходом на личности? А что если это факт?yefrem
14.12.2018 18:10+4Если это факт и человек безнадежен, то стоит инициировать его увольнение. Если надежда есть, то такое безапелляционное замечание едва ли поможет прогрессу. В итоге мне не приходит в голову кейс, когда подобная формулировка имеет смысл. Ну разве что в начале будет «ты уволен потому, что...»
В комментариях к предыдущей статье были варианты и пожестче, которые мне выдаются еще менее конструктивными. Почему-то их авторы считают, что сказать дураку, что он дурак — это круто и конструктивно, а обидеться в ответ — глупо и несерьезно. Мне же кажется, что оба утверждения неверны.anatolymik
14.12.2018 18:18-2Ну, опять из опыта. Уволить человека трудно. У нас в команде был персонаж, который только портил, а уволить никак. Начальство не хочет увольнять. Ну и утро естественно начиналось с того, что оказавшись на кухне, одновременно, я могу всеми матерными словами покрыть. Когда тот в свою очередь рот раскрывает.
yefrem
14.12.2018 18:21+1ну это уже явно другого порядка проблема и решаться должна в другой плоскости. Но даже если так, вы вынуждены работать вместе, разве не логичнее попытаться поладить хотя бы формально и хоть как-то работать работу, чем грызться? кто выигрывает в итоге-то? Трудно? Ну есессно, но мы же суровые кодеры с яйцами, а не унылые смузихлебы, и не такое терпели.
anatolymik
14.12.2018 18:23-1Ну а какая другая плоскость? Уйти? Там будет тоже самое.
Вы поладите, когда начнете уступать. И каков тогда будет результат?
А какое мы терпели?)yefrem
14.12.2018 18:30+2Не в плоскости личного общения разработчиков и код-ревью.
> Вы поладите, когда начнете уступать. И каков тогда будет результат?
Не знаю, а какой вам нужен? а какой будет, если не уступать?
Тут противники «толерантности» напирают на то, что настоящий суровый разработчик должен быть с яйцами, стойко переносить стресс и не обижаться. Однако же эмоциональный срыв на оскорбления сурового синьора-альфача при виде плохого кода ничем не лучше обиды смузихлеба-слабака. И тот и тот не могут контроллировать эмоции и ставят их выше интересов продукта и команды. И это в целом нормально для людей (любых), все-таки никто не сделан из стали и все имеют слабости, которые триггерятся в разных ситуациях. Однако «альфач» почему-то считает свое поведение достойным крутого парня, а обиду оппонента — недостойной слабостью, которой не место в разработке (как будто это блин армия ей-богу).
Кстати еще не раскрыта тема разработчиков-женщин. Но и не стоит, пожалуй.anatolymik
14.12.2018 18:35> Не знаю, а какой вам нужен? а какой будет, если не уступать?
Качество естественно. А будете уступать, не компетентному, будете потом как минимум выгребать последствия. Разве не так?
> Тут противники «толерантности» напирают на то, что настоящий
> суровый разработчик должен быть с яйцами, стойко переносить стресс > и не обижаться.
Ну еще раз, кто сказал что мы начинаем отношения на оскорблениях? Я нигде не утверждал что надо покрывать человека оскорблениями. И добавлю, я был пару раз в ситуации, когда на тебя бегают и жалуются начальству просто так. Вы бегаете жаловаться начальству? По-моему это даже недостойно женщины.yefrem
14.12.2018 18:43+2> Качество естественно. А будете уступать, не компетентному, будете потом как минимум выгребать последствия. Разве не так?
Не знаю вашей ситуации, возможно. А может и нет.
Если уступание снижает качество — не уступайте. Если конфликты снижают продуктивность — уступайте. Как-то так я себе представляю преданность результату без эмоций.
> Ну еще раз, кто сказал что мы начинаем отношения на оскорблениях?
А в чем принципиальная разница между оскорблениями в начале или в конце? Результат тот же.
Агрессивный срыв на 50-й (или 1-й) ПР с говнокодом это то же самое, что срыв в обиды на 50-е оскорбление (или 1-е). Просто первый вариант имеет ореол силы и благородства в определенных кругах, а второй — ореол справедливости и толерантности, но уже в других кругах. А в итоге и те и те —
> Люди которые заостряют внимание на своих чувствах
> По-моему это даже недостойно женщины.
это, кстати, достаточно сексисткая формулировка :)anatolymik
14.12.2018 18:48> Если уступание снижает качество — не уступайте
Не пошлете, человек будет вас отвлекать. Пошлете — обидится. Вот такие дела.
> А в чем принципиальная разница между оскорблениями в начале
> или в конце?
Ну хотя бы в том что вы пытались по хорошему. У нас архитектор был, который после 3-го года работы задал вопрос «как студию установить?»(я не шучу и не преувеличиваю). Вот и как с таким работать? Ему что-то поручают, а он к тебе прибегает. На понтах.
> это, кстати, достаточно сексисткая формулировка :)
Как вам угодно. Мир не мы с вами создали. Не нам это менять.
VolCh
16.12.2018 14:07Оно точно является переходом на личности, даже если это факт. Что вы хотите добиться высказыванием этого факта? Какую конструктивную реакцию ожидаете? Что человек напишет заявление на увольнение в связи с несоответствием занимаемой должности?
Druu
16.12.2018 15:03Что человек напишет заявление на увольнение в связи с несоответствием занимаемой должности?
А почему нет?
VolCh
16.12.2018 16:01Ну так прямо и скажите ему то, что вы от него ждёте («пиши заявление»), а не намёками пользуйтесь.
Druu
16.12.2018 16:45Да вроде никаких намеков как раз нет.
VolCh
16.12.2018 20:28+1Если вы говорите человеку «ты не компетентен» и при этом ожидаете каких-то действий от него, то в лучшем случае вы на что-то намекаете, о чём он может догадается, а может нет, а может сделает вид, что не догадается, а может догадается но не о том, на что вы намекали.
anatolymik
16.12.2018 17:32Добиться того, чтобы человек переделал. Я некоторые свои работы переделывал не один раз. А рекорд, 17 раз. Человек не намерен переделывать, но хочет чтобы хвалили… Интересно выходит.
VolCh
16.12.2018 20:30Вот видите, вы одно хотите сказать, Druu другое, кто-то третье имеет в виду, а кто-то вообще пользуется случае унизить человека, не ожидая от него никаких действий. Если вы хотите, чтобы переделал, то почему прямо не попросите переделывать?
anatolymik
16.12.2018 20:43Я обозначаю ошибки и в чем их суть. Давно, само объяснение занимало у меня время, т.к. причины многих вещей я и сам забыл.
Ну и тут либо для человека ты авторитет, и он пытается разобраться. Либо человек в состоянии понять. Либо человек маленький и упорно спорит, что тоже не плохо, т.к. это вынуждает меня находить для него объяснение. Либо человек маленький и говнистый.
В последнем случае очень тяжело сохранять равновесие. Особенно тогда, когда ты еще не занимаешь ведущую роль, но своих однополчан давно перерос. Вы будете в постоянном конфликте с ними.yefrem
17.12.2018 01:28то есть вы не можете контроллировать эмоции? тогда почему требуете этого от других?
anatolymik
17.12.2018 01:33Где я обозначил что я не контролирую? И где я обозначил что я требую этого от других? Я любые оскорбления глотаю(кроме некоторых). Понимание того, что человек бурно реагирует на мое требование, является следствием его неспособности выполнить — вынуждает меня терпеть. Потому что надо дать человеку остыть. Пусть орет. Это нормально. Человеческое состояние не прямая линия. Его надо просто преодолеть.
yefrem
17.12.2018 01:44> В последнем случае очень тяжело сохранять равновесие
вам в такое случае, а кому-то — в случае, когда его критикуют с переходом на личности
> Понимание того, что человек бурно реагирует на мое требование, является следствием его неспособности выполнить
Думаю, все же следствием чего-то другого. Например унизительных формулировок, или просто день не задался или еще что. Но вообще, если у вас там до криков доходит, то статейки читать, наверное, поздно.anatolymik
17.12.2018 01:49вам в такое случае, а кому-то — в случае, когда его критикуют с переходом на личности
Вы хотя бы знаете когда я на них перехожу?
Думаю, все же следствием чего-то другого. Например унизительных формулировок, или просто день не задался или еще что. Но вообще, если у вас там до криков доходит, то статейки читать, наверное, поздно.
Вы свечку держали я так понимаю? И не надо слово «орать» понимать буквально.
UPD:
Но вообще, если у вас там до криков доходит, то статейки читать, наверное, поздно.
Кстати тут вы на личности перешли. Что-то вас задело.
VolCh
17.12.2018 12:52+1Смотрите, ваша цель вроде чтобы человек переделал, но вы об этом не говорите, а говорите о том, что он некомпетентен. С одной стороны, если он некомптенетен, то как он сможет переделать, так чтоб вас устроило? Пойти в хороший вуз поучиться пять лет и переделать? Вам точно именно это нужно? С другой стороны, он может среагировать на это как другие люди ожидают — написать заявление об увольнении.
anatolymik
17.12.2018 12:57Смотрите, ваша цель вроде чтобы человек переделал, но вы об этом не говорите
Где я упомянул что я об этом не говорю? По-моему я сказал что описываю место ошибок и описываю суть ошибки.
С одной стороны, если он некомптенетен, то как он сможет переделать, так чтоб вас устроило?
Переделывать будет столько раз, сколько потребуется. Но практика показывает что после второго код ревью, джун начинает ныть. А не задницу рвать. Ну и что я ему сказать должен? Увольнять я не привык. Но переделывать будешь. Сопли вытирать я не намерен.
С другой стороны, он может среагировать на это как другие люди ожидают — написать заявление об увольнении.
Флаг в руки. Не способен сделать волевое усилие над собой — успехов на новом месте.
Я нигде не упоминал, что я оскорбляю. Но когда джун начинает ныть, я так и говорю — «не ной». Это тоже оскорбление?VolCh
17.12.2018 14:02По-моему я сказал что описываю место ошибок и описываю суть ошибки.
А указание переделать даёте? Из фразы "вот тут сделано неправильно, правильно вот так" вовсе не следует, что надо всё бросить и начать переделывать.
Оскорблением тут может оказаться фраза "ты некомпетентен". Зачем вы её произносите, кроме случаев объяснения причин увольнения? Указали на ошибки, объяснили как надо, дали указание переделать как надо. Зачем оценивать человека?
VolCh
16.12.2018 14:05Всё же не посередине, не поровну неправы, а критик больше не прав. Его действия причина, а возможный отказ (не всегда сознательный и/или полный, просто потеря основной части мотивации, например) — лишь следствие.
sergeymelnichuk
14.12.2018 17:16Достойный ответ, конструктивная критика вместо пассивно-агрессивного тона и кворум для принятия решений позволяют быстро и безболезненно решать много производственных вопросов.
Поможет еще явное формулирование ценностей команды (манифест), который принимают все члены команды и который регулярно поддерживается в актуальном состоянии.
orion76
14.12.2018 17:24Запрещать «слова» — очередная борьба со следствиями.
Как показывает жисть, слова не имеют какого-то однозначного собственного смысла.
Смысл в них вкладывают те, кто их использует.
Боюсь, через какое-то время в слово hug вложат такой смысл, что барышни, услышав его будут краснеть и падать в обморок-)
Когда-то, слова «голубой» и «черный» — просто обозначали цвет.
anatolymik
14.12.2018 17:30-5Вот бедолаги. Стоило только написать про нытиков, как тут же пошли минусы в карме. В прочем других на хабре нет давно.
GRaAL
14.12.2018 17:41+3Не ной
anatolymik
14.12.2018 17:48-4Какой серьезный молодой человек. Все? Утвердился?
JustDont
14.12.2018 18:07+4А чего вы такой обидчивый-то? Вы ж сами вон выше пишете:
Если человек обидчивый — вон из команды.
anatolymik
14.12.2018 18:14-2Уважаемый, где я обиделся? Я минусы не ставлю. Ни в коментах, ни в карме. Я просто мимо иду. Или ставлю плюсы если мне нравится.
Я не смешиваю работу человека, и его личность. Человек может меня послать. А работа его будет хорошей. Это не связанные вещи.
А тут я заметил пару персонажей которые смешивают. Почему бы не по язвить? Ну хотя бы потому что на работе с такими сделать ничего не получиться. Потому как корпоративный дух и все такое. Некоторых надо просто бить(это я не применительно к вам).
Короче я душу отвожу тут. Воспринимайте как хотите. Но я был честен.JustDont
14.12.2018 18:23+4Нет, я это написал к тому, что я всегда наблюдаю некоторое противоречие, когда человек, ратующий за правду-матку, стальные нервы, и необидчивость — отхватив немного минусов, идёт и пишет много-много комментов в духе «за что», «ну как же так», и «чё минусуете-то?».
Оценка комментов и карма — это самые наичестнейшие показатели того, что вы некоему кругу людей не нравитесь (ну или нравитесь). Они анонимные by design, и поэтому жаловаться, что вас минусуют и не пишут за что — в высшей степени странно. Это просто не предусмотрено механикой. Ну и все эти ваши комменты — это явный показатель, что ситуация вас задела. Но чего ж вы тогда за необидчивость ратуете, если сами не соответствуете?anatolymik
14.12.2018 18:25-2Я спросил «за что»? Я жаловался по вашему? Вы похоже не поняли почему я это написал.
Ну еще раз, в каком месте я обиделся?
Впрочем если вы так считаете, вас не разубедить. А я не намерен.
altrus
14.12.2018 18:26Оценка комментов и карма — это самые наичестнейшие показатели того, что вы некоему кругу людей не нравитесь
100%
И оценку этому кругу можно дать вполне четкую в духе топика. Я по крайней мере могу.anatolymik
14.12.2018 18:28Вы знаете, вы можете не нравиться кругу людей за то что делаете работу лучше. И чего стоят тогда эти оценки?
UPD: И в целом это часто. Вы не нравитесь — потому что можете делать сложные вещи. Завистников много.xitt
14.12.2018 18:57+2Или потому что вашего кода никто не понимает? Тут непонятно что лучше, сделать вещь, но никто не понимает, или не сделать.
anatolymik
14.12.2018 19:29Ну ракеты сложны в своем устройстве. Квантовую механику мало кто понимает. Лучше просто похоронить эти науки я так думаю.
MacIn
14.12.2018 21:40Не все то золото, что блестит.
altrus
14.12.2018 21:44Все баталии в комментах по этим статьям про «токсичность» факторизуют людей на две группы. Первая заявляет, что идиоты есть, и к ним иногда нужно относиться как к идиотам. Вторая утверждает, что идиотов нет и все люди братья.
yefrem
14.12.2018 21:53а как нужно относиться к идиотам?
altrus
14.12.2018 22:52Вы когда человека с болезнью Альцгеймера встречаете, примерно представляете, как к нему относиться? Не бежите же на Хабр, не задаете таких вопросов?
Если для вас идиоты существуют, то вы без меня знаете как вам к ним относится — исходя из своего опыта.
Если не существуют — ваш вопрос бессмыслен.yefrem
14.12.2018 22:58честно говоря, давно не встречал и вот прям честно не понял аналогию. Еще интересно, если идиоты в данном контексте — то же самое, что и больные альцгеймером, то интересно, откуда они у вас в команде взялись?
altrus
14.12.2018 23:13Надо же, кто-то плюсанул карму, и могу ответить вам сегодня.
Идиоты в данном контексте с больными Альгеймером ничего общего не имеют, я подобрал плохую аналогию. Возьмите вместо больных космонавтов. Или сотрудников ФСБ. К каждому из них вы как-то относитесь. И к идиотам тоже свое отношение выработаете наверняка.
Я хочу заметить, что на гос- и муниципальной службе некомпетентность (несоответствие должности) карается минимум увольнением (в идеальном платоновском государстве). А если такой служащий нанес вред вследствие своей некомпетентности, то это уголовная ответственность.
Поэтому слышать, что в коммерческих фирмах некомпетентность (грубое несоответствие своим профессиональным обязанностям на данной позиции) просто так прощается просто смешно. Такой бизнес обречен. Для всего есть мера.JustDont
15.12.2018 00:28+2Некомпетентность программистов — это чуть другая штука, чем некомпетентность, скажем, уборщиков (ничего не имею против оных).
Программисты частенько занимаются тем, что решают проблемы через написание кода.
Вот именно в такой постановке. Не <какой-то узко очерченный круг проблем>, а проблемы вообще. Иногда про эти проблемы что-то заранее известно, но не всегда. Соответственно, когда программист не может решить какую-то проблему — это может означать массу вещей, от того, что проблема вообще написанием кода не решается, до того, что, условно говоря, специалисту по микроскопам поручили забивать гвозди, и у него из-за этого дело не идёт. Или что программист некомпетентен, да. Но это только один из вариантов.
MacIn
14.12.2018 23:20Не заметил именно такой полярности, по-моему, спектр мнений шире.
Более того, мой ответ относился к конкретному демагогическому приему anatolymik
GRaAL
15.12.2018 11:46+1Передергиваете.
Я тоже так могу: Первая заявляет, что если кто-то что-то делает не так как им кажется — это 100% идиот и надо относиться к нему как к идиоту. Вторая утверждает, что человек может совершать ошибки по иным причинам, нежели идиотизм.
xitt
15.12.2018 04:44Обобщаете от частного к общему. Проще было бы сказать — «Ну тогда лучше не жить, жизнь сложна!», и вы победили в споре. Вам говорят о командной работе, и почему она иногда не складывается, а не о том что существуют сложные вещи и их сложно понимать.
anatolymik
16.12.2018 17:49Ну, с детским садом трудно будет работать. И вам тоже.
UPD: И почему я должен подстраиваться под того, кто не может понять сложный код?xitt
16.12.2018 18:36Как вариант, потому что если вы старший инженер, или ведущий разработчик, вам приходится работать с людьми, которые иногда не понимают для чего вы то или иное делаете? Не могут все быть старшими или ведущими.
anatolymik
16.12.2018 20:04Вы хотите сказать что обезьяну можно хотя бы печатать научить?
Я честно говоря про такой подход в программировании в первые слышу.xitt
16.12.2018 23:49Все что я хотел сказать, я сказал. Кроме того, мы много о чем в жизни еще не слышали, это не значит, что этого не существует, или что это какой-то, хотябы малозначимый, аргумент. Удачи во всем!
anatolymik
17.12.2018 00:19Ну, вы знаете, это не разговор. Если вы знаете такой пример — приведите.
Лично я не рассуждаю о вещах о которых не слышал. Или слышал, но теорию. Исхожу из практики. Сталкиваюсь — меняю поведение. Или не меняю, если не способен понять.
Пока что, я только наблюдал, что старший исправляет за джуном. Или джун за старшим, если последний дурак. Но не видел еще что можно поручить работу человеку, который в ней понимает даже поверхностно.Lissov
17.12.2018 00:35Говоря Вашим примером про ракеты — есть большая разница между «суметь придумать», «суметь реализовать» и «суметь понять». Например, Королёв и Циолковский могли «придумать» ракету, но им надо было описать это так, чтобы сотни обычных инженеров могли доделать детали.
Аналогично с софтом — старший может продумать то, что джун не сможет. Может написать так, что джун не поймёт — и это плохо. А может так, что джун поймёт и сможет далее развивать — и вот это хорошо.anatolymik
17.12.2018 01:08Для того чтобы суметь придумать, нужно было быть джуном. Т.е. реализовать человек мог. По крайней мере то что делал. А оба предыдущих случая говорят и том что понять человек тоже мог.
Аналогично с софтом — старший может продумать то, что джун не сможет.
Потому что у старшего есть опыт.
Может написать так, что джун не поймёт — и это плохо.
Потому что у джуна нет опыта старшего.
А может так, что джун поймёт и сможет далее развивать — и вот это хорошо.
Тогда это будет примитивная вещь. И каким будет весь продукт? Человеческий опыт показывает что вещи только усложняются. В комплексе.
А все что я хотел сказать примером своим, это то, что надо не подстраиваться под джуна, а вынуждать его становиться на планку выше. Почему я должен под джуна подстраиваться и сопли ему вытирать? Пусть задницу рвет. По крайней мере, мой интерес такой — человек на месте должен расти. Иначе ни о каком развитии речи. Если человек вдруг не собирается или вдруг ему должны — нечего с ним работать.
А что до Королева он в двигателях вообще ничего не понимал. Понимал конечно, но поверхностно. Он их заказывал у других КБ. Выдвигая только требования. Например у Глушко. И инженерией он занимался намного меньше чем политикой. Т.к. военных кроме войны ничего не интересовало, когда Королев с самого начала хотел построить ракету которая полетит на луну, а после на Марс. Именно поэтому наши ракеты рассчитаны на орбитальный полет, а ракеты США на вертикальный. Но чтобы продавить это решение Королев не мало водки выпил в нужных местах. Последнюю ракету которую он строил, он делал на безопасном топливе. Из-за чего с Глушко он поругался. И двигатели, последний, отказался делать. Из-за чего сложность ракеты сильно возросла. Количество двигателей у нее было больше чем у других ракет. Из-за чего было сложно синхронизировать их работу. Так и не доделал. Сгорел на работе дядька. А жаль. Кстати он псих был редкий. Слова «уволю» из него вылетали часто в порыве гнева. «Токсичный» был.Lissov
17.12.2018 01:26Тогда это будет примитивная вещь. И каким будет весь продукт?
Например таким, как космическая ракета.
Ещё раз, сеньор может придумать решение, до которого джун не додумается. А потом может (ИМХО должен) описать так, что джун поймёт. Да, джун не сможет предложить альтернативу, найти ошибку и т.д., но понять как это работает, почему, и как на основе этого решать его задачи (более простые конечно) — вот это сможет.
А вынуждать становиться на планку выше — это да надо.
Только практика показывает, что если написать код так, что джун не поймёт, то сначала джун понаделает ошибок потому что он не понял. А потом и сам «опытный» позабедут и недопоймёт. Планку можно поднимать другим образом, кроме написания нечитаемого кода.anatolymik
17.12.2018 01:29Понимать и делать не одно и тоже. Вы в школе химию понимали? А вы химик? И если да то какой?
Lissov
17.12.2018 02:01Теорию химии на уровне школы придумали люди с сильно более высокими знаниями, чем мои. Именно потому, что они смогли придумать и описать на понятном мне уровне, я её понимал. И мог решать задачи того уровня, и может быть допрыгнуть на уровень выше.
Я совсем не химик.anatolymik
17.12.2018 03:02Теорию химии на уровне школы придумали люди с сильно более высокими знаниями, чем мои.
Химия не теория. Химия — наука. И люди которые систематизировали её в науку не обладали тогда более высокими знаниями. О которых вы говорите. Они на протяжении десятилетий выявили её законы и описали. О чем потом вам говорят в школе. Знания у вас с ними одинаковые. Только они обладают аналитическим мышлением, которое развилось в результате поиска этих знаний.
Поэтому ваш ответ мне не ясен.Lissov
17.12.2018 03:16Раз Вам не ясен мой ответ, то не стоит продолжать про химию. Я её недостаточно хорошо знаю, и в более подробном объяснении Вы скорее всего найдёте химические ошибки.
Я имею в виду, что придумать алгоритм, разработать архитектуру проекта, оптимизировать производительность — это требует знаний и опыта, которых у джуна может и не быть. Но результат может быть описан в таком виде, что джун поймёт как это работает и сможет дополнить/изменить/исправить.
Конечно, требование определённого уровня джуна не отменяется. То есть надо брать в команду джунов соответствующего уровня, а далее уже рассчитывать и на них.anatolymik
17.12.2018 03:31Раз Вам не ясен мой ответ
Вам не обязательно с большой. Можно и на ты.))
Но результат может быть описан в таком виде, что джун поймёт как это работает и сможет дополнить/изменить/исправить.
Не согласен. Сам был джуном, и помню каким тупорогим я был сам. Говорили мне правильные вещи. Но понять я их был не способен. И чем проще вещь — тем сложнее её понять.
anatolymik
14.12.2018 18:28Так еще один оскорбленный на горизонте.
stalactite
15.12.2018 14:01-3А тут давно банят неугодных, боятся правду публиковать (это я про ализара), хотя в тех же правилах ресурса написано, что здесь уважают и приветствуют отличное от большинства мнение, но по факту это не так вообще.
TheYellingChives
14.12.2018 17:42Ваш ответ на вторую цитату противоречит вашему ответу на первую цитату. Если человек делает тысячу раз одни и те же ошибки — это и есть самая настоящая некомпетентность.
Но в целом да, согласен с вашей позицией. Добавлю только, что есть тип людей, которые могут создавать атмосферу при которой смело можно говорить в лицо «твой код полнейшнее дерьмо :)» и человек не обидится ни капли, у него вообще не будет никаких отрицательных эмоций.VolCh
16.12.2018 14:44А может быть как раз показывает компетентность, потому что только вы считаете, что это ошибка, а он нет. И вы его убедить не смогли.
anatolymik
16.12.2018 17:36Есть вещи которые у опытного давно на подкорке зашиты. Ты уже не помнишь почему так правильно. Просто делаешь. И то что человек не смог объяснить, могло быть обусловлено многими причинами. Например — устал. Отсутствие объяснения само по себе ничего не доказывает.
VolCh
16.12.2018 20:39+1А может оказаться, что когда-то так было правильно, на подкорку записалось, но с тех пор перестало быть актуальным. Ну, например, было два варианта в языке делать одно и то же, но один был сильно медленнее. Записалось, но за N лет оптимизировали транслятор языка и теперь разницы нет. Или контекст был другой какой-то тогда, а сейчас другой.
Ну и, да, отсутствие объяснения ничего не доказывает, в том числе правоту опытного.
anatolymik
16.12.2018 20:52Может, но на моей практике такого не было. Из вашего же примера. Когда-то я пишу алгоритм. За много лет транслятор улучшили. И оба метода теперь работают быстро. Значит когда-то в прошлом я использовал скоростной метод. Плохо его знать? И плохо его использовать на автомате? И допустим даже это так, и я этого не знаю. Так мой оппонент и этого не говорит, тогда как?
Когда мы говорим о подобных ситуациях, я даже не подразумеваю что мы спорим об алгоритмах. Споры всегда на более примитивном уровне. Про сами алгоритмы, в большинстве случаев, ответы всегда однозначные. Вы четко расскажете их плюсы и минусы.
Ну и, да, отсутствие объяснения ничего не доказывает, в том числе правоту опытного.
ПередергиваетеLissov
17.12.2018 00:30А можете привести хоть один пример?
Потому что я не припомню ни разу чтобы я не мог объяснить человеку, почему я считаю что он неправ.anatolymik
17.12.2018 01:17Ну объясните мне почему я не прав? Получиться? (Не сочтите за желчь, я говорю серьезно). Если я человек другой полярности, вы мне в принципе ничего не докажете. Или я человек другого жизненного опыта, то тоже не докажете. Разговор выродится в метание субстанций друг в друга.
А можете привести хоть один пример?
Говоришь человеку, что когда я драйвер написал, я же и пишу user mode библиотеку к ней. А он пользуется уже ее интерфейсами. Во-первых, потому что я и только я знаю как устроен драйвер, и поэтому я и только я могу сделать user mode интерфейс к ней лучше чем остальные. В любом случае это сэкономит время. Человек не соглашается. Ну хорошо, подумал я. Делай. Человек отнял кучу времени у меня. Библиотека его, не была выделена в отдельный проект в виде статической библиотеке. Был копи-паст во все подпродукты. Объясняю, что делать так не надо. Также я привел аргументы почему. Потому что когда интерфейс поменяется, на стороне драйвера(а он поменяется, потому что он будет развиваться), придется во всех местах копипаста делать соответствующие правки. А это не только времени в правках добавляет, но и увеличивает вероятность ошибки. Человек этот аргумент воспринять не смог. Мне нужно было ждать месяц. Пока до него дойдет. А между тем дело стояло.Lissov
17.12.2018 02:41Ну объясните мне почему я не прав? Получиться? (Не сочтите за желчь, я говорю серьезно). Если я человек другой полярности, вы мне в принципе ничего не докажете.
А я ведь выделил слово "считаю" и ожидаю, что другая сторона выскажет свою аргументацию своего «считаю». В случае кода или подобного технического вопроса кто-то из нас что-то докажет (и не всегда это буду я). В субъективных вопросах сложнее.
Про пример
Говоришь человеку, что когда я драйвер написал, я же и пишу user mode библиотеку к ней.… В любом случае это сэкономит время. Человек не соглашается.
Не соглашается потому что считает, что Вы преувеличили объем работ, или просто самоуверенный? Если первое — возможно стоит подробнее разобрать. Если второе — иногда стоит проучить, взялся за сроки — неси ответственность. Потому что это к любой задаче в принципе применимо.
Объясняю, что делать так не надо. Также я привел аргументы почему.… Человек этот аргумент воспринять не смог.
Интересно, какие аргументы приводились с другой стороны? Как и в первом случае, можно подключить коллег, начальство. Если человек адекватен — то договориться всегда можно (и да, Вы тоже можете оказаться неправы). Если неадекватен — мне такие пока не попадались, но зачем с ним работать?
В любом случае, с аргументами «почему так лучше» гораздо больше шансов добиться результата, чем с позицией «я опытный и знаю».anatolymik
17.12.2018 03:15А я ведь выделил слово «считаю» и ожидаю
А я знаю, для чего такие слова употребляют. Чтобы невозможно было к человеку придраться. Именно по этому и вы употребили это слово. Во-вторых, стоит это слово не употребить, как это вызовет гнев у среднего читателя. Потому что чужие чувства надо щадить.
Не соглашается потому что считает, что Вы преувеличили объем работ, или просто самоуверенный?
Потому что он хочет сам.
Если первое — возможно стоит подробнее разобрать.
Вы ожидаете от меня что я сознаюсь вам в том что я облажался? Сознаваться никто не любит. Для этого надо мужество.
Если второе — иногда стоит проучить, взялся за сроки — неси ответственность.
Моя задача научить человека. Поэтому надо дать возможность ошибиться. Увольнением я не добьюсь этого. На моей практике пока сами уходили, со словами «не мое».
Интересно, какие аргументы приводились с другой стороны?
«А в чем проблема доработать везде?»
Если неадекватен — мне такие пока не попадались, но зачем с ним работать?
Затем, что других нет. В смысле, работай с тем что дают.
В любом случае, с аргументами «почему так лучше» гораздо больше шансов добиться результата, чем с позицией «я опытный и знаю».
Мне казалось я привел пример. В примере я не описывал ситуации где я употребил второе.Lissov
17.12.2018 03:34А я знаю, для чего такие слова употребляют. Чтобы невозможно было к человеку придраться. Именно по этому и вы употребили это слово.
При чём здесь «придраться»? Я говорю о том, что я всегда могу обосновать, почему я решил что в коде ошибка, а не просто сказать «тут ошибка» без подробностей. Смогу ли я доказать, или меня переубедят — это другой вопрос. И да, весьма часто таки переубедят.
Мне казалось я привел пример. В примере я не описывал ситуации где я употребил второе.
А зачем Вы привели этот пример? Ветка комментариев началась с Вашего «на подкорке зашиты.… не помнишь почему так правильно… не смог объяснить». Именно с этим я не согласен, такой пример было бы интересно.anatolymik
17.12.2018 03:40При чём здесь «придраться»? Я говорю о том, что я всегда могу обосновать, почему я решил что в коде ошибка, а не просто сказать «тут ошибка» без подробностей.
«Я считаю ....» или «Мне кажеться ....» не обоснование. А мнение.
А зачем Вы привели этот пример?
Вы просили пример, я его привел. Что не так то?
VolCh
17.12.2018 13:14Ну вот вы на автомате пишите способом, который когда-то был быстрее. Ваш оппонент написал способом, который теперь так же быстр. Вы называете оппонента некомпетентным, его код плохим и требуете код переделать «вашим» способом без объяснений чем предложенный код плох, кроме того, что этот не тот способ который вы используете на автомате даже не помня уже почему.
anatolymik
14.12.2018 17:50-3Мне уже интересно стало получиться ли у меня сегодня в минус карму загнать. Нытики я тут.
Filippok
14.12.2018 17:56Кто вообще захочет работать с токсичным членом команды?
Я. Если я могу чему-то научиться, я буду рад если мне во всех красках расскажут почему мой код — говно.
Если бояться навредить психике очередного смузихлеба не умеющего слушать критику, то быстрое код-ревью может превратиться в длительную дискуссию с вопросами "а почему? а зачем?". Агрессивный ответ же убьет желание задавать глупые вопросы и даст мотивацию разобраться самому.
GRaAL
14.12.2018 18:16+2убьет желание задавать глупые вопросы
Да.
даст мотивацию разобраться самому
Нет.
Глупые вопросы полезно задавать. А сеньорам полезно на них отвечать. Иногда оказывается, что вопрос не такой уж и глупый.
altrus
14.12.2018 18:13кстати…
Прилагательное «токсичный» (toxic) признано специалистами – авторами Оксфордского словаря словом года, сообщает РИА Новости.
За год количество просмотров страницы, объясняющей значение слова «токсичный» (toxic), увеличилось на 45%, говорится в сообщении на сайте словаря.
Ну и пятничная олдскульная классика про токсичных пацанов...
Electrohedgehog
Уже иду)
Я писал не про достаточную вежливость а про избыточную вежливость. Про то, что не надо говорит какими-то переусложнёнными оборотами из за опасения кого-то обидеть. Дать явно понять что человек некомпетентен не значит как-то унизить его, а аргументированно указать слабые стороны и объяснить, что с этим делать.
Атмосфера «ты всё сделал хорошо, но переделай-ка с нуля» сама по себе серьёзный стресс. Кроме того, бессмысленные похвалы роняют ценность осмысленных.
А вообще приятно читать аргументированное мнение адекватного человека. Ваш опыт и суждения, на самом-то деле, не особо расходятся с моим представлением о вежливости и грубости, просто я привожу граничные случаи, а вы нормальные.
altrus
Избыточная вежливость и борьба с токсичностью приведут к движению ЛГБТ в разработке ПО
Не в смысле геи, а в смысле все такие особенные и изнеженные и с правами всякими, которые все, как бы, нарушают
С блэкджеком и камингаутами
Я не знаю, как это будет выглядеть, но семантика будет такая
domix32
Oh wait… Они уже так делают. Просят
CoC
и в наши репозитории, жалуются на твиттеры разработчиков в issue на гитхабе этих самых разработчиков, переименовывают устаявшиеся термины, потому что строчки кода угоняют людей в рабство и не компилятся на машинах разработчиков потому что они черные. </sarcasm>mezastel
Тэг сарказма в вашем комментари неуместен, т.к. то что вы написали — не сарказм а реалии.
domix32
В действительности это лишь граничные случаи и просто drama, звериная доля разработки не страдает от вышеперечисленного. Хотя если покажете код который определяет расу по отпечаткам пальцев с клавы и блокирует свое исполнение — буду безмерно благодарен.
ganqqwerty
Давно тут. Вот например переименование продукта для тестирования testacular в безликую Karma, потому что как можно намекать на яички, вдруг кто обидется? 2013 год товарищи.
namikiri
Как же это неистово, дико грустно! Всё становится безликим и нейтральным. Отвратительно!
justboris
Вообще-то они все правильно сделали.
Например, за год до появления Yarn уже был один альтернативный клиент для npm: https://github.com/alexanderGugel/ied
Но он так и не нашел активной поддержки в сообществе, и одной из причин являлось то, что аббревиатура IED означает самодельное взрывное устройство (СВУ). Об этом автору неоднократно сообщали (1, 2, 3), но так ничего и не изменилось. Пользователи проголосовали ногами, мало кто захотел тащить в продакшен проект с террористическим контекстом, и проект понемножку загнулся. Последний коммит был в 2016 году.
В результате об этом проекте почти никто не знает, в то время как другие решения с более благозвучными названиями, например pnpm до сих пор существуют и развиваются за счет комьюнити.
Подозреваю, что если бы команда Karma не решилась бы на переименование, то их проект ждала бы такая же судьба, а мы бы пользовались совсем другим тест-раннером.
VolCh
В таких случаях, по-моему, важнее то, что поисковики дают на попытки гуглить без уточняющих слов. Вот погуглил прямо сейчас не анонимно, гугл «знает» что джс экосистема основная область моих поисковых запросов на английском, иногда php. По npm и yarn — главные страницы продуктов, по ied — институт дизайна какой-то на первом месте, на втором — страница вики по СВУ, ну и далее чередуются. Ничего про js
justboris
Так более качественный подбор результатов поиска это следствие, а не причина. Yarn это же тоже обычное слово, означает пряжу. В инкогнито-режиме Гугл находит немало видеоуроков по вязянию (хотя и ссылок на Yarnpkg там тоже хватает).
Были бы пользователи, будут и соотвествующие поисковые запросы, и Гугл научится подбирать результаты.
Так что основная причина неудачности имени указана в комментарии ниже. Сложно предлагать коллегам библиотеку с негативным именем.
edwardspec
ainoneko
KeepAssKeePass как-то рекомендуют (Хотя программа «RedButt» аналогичного назначения (по мнению русскоязычного автора это от слов «Red Button») куда-то исчезла).(Не знаю, рекомендуют ли программу для конвертации .LIT-файлов.)
0xd34df00d
Coq используют и не парятся, хотя название на английском ну очень неблагозвучное.
hdfan2
Справедливости ради, KeePass (даже не задумывался над другим вариантом написания) — не библиотека, а программа для простого (не корпоративного) пользователя. И крайне маловероятно, что какая-то контора будет её закупать для своих работников (ну или, в данном случае, откажется от закупок из-за неблагозвучного имени). А уж для простого пользователя программу можно называть как угодно, и чем оригинальней, тем лучше.
ganqqwerty
Как сейчас помню библиотеку libcaca для текстовых интерфейсов — очень даже популярная)
hdfan2
А что, для англоязычных это название тоже несёт какое-то неприличное/забавное значение?
ganqqwerty
вы на ее логотип посмотрите
vadim_bv
Судя по тому, что Фредди Меркьюри переиначил высказывание сына кого-то из своих коллег по Queen в Radio Gaga, то да. См. также www.urbandictionary.com/define.php?term=caca и en.wiktionary.org/wiki/caca
varanio Автор
Мне тоже было интересно читать вашу статью. Поэтому было интересно на нее ответить )
VolCh
Заменить «твой код плохой» на «этот код не будет работать при таких-то условиях» или «потребление ресурсов тут растёт экспоненциально, а могло бы логарифмически» — это не избыточная вежливость, а конструктивная критика результат работа.
sergey-gornostaev
Насколько я понял Electrohedgehog, он писал про набирающую обороты тенденцию называть токсичным поведением конструктивную критику, что в конечном счёте выливается в замалчивание проблем.
JustDont
А такая тенденция есть и набирает обороты? Я бы так не утверждал.
То, что нынче любят называть «токсичным поведением» всё подряд, что им не является — это нормально, это мода. Во все времена есть термины, которые пихают туда, куда их не нужно пихать.
Вот например, у меня в конторе в эти годы «токсичным поведением» называют обычное «я начальник, ты дурак» — в смысле, если кто-то критикует бредовое поведение вышестоящего начальства. Не в тему? Безусловно. Но вот такая нынче реальность. Лет 10 назад то же самое называли «неуважением к чужому опыту».
sergey-gornostaev
Достаточно оценить популярность статей на эту тему, чтобы понять их актуальность.
xitt
Это плохо, что это уже считается нормальным. Это следствие offended-culture. Другими словами, мода быть обиженным порождает моду на называть все токсичным что ни попадя.
domix32
По-русски это называют «выученная беспомощность»
JustDont
Избыточность субъективна. Для нормальной атмосферы в команде нужно выдерживать некий средний уровень по этой конкретной команде, а какой он будет — зависит от её состава. Слишком низкий уровень вашей вежливости относительно команды — скорее всего приведет к тому, что вы получите коллективную обструкцию и будете уволены; слишком высокий — к тому, что, вероятно, сами уйдете, устав от стресса.
aleksandros
В современных книгах о психологии общения вообще дают странные советы. Ну типа сказать не «Твой код плохой», а что-то вроде «Мне было бы приятно, если бы исправили эти ошибки».
VolCh
Что в этом совете странного, кроме разве что излишней концентрации на «мне будет приятно»?
MacIn
То, что простые вещи высказываются околесицей. Как говорили про англичан (стереотипы) в школе, мол, они высказывают просьбы очень завуалировано. Вместо «дайте, пожалуйста, соль» — «Я очень извиняюсь за беспокойство, но не будете ли вы так любезны, если вам не сложно, передать соль?».
В общем, это зависит от культурного контекста (не в смысле уровня развития, а в смысле национального колорита).
VolCh
«Твой код плохой» — это может и простая вещь, но абсолютно неконструктивная с признаками атаки на личность автора, пускай и несознательной. Да, я бы вместо «Мне было бы приятно, если бы исправили эти ошибки» предпочёл «Исправь, пожалуйста, эти ошибки», но «твой код плохой» не несёт абсолютно никакой информации, на базе которой можно что-то сделать полезное, но при этом воспринимается как личная неконструктивная критика.
aleksandros
С одной стороны вы правы. Но с другой нет. Критика, замечание служит толчком к переосмыслению своих поступков. Например, человек может дать зарок проверять дважды, быть внимательнее и т.п. Это шаг вверх, так сказать, и это адекватное поведение зрелого человека, не считающего себя идеальным и понимающим, что всегда есть куда расти. А нарочито доброжелательное, с деланым спокойствием, объяснение ошибок отдаёт детским садом.
VolCh
Критика критике рознь, замечание замечанию рознь. Чем меньше негатива и личностных оценок в критическом замечании, тем выше вероятность что он будет толчком к разумному переосмыслению, а не толчком к эмоциональному конфликту. Вгонять человека в стрессовое состояние путём давления на его эмоциональную сферу может быть полезно в краткосрочной перспективе, на разовой срочной и важной задаче, но уже в среднесрочной приведёт в лучшем случае к выгоранию — нельзя быть постоянно мобилизованным.
antonkrechetov