Хабрахабр

Я порчу разрабам жизни своими код ревью и больше так не хочу

Каждый мой коммент на ревью к его коду был гвоздем в крышку гроба. Однажды в моей команде был настолько слабый парень, что его собирались уволить (уволить разработчика!). Он был приятным человеком, я даже переживал за него, но это не мешало мне разносить его старания в щепки. Я почти слышал стук молотка, нажимая «submit review». Все просто — я сильнее, я прав. Мое право критиковать его работу казалось очевидным и неотъемлемым. Его уволили, предварительно лишая стандартной премии в течение нескольких месяцев. Никто же не хочет сказать, что плохой код — это хорошо, а?

Он занимал место более талантливого разработчика. Я говорил себе: «Но ведь не делать же мне всю работу за него!? Но почему-то на душе скребли кошки. Я все правильно сделал». Я открыл pr, глянул, что за проблему он решает. И когда мне пришел на ревью очередной pull request, что-то очень сильно поменялось.
На первый взгляд, все было, как раньше. Там, как всегда, помои. Прикинул, как бы ее решил я, и начал смотреть код. Окей, разнес его в целом и перешел к деталям. Решение было не похожим на то, что сделал бы я. Строка за строкой я смотрю на код, нахожу проблемы и полу-проблемы, и фигачу пассивно-агрессивные комменты.

Pull request на тысячу строк кода получил от меня двести комментариев, не оставляющих человеку ни малейшего шанса верить в свою компетентность. Я снова был технически сильнее. Отлично.

Почему я это делаю? Я навел курсор на кнопку «submit review» и вдруг задумался.

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

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

Не верю в то, что это мой мотив. Вот только, похоже, я в это не верю.

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

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

Десять раз спроси меня, что я за человек, и десять раз я отвечу, что я не вредный закомплексованный подонок. Когда я это осознал, мне стало очень стыдно за себя. Тогда почему я такой злой в профессии? По крайней мере во всех остальных аспектах своей жизни.

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

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

Было очень больно, но я справлялся.

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

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

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

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

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

Я бы принял эту мысль и смирился, если бы не обнаружил один критический баг. Мы со своей жаждой самоутверждения — лишь глупый инструмент в руках естественного отбора.

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

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

Бесконечный цикл роста за счет боли превратился в порочный круг, производящий не профессионалов, а токсичных болтунов. Оказалось, вместо того, чтобы становиться по-настоящему крутым, достаточно убедить всех, что ты крутой.

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

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

У меня была позиция, что геи — это плохо. Это похоже на один старый случай из моей жизни. Однажды я выпивал с толпой либералов, и всплыла эта тема. Я не думал об этом особо, просто когда-то очень давно батя сказал, что плохо, и я запомнил. Ну, начали спорить. Я сразу же ознакомил их со своей позицией, и они такие «нет Фил, ты не прав». Да и в целом, мне совершенно насрать, хорошо геи, или плохо. Никогда не думал об этом всерьез, у меня и аргументов толком не было. Моим главным мотивом было — победить и сохранить лицо. Но я не мог себе позволить перестать спорить. Я не знаю зачем.

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

Я не хочу, и никогда не хотел таким быть! Это все очень, очень плохо.

Вместо этого дал чуваку комменты с вежливыми предложениями поправить пару мелочей. Ревью из начала статьи — я его не отправил. Человека, сломленного десятками таких ревью, я поправить не могу. Ничего страшного, если код плохой, я и сам могу его поправить.

Болеет индустрия, по крайней мере в РФ. Моя личность сегодня — это симптом не моей болезни. И вот что нужно сделать: надо перестать быть такими. Наш менталитет зациклился на культе силы и превосходства. Это на самом деле очень просто.

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

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

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

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»