[Перевод] Злой за корону: О программистах и ​​негативной энергии

программист Программа перевода самородков

Бешенство за короной за код: О программистах и ​​негативной энергии

他们怎么能这么对我们

(Эта статья была переведена какрусскийа такжеиспанский язык, спасибо переводчикам. )

В данный момент я смотрю на кусок кода. Этот код, возможно, один из худших фрагментов кода, которые я когда-либо видел. Чтобы обновить одну запись в базе данных, автор фактически получил каждую запись в коллекции, а затем обновил ее для записи в базе данных.каждая записьОтправьте запрос на оба, а не только на тот, который необходимо обновить. В коде также есть функция карты, которая ничего не делает, кроме как возвращает переданное значение. Есть также условные операторы, которые проверяют переменные с одинаковым значением, но разными стилями именования (верблюжий регистр и подчеркивание). Для каждой операции обновления (каждой записи, включая неизмененные записи) в шину сообщений отправляется сообщение для вызова другого бессерверного метода, который выполняет все операции для другой коллекции в той же базе данных. Разве я не упомянул, что это бессерверная функция в «архитектуре» облачных «сервисов», таких функций более 100 в каждой среде?

Это все еще то, что люди делают? Я спрятала лицо глубоко в ладонях и не могла не смеяться и не плакать. Коллеги спросили меня, что не так, поэтому я дал им яркое описание этого списка самых мусорных кодов BulkDataImporter.js 2018 года, составленного Чаком Парсли. Все сочувственно кивали, и мы все думали: как они могли так с нами поступить?

Отрицательная энергия: эмоциональные инструменты в культуре программирования

Отрицательная энергия — важная часть программирования. Негативная энергия укоренена в нашей культуре на нескольких уровнях, поскольку мы делимся опытом и слезливыми историями («Кодекс написан так,ты можешь поверить? »), выражая и сочувствуя разочарованию («Боже мой! Как ты можешь такое делать!»), приукрашивая себя лучше («Если бы это был я, я бы не смог это написать».очень плохочто?»), бросание мяча («Мы потерпели неудачу, потому что грязь кода Чака Парсли не выдержала стену») или унижение и манипулирование людьми в плохой атмосфере («Можно ли писать код? Исправьте свои ошибки сейчас же» ) !") Путь.

来自 [ProgrammerHumor](https://www.reddit.com/r/ProgrammerHumor/comments/b4jfr7/i_cant_be_the_only_one/)

Негативная энергия так важна для сообщества программистов, потому что это самый эффективный способ передать ценности. Когда я вел семинар по программированию, было стандартной практикой прививать студентам отраслевую культуру с помощью соответствующих пародий, анекдотов и видео, и самые популярные темы в этих материалах вращались вокругРазочарование программистов перед дилетантамииз. Если вы хотите указать, какое поведение является хорошим, плохим и достаточно плохим, чтобы его никогда не совершали, лучше всего использовать эмоциональные инструменты для его выражения. Это должно помочь начинающим программистам хорошо справиться с психологическим конструированием, дать им понять, что они будут так или иначе поняты коллегами в нетехнических отраслях, будут друзья, которые придут в Amway за своим «миллионным» приложением. идеи; Под горой Учжи из «Кодекса предков» вам трудно сбежать, даже если вы сделаете несколько сальто на 8848 световых лет.

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

来源:[ProgrammerHumor](https://www.reddit.com/r/ProgrammerHumor/comments/b7mlgt/programmers_d/)和 [Twitter](https://twitter.com/type__error/status/1111972689609138177)

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

С течением времени и ростом знаний оригинальный Мэнсинь теперь может различать хорошие и плохие стороны кода. Оказавшись на этом этапе, они воочию испытывают разочарование из-за плохого кода, с которым они сталкиваются на работе, если они находятся в группе (будь то в сети или в реальной команде) с программами, которые старше их. Эмоциональные привычки участников часто проявляются в них. . Теперь они могут честно анализировать код и различать плюсы и минусы кода, что делает их очень "познаваемыми", в этом процессе обычно накапливается негативная энергия. Чем больше негатива, тем лучше: выражение вашего недовольства поможет вам легче слиться с коллегами и командой, а унижение плохого кода может возвысить вас и сделать вас более похожим на хорошего инженера.Люди, выражающие свое мнение негативно, обычно считаются более умными и компетентными..

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

  • «В этом модуле есть много мест, где логика непоследовательна, и важные оптимизации производительности должны быть приоритетными»
  • "Этот модуль плохо написан и нуждается в рефакторинге"
  • "Этот модуль не работает, поторопитесь и перестройте его"
  • "Этот модуль действительно мусор и нуждается в исправлении"
  • «Этот модуль — кусок дерьма, писать его — преступление, о чем, черт возьми, думает Петрушка?»

(Кстати, эта «эмоциональная искра» заставляет разработчиков использовать слово «сексуальный» для описания кода, что на самом деле не соответствует всем требованиям — если только вы не работаете в PornHub.)

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

Отрицательная энергия — это извилистая и грязная дорога вниз

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

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

Несколько недель спустя недавно нанятый разработчик выразил такую ​​же негативную энергию, как мне (даже одинаково ругаться) - на самом деле это разумно, но это было неожиданно. Я не думаю, что это его истинный характер, или что он должен вести себя по-разному в другой компании с другой культурой. Но он взял этоя передалКультура, лишь бы вписаться в коллектив. Мой кишечник синий. Установка отрицательного тона для нового сотрудника только из-за собственных субъективных ощущений, и я думаю, что оннетЧто касается так. Даже если проявления негативной энергии не являются его истинными чувствами, а просто показывают, что у него такой же темперамент, как и у его коллег, то моя вина в том, что я показал ему плохое отношение. Как говорится, кто рядом с Чжу, тот красный, кто рядом с чернилами, тот черный.

来源:[Nedroid](https://nedroidcomics.tumblr.com/post/41879001445/the-internet)

Негативная энергия улицы Янгуань и однополосного моста

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

Так что, в конце концов, эти разработчики приходят к пониманию того факта, что плохому коду суждено стать частью программного обеспечения, и их работа состоит в том, чтобы оптимизировать плохой код. Если это не редкость, нет необходимости удивляться. Они принимают буддийский менталитет, сосредотачиваются на том, как решить проблему или задачу, учатся точно оценивать качество программного обеспечения и сообщать об этом заинтересованным сторонам. В конце концов, они щедро вознаграждаются за превосходство и постоянную преданность делу. Они делают великие дела, получают десятки миллионов долларов в виде премий, а затем уходят на пенсию, чтобы заниматься тем, чем они хотят заниматься всю оставшуюся жизнь. (Мой конец должен быть таким счастливым!)

就像这样

Другие пошли по тёмной тропе. Они не понимают, что плохой код неизбежен, считают, что плохой код — это карбункул в программном обеспечении, решительно несут знамя и хотят избавиться от плохого кода. Есть много веских причин, по которым они отказываются жить с плохим кодом: люди должны становиться умнее, а не глупее; плохой код — оскорбление для программистов; плохой код вреден для бизнеса; уничтожение плохого кода доказывает, что я немного изобретателен; если я не указали, насколько плохой был код, вся наша компания обанкротилась бы.

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

Реальность может лежать где-то между двумя крайностями.

Некоторые компании неплохо процветают в крайне негативных, территориальных и доминирующих культурах.потерянный возрастДо Microsoft эти компании, как правило, выпускали многообещающий продукт и остро нуждались в расширении, либо представляли собой командно-контрольные структуры (Apple в период расцвета Стива Джобса), где каждый находился во власти одного человека, а для их собственного Мнения это не имеет значения. Тем не менее, современные бизнес-исследования (теперь здравый смысл) снова и снова показывают, что инновации на макроуровне и совершенство на микроуровне требуют творчества на высшем уровне, которое исходит из гибкого, творческого и организованного мышления. Трудно выполнять творческую работу, основанную на языке, когда вы беспокоитесь, что ваши коллеги будут болтать о каждой строке кода, который вы пишете.

Отрицательная энергия в поп-культуре Code Farmer

Сегодня отношение инженеров получает беспрецедентное внимание.«Не нарушай принцип»Понятие все чаще встречается в инженерных организациях. Твиттер все чаще наводнен анекдотами о людях, полностью ушедших из программирования, потому что они не могут (и не будут) терпеть ксенофобию и территориальность. Даже Линус Торвальдс опубликовал многолетнюю враждебность и упреки в адрес других разработчиков Linux (всегда ссорящиеся из-за полезности Linux).заявление с извинениями.

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

Теперь Линус отказался от слишком резкого отношения, но некоторые люди все еще кивают на это отношение — люди, которые должны знать плюсы и минусы отрицательной энергии. Хорошо быть правдивым (даже если это называется фундаментальным принципом), но когда вы спрашиваете их, почему они должны язвительно выражать свои негативные взгляды, они начинают принимать отцовское или Подростковое высокомерие: «Они такие глупые и заслуживают порицания», «я должен убедиться, что они не сделают этого снова», «если бы они не ошиблись, я бы не кричал на них» и т. д. (Что касается того, насколько эмоциональные наклонности лидеров могут повлиять на сообщество разработчиков, позвольте мне привести другой пример, мы можем посмотреть на мантру сообщества Ruby MINASWAN: «Мац хороший, и поэтому мы хорошие» — Мац является основателем Руби.)

Я обнаружил, что большинство фанатиков с менталитетом «убей дурака», как правило, глубоко заботятся о качестве и правильности своего кода, и они основывают свою личность на качестве кода. К сожалению, они часто не могут отличить честные слова от резких. Самая темная сторона этого менталитета исходит из примитивного человеческого желания показать свое превосходство над другими, желания, которое является полностью человеческим, но бесполезным. Те, кто не может преодолеть это желание, часто оказываются в темном затруднительном положении.

来源: [ProgrammerHumor](https://www.reddit.com/r/ProgrammerHumor/comments/bcb4w3/a_meme_i_had_in_the_back_of_my_mind_for_a_while/)

Область программирования быстро расширяется и вот-вот коснется своей границы — области, не связанной с программированием. (Или область программирования охватывает область непрограммирования? Чтобы узнать ответ, послушайте следующий отрывок.)

По мере того, как наша отрасль растет быстрее, а программирование становится более доступным, разрыв между «великими богами» и «костюмами драконов» быстро сокращается. Мир программирования медленно открывает свои двери для людей, которые не выросли в гик-культуре раннего технического большого взрыва, но которые в конечном итогеДостижениеЦелая новая область программирования. И независимо от того, какое общество или эпоха, требования капитализма к эффективности в конечном итоге будут отражены в корпоративной культуре и практике найма: лучшие компании просто не нанимают людей, которые плохо ладят с другими, не говоря уже о тех, кто относится к другим. Плохие люди.

Чему я научился у негативной энергии

Мы не можем позволить чрезмерной негативной энергии доминировать в мышлении и общении, не говоря уже о том, чтобы сделать ее ядовитой, потому что это очень опасно для производственной команды, а также заставит компанию заплатить высокую цену. Я не могу сосчитать, сколько программных проектов, которые я видел (и слышал), были демонтированы и полностью перестроены с большими затратами просто из-за эгоистичного мнения какого-нибудь доверенного разработчика, что даже технология, предыдущий код разработчика или файл может отражать качество всего проекта, и малейшая часть неквалифицированного будет усилена. Испускание негативной энергии также может обескураживать и напрягать отношения. То, что я написал код CSS не в тот файл и получил суровый выговор от коллеги, сделало меня мрачным и рассеянным на несколько дней, и я размышлял об этом. Я также вряд ли позволю такому человеку приблизиться к моей команде в будущем. (Но кто может сказать наверняка? Шибей должен быть впечатлен в течение трех дней.)

отрицательная энергияочень вредно для здоровья.

我设想的亲切欢快的工作氛围

Это не значит, что все дело в позитивном настрое, 10 миллиардах смайликов на каждый запрос на вытягивание или хорошей рабочей атмосфере. (Конечно, если вы этого хотите, действуйте.) Негативная энергия — чрезвычайно важная часть программирования (и жизни), это способ выражения качества вашего кода, выражения ваших чувств и сопереживания ближнему. Он представляет проницательность и суждение человека, чтобы найти суть, и он отмечает серьезность проблемы. Я часто говорю, что когда разработчик начинает переходить от робости и неуверенности к вопросам, это значит, что он перешел на новый уровень. Это свидетельство его проницательности и уверенности в своей точке зрения. Негативных выражений нельзя полностью избежать — разве что в оруэлловском обществе.

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

Когда я работал в этой компании несколько лет назад, генеральный директор подошел ко мне, чтобы поговорить. Мы немного поболтали о текущем состоянии проекта, а потом он спросил меня, как я отношусь к своей работе. Я сказал ему, что думаю, что это неплохо, проект идет хорошо, мы много работали, и, возможно, чего-то не хватает, на что нужно обратить внимание. Он сказал, что слышал некоторые негативные комментарии, которые я делал в офисе, и что другие заметили. Он объяснил, что если у меня есть какие-либо опасения, не стесняйтесь сообщать о них руководству, но будьте осторожны, чтобы не распространять их среди коллег. Как лидер по развитию в компании, я должен быть осторожен в том, что я говорю и делаю и как мои действия влияют на других, осознаю я это или нет, но я имею большое влияние. Он сказал эти слова очень любезно и в конце концов сказал, что если я чувствую то же самое, я должен подумать о том, что я ищу в себе и своей карьере. Он выразил риторику «сделай сам или убирайся» очень мягко. Я благодарен, что он смог честно сообщить мне, что за последние шесть месяцев мое резкое ухудшение отношения повлияло на других, даже не подозревая об этом.

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

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

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

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

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

来源: [xkcd #1024](https://xkcd.com/1024/)

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

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

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


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,товар,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.