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

в 15:40, , рубрики: code review, Карьера в IT-индустрии, управление персоналом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: fillpackart

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js