Эта статья — адаптация главы книги «Руководство по карьере полного программного обеспечения». Её автор, Джон Сонмез (John Sonmez) пишет её и выкладывает некоторые главы на свой сайт. Кто будет пользоваться разработанными нами продуктами? Молодые люди или пожилые, благожелательные или интернет-тролли? Представить потенциального пользователя зачастую сложно, но выгоду от понимания, как думают и что чувствуют пользователи, сложно переоценить. Оно поможет разработчику принимать гораздо более обоснованные решения, нежели его «равнодушным» коллегам.
Эмпатия как секретная суперсила разработчика  - 1
Разумеется, эмпатия (или сопереживание) нельзя назвать важным техническим навыком, но она может стать настоящей суперсилой для разработчика ПО. Можно выделить четыре важных аспекта, в которых сопереживание может стать тем самым секретным оружием. Но давайте начнём с определения

Что такое сопереживание?

Склонность к эмпатии или умение сопереживать — это понимание и умение прочувствовать опыт другого, при этом «эмпатику» переживать подобный опыт самостоятельно (то есть «прочувствовать что-то на собственной шкуре») не нужно. Доктор Брене Браун, исследователь эмпатии, в своей книге «Великие дерзания» пишет: «Эмпатия —это странная и очень мощная штука. У неё нет прописанного сценария. Не существует верного или неверного способа сопереживать. Это просто умение выслушать, соблюдая личное пространство, без осуждения, но при этом сохраняя эмоциональную связь. Общение, которое даёт вполне однозначный и действенный сигнал: «Ты не один!» Чувствуя эмпатию, ты понимаешь, что с другим, даже если он не говорит тебе об этом прямо. Ты просто «со-чувствуешь», умело распознавая эмоции других. Ты в состоянии поставить себя на место другого человека. Это как спокойный кассир выслушивает тирады разгневанного покупателя, не перебивая его своими доводами. Ну а теперь перейдём к самому интересному: каким образом мы можем использовать эмпатию в работе программиста.

Сопереживание для разработчиков программного обеспечения

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

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

  1. При сборе требований

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

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

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


  2. Эмпатия как секретная суперсила разработчика  - 3

  3. Во время процесса написания кода

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

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

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


  4. При поддержке программ

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

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

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


  5. Эмпатия как секретная суперсила разработчика  - 4

  6. При руководящей позиции

    Если с предыдущими пунктами всё не так очевидно, то польза от эмпатии руководства понятна абсолютно всем, причём это не касается только сферы программирования.

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

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

Ваша суперсила!

Итак, краткие выводы. Разработчики ПО обычно чрезмерно зациклены на технологиях. Стереотип хорошего разработчика для окружающих— этакий герой научно-фантастической саги, вроде мистера Спока из Star Trek, который в принятии решений руководствуется исключительно логикой и намерено отбрасывает эмоции. Но развитая эмпатия на самом деле может стать секретным оружием разработчика. Она помогает видеть вещи с другой точки зрения, позволяет решать вопросы на всех этапах разработки ПО —при анализе требований, во время написания кода, во время тестирования и поддержки программ. И, разумеется, во время принятия решений в статусе руководителя команды. Используйте это качество, свою суперсилу, и вы станете героем для своей команды, своих пользователей и своих сотрудников. Оригинал: https://simpleprogrammer.com/2017/07/26/empathy-software-developers/

Что еще почитать:

11 технологий, которые должен знать всякий уважающий себя разработчик

Программирование — это сложно. Именно поэтому стоит его изучать

11 каверзных нетехнических вопросов, которые ожидают вас на собеседовании с рекрутёром