Предоставление и получение конструктивной обратной связи

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

Давайте рассмотрим некоторые аспекты практики айкидо и применим их к код-ревью.

В японских боевых искусствах укэ — это человек, который получает технику (тот, что слева на фотографии ниже, его бросают).

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

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

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

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

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

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

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

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

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

🖊 Примечание редактора:Штриховые рисунки сделаны Ликман Владимир, используются по лицензии через Shutterstock.

Если вам понравилась эта статья, вам также может понравиться первый том новой книги Билла Карвина «Антипаттерны SQL», которая теперь находится в бета-версии вместе с The Pragmatic Bookshelf. Вы можете сэкономить 35 % с промокодом bksap1_medium_2022 до 31 августа 2022 года. Промокоды недействительны для предыдущих покупок.