Как без диет и изнурительных занятий научить коллег не отвлекать программиста?

2014-01-23

Программист начинает работать неэффективно тогда, когда его начинают отвлекать. Если быть совсем честным, постоянные «дёргания» отвлекают всех работников, вне зависимости от специальности. А для программиста это  особый, десятый круг ада по Данте.

Проиллюстрируем живым примером. Возьмём в качестве иллюстрации типичного продажника. Большую часть дня он проводит в переговорах по телефону, по электронной почте, в мессенджерах, а также ездит на встречи. Как отвлекается менеджер по продажам, и чем для него оборачивается внезапная потеря концентрации внимания? Да ничем. Максимум, что с ним произойдёт, когда он просматривает свои записи, это: «Так… На чём это я остановился?». Всё потому, что у менеджера по продажам весь день состоит из постоянного переключения между видами деятельности. Менеджер планирует свой день по часам; исполнителям-программистам такое планирование неведомо. Никакой программист не сможет точно сказать, сколько конкретно часов потребуется для решения той или иной задачи, и именно поэтому любое совещание, собрание, внезапный стэндап для него сродни катастрофе.

Представьте себе программиста. Он сидит за своим рабочим местом, на внутренней телефонной линии  12 пропущенных вызовов. На одном мониторе виден аккуратный набор данных, который воспроизводит проблему; на другом  IDE в тёмной цветовой схеме со зловеще помигивающей жёлтой строкой отладчика. Он 50 минут шёл к этому моменту: наконец ввёл все нужные данные, последовательно выявил цикл, приводящий к ошибке, установил точку остановки и незаметно для себя оказался в другой части кода. Именно сейчас он понял, почему в «Заявках» находится 22 единицы товара, теперь он знает точное значение _underbilledCustomerCount, поспешно пишет строку 8xZ204330Kd, которая является всего лишь автоматически сгенерированным кодом подтверждения. Вскоре настанет момент, когда наш программист раскроет тайну загадочного возвращения нулевых указателей при вызове сторонней библиотеки, и…

«Приветики! Как делишки? Ты же в курсе про эту проблему с оформлением заказа у нас в сервисе? Когда примерно сможешь починить?»

ТЫСЯЧА ЧЕРТЕЙ!

Именно в этот момент надо было подойти и всё испортить! Пока менеджер разглагольствует о важности клиентского сервиса, программист пытается собрать осколки своего отладочного процесса воедино. К этому времени к разговору присоединяется руководитель отдела, и они премило светски беседуют о важнейших столпах мироздания: маркетинге, рекламе и адаптивном дизайне. А программист тем временем мысленно уже заказывает на вечер пиццу и ждёт окончания рабочего дня, когда офис опустеет, можно будет наконец спокойно поработать и узнать ответ на вопрос: «Что же, чёрт возмьми, означает 8xZ204330Kd, и почему я это написал?».

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

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

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

 

Что нужно сделать?

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

Откройте блокнот и напишите в нём серию из любых трёхзначных чисел:

123
234
345
543
432
321
999
888
777

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

Далее следуйте инструкциям:

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

  • Дайте ему ещё полминуты на вычисления. Задумчиво произнесите: «А ведь это сложнее, чем ты думал, да? На каком числе ты остановился? Знаешь, на каком числе я всё время спотыкаюсь? На 432. Или нет, обычно это 321. Ой, прости, мешаю тебе сосредоточиться… Всё-всё, молчу!».

  • Дайте ему ещё минуту. Изобразите очень важный звонок по телефону. Говорите громко и внушительно. Обязательно извинитесь перед своим коллегой.

  • Зевните. Посмотрите на часы. По секрету расскажите коллеге, что у вас сегодня не очень много работы, и вы можете помочь ему с презентацией: добавить несколько слайдов – пять или шесть, или пару-другую…

  • Через минуту скажите ему, что осталось 30 секунд. Хотя нет, уже 25. Или 20. Одним словом, время вышло.

Скорее всего, пари он не выиграет. Поблагодарите его за обещанный обед и предложите ему альтернативный вариант: вы прощаете ему это пари, если он обещает больше никогда не поступать с вами так, как вы только что поступили с ним.

Бинго!

Перевод: Люся Ширшова. Спасибо совету из блога daedtech


Читайте также: 

10 правил дзен-программиста

Пять простых способов провалить проект

Программисты: бездельники или трудоголики?