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

Нижеприведённое «письмо» пришло к нам от компании CSSSR, поделившейся с нашими читателями «5-ю правилами общения удалённых разработчиков». CSSSR — это небольшая компания, занимающаяся фронтедом веб-приложений и сложных сайтов, основана 12 апреля 2012 года (в День космонавтики). Поэтому ребята, работающие удалённо в CSSSR (у компании нет офиса), по собственному утверждению «такие же чёткие, как и космонавты». Распределённая структура организации не мешает ей создавать продукты высокого уровня, а основными движущими силами развития являются здравый смысл и здоровый перфекционизм.

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

xxx [16:00:00]: привет!
xxx [16:01:01]: ты тут?
yyy [16:01:17]: привет
xxx [16:04:56]: не отвлекаю?
yyy [16:05:13]: нет
xxx [16:07:28]: отлично
xxx [16:08:01]: мне нужна твоя помощь.
xxx [16:09:29]: у меня не работает тут кое-что…
xxx [16:10:09]: сек
xxx [16:13:12]: сори, отходил
xxx [16:14:25]: ты тут?
yyy [16:14:30]: да

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

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

Мы решили составить базовые правила для эффективного удалённого общения и работы.

1. Не засоряй эфир дежурными фразами


Не пиши «Привет!» и не жди взаимного приветствия. Поверь, когда ты пишешь коллеге в личку, тебя уже рады видеть и слышать. Как-то неуважительно, скажешь ты? Но для удалённой работы это нормально: просто предупреди коллег, что в чате лучше сразу переходить к делу.
«Ты тут?». Да, он там и ждёт твоего вопроса. А ты тем временем ждёшь его ответа. И вы играете в игру «кто кого переждёт».
«Не занят?». Занят! У него всегда есть дела, ему дорого время. А тебе?
«Не отвлекаю?». Обратился к человеку — ты уже его отвлёк. Смирись с этим. Плюс, ты не единственный — и кроме тебя в это же время ему могут писать другие ребята. Помни об этом.
Тебе действительно важно получить ответы, которые ты уже знаешь, на все эти шаблонные вопросы, или всё таки хочешь решить свою проблему?
Диалог должен иметь ценность. Прелюдии излишни, потому что для сути беседы они не важны. Если беседу нужно будет кому-то скопипастить и показать, то в ней будет куча мусора, которую приходится фильтровать.

2. Давайте пообщаемся в три часа


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

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

3. Сначала сформулируй, потом пиши


«У меня снова как в прошлый раз, кошмар какой-то...».
«Опять ничего не работает и ошибки появляются...».


Не подскажешь номер телефона для записи на курсы телепатии?

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

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

Научись определять свою проблему. Максимум конкретики: в каком месте она возникает, как её воспроизвести — смотри в консоли, следи за терминалом, не забывай про сторонние модули и т.п. Если проблема сложная, разбей на составляющие.
… и пробуй решить проблему сам!
Серьёзно. Без шуток. Дебажить свой код (да и в целом — в любой профессии — находить и исправлять собственные косяки) должен уметь каждый, способов и инструментов для этого предостаточно.
Если тот, кто помогает новичку, будет позволять всё время это делать, то новичок далеко не продвинется. Удалённая работа только вскрывает проблему: бесконечные диалоги — хуже самостоятельного решения. Да, спрашивать нужно, но не стоит этим злоупотреблять.

4. Пользуйся поиском


Казалось бы, без комментариев, но большинство новичков поиском не пользуются и сразу бегут в личку. Привей себе эту привычку.
… и пользуйся поиском правильно!
xxx: всё обыскал, ничего не нашёл...
Чаще всего, проделав то же самое за джуна, находишь ответ в первом же пункте из результатов поиска. Новичок жаждет длинных вопросов, на которые поисковик даст только больше мусорных результатов. А значит:
  • Сузь круг поиска: оставь только ключевые слова. Исключением могут быть ошибки из, например, консоли, содержащие сообщения с константами и кодами ошибок.
  • Если проблема в какой-либо библиотеке, попробуй сразу поискать в ишью репозитория этой библиотеки.

5. Расскажи о своей беде утёнку


Грамотно составленный вопрос содержит ключ к решению.
… так что используй Метод утёнка!
xxx: как сделать то-то?

xxx: решил проблему)
Метод такой: поставь на стол игрушечного утёнка, которому ты будешь задавать вопросы как живому человеку. Правильная формулировка вопроса содержит как минимум половину ответа, а еще и даёт толчок мыслям, направляя их в нужное русло. Это точно сработает. Кстати, не забудь сообщить сразу же, как только решил проблему, если уже успел написать свой вопрос. Сам понимаешь, зачем.

6. Отчаялся? Спроси у всех сразу


Шанс на успех увеличивается в несколько раз, когда задаёшь вопрос сообществу. У нас в Slack есть специальный канал для ревью и вопросов, возникающих при разработке, в котором тебе готов помочь коллективный разум. Это очень удобно, и гораздо лучше, чем донимать занятого коллегу в личке.
Правила обращения к сообществу те же самые, что и для личного общения (см. 1 пункт). Если вопрос касается чего-то специфичного, можно обращаться к узкому кругу специалистов через группы в Slack.

Бонус: тестируй


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

Заключение


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

Итого:
  • Сначала погугли;
  • Обращаясь в личку, сразу избегай прелюдий;
  • Формулируй и задавай предметные вопросы;
  • Опиши формулировку и контекст задачи (как должно быть и как сейчас);
  • Перечисли, что ты уже пробовал делать;
  • Опиши результат (ошибки, непредсказуемое поведение и т.п.);
  • Желательно прикладывай сниппет и скриншот;
  • Если есть, где потестировать, покажи, где и как воспроизвести;
  • Обращайся к сообществу.

Следуя советам из этого поста, ты станешь мастером удалённой коммуникации.
Если у вас есть экспертиза, которой вы хотите поделиться на «Мегамозге» — пишите нам «письмо в студию» по адресу editor@megamozg.ru

Комментарии (11)


  1. Fen1kz
    25.02.2016 19:39

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


    1. dzhiriki
      26.02.2016 00:37

      Здесь основной посыл — написать всю требуемую информацию в одном сообщении, а не слать пачку сообщений, каждый раз отвлекая собеседника.
      Так что, если «Привет» приходит в одном сообщении с вопросом, то это нормально.


    1. Vadiok
      26.02.2016 00:37

      Не согласен., имхо «Привет» и какое-нибудь «пожалуйста» лучше все-таки написать вместе с вопросом.
      Вместе с вопросом конечно лучше написать. В статье речь шла о ситуации, когда человек пишет «Привет!», потом ждет ответа, потом пишет вопрос.
      У нас так часто происходил диалог в чате с менеджерами:

      Привет!
      Привет!
      Дальше минуты 2 в чате скайпа висит: Иван Петров печатает сообщение…


    1. Pakos
      26.02.2016 11:17

      У некоторых сначала должен произойти handshake, а потом уже идёт отправка пакета. Иногда алгоритм столь крив, что и формирование пакета начинается только после успешной установки соединения и что-то отваливается по таймауту. А есть люди, от которых минут 5-10 приходит «пишет-не пишет-пишет», а приходит «Добрый день». И ты понимаешь, что на полчаса можно их окно свернуть, а потом прочитать уже сформированное из нескольких сообщений нечто, похожее на вопрос. К счастью, это в прошлом.


  1. jjoker
    25.02.2016 20:23

    Ну как-то первые два пункта сильно спорные.

    По "без прелюдий": во-первых, есть нормы уважительного общения. Не стоит их игнорировать, особенно в переписке, где интонации не слышны. Во-вторых, фразы "тут?" часто пишутся, когда ты хочешь что-то обсудить прямо сейчас. Через полчаса вопрос потеряет актуальность, и мне нет смысла тратить время на набор текста, если я не получу ответ сразу.

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

    А в остальном все по теме, да.


    1. OKF
      25.02.2016 23:28

      Угу, но на это "ты тут" и прочее и уходят эти полчаса.
      ИМХО, оптимально. Привет. Суть вопроса / Привет. Тут? Суть вопроса. Т.е. в одной фразе, а не распылять на несколько. Если человек тут и может сразу ответить, то он и ответит. Или попросит подождать, если занят. Если его нет на месте, то фраза "ты тут" в принципе бессмыслена.
      Говорю как человек, которого эти "вокруг до около" периодически достают и сильно отвлекают от работы, и на которые тратится лишнее время.


  1. RomanVPro
    26.02.2016 00:37

    Внесу свои «пять копеек», т.к. уже два года работаю удаленно и есть некоторые моменты, которые иногда доводят «до кипения».

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

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

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


    1. OKF
      26.02.2016 13:45

      Именно, а я уже решу, есть у меня время на этот вопрос и сколько он в действительности займет "минутку" или несколько больше.


  1. Tertium
    26.02.2016 00:39

    Забавно, выглядит как список правил для вопросов на StackOverflow. Да и на любом другом форуме. Собственно, очевидные факты, но раз за разом их надо проговаривать людям.


  1. antiplaka
    27.02.2016 12:02

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


  1. jmistx
    28.02.2016 18:50

    Ниже написано ИМХО, основанное на собственном опыте удалённой разработки.

    Практика обсуждать проектные вопросы текстом — почти всегда неэффективна.

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

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

    Какой вопрос я могу задать в переписке?
    "Вот описание бага placeholder, можешь помочь?"
    "Я поставил софт A и библиотеку B, у всех работает, у меня — нет. Stackoverflow молчит. Github библиотеки не обновлялся 5 месяцев. Помогите, вот логи, вот переменные окружения, вот лунный календарь и дата моего рождения."
    "Вот приёмочные критерии placeholder, они правильные?"

    Созвонись и покажи на экране, дай потрогать, посмотреть окружение.
    Узнаешь в 100 раз больше о связанных темах за то же время.
    Если вводишь нового разработчика в проект, подключись по рабочему столу и помоги настроить окружение / сделать первую историю.
    Тогда он начнёт приносить пользу на легаси проекте через 30 минут, а не через пол дня / день / месяц.

    Мы для таких вопросов используем AmmyyAdmin/TeamViewer/Skype

    Какая основная проблема распределённых команд?
    Как ни странно — это отсутствие доверия.

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

    Подробнее про доверие и паттерны взаимодействия в командах можно почитать у господина ДеМарко "Балдеющие от адреналина и зомбированные шаблонами"

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

    Пришли логи от клиента из его интранета? Им место на почте.
    Документ с обратной связью от клиента;
    Результаты важного обсуждения;
    Приглашения на мероприятия;
    Нотификации от сторонних сервисов и health-page — туда же.

    Для чего же чат?
    Дежурный обмен приветствиями в начале рабочего дня и пожелания хорошего отдыха перед выходными.
    Крики "билд красный", которые следует увидеть всем.
    И в редких случаях какая-нибудь команда для командной строки или приглашение на несрочный/срочный созвон.