Главная страница
Навигация по странице:

  • YAQS: система вопросов и ответов

  • Распространяйте знания: вам всегда есть чему научить других

  • Технические обсуждения и учебные классы

  • Продвижение документации

  • Распространение знаний с ростом организации

  • Развитие культуры обмена знаниями

  • Делай как вGoogle


    Скачать 5.77 Mb.
    НазваниеДелай как вGoogle
    Дата31.05.2022
    Размер5.77 Mb.
    Формат файлаpdf
    Имя файлаDelay_kak_v_Google_Razrabotka_programmnogo_obespechenia_2021_Tom.pdf
    ТипДокументы
    #559735
    страница8 из 69
    1   ...   4   5   6   7   8   9   10   11   ...   69
    Масштабирование вопросов: вопросы к сообществу
    Индивидуальная помощь бесценная, но она имеет ограниченный масштаб. Кроме того, ученику может быть трудно запомнить все детали. Сделайте своему будущему
    «я» одолжение: когда узнаете что-то новое в обсуждении тет-а-тет, запишите это.
    Скорее всего, у следующих новичков появятся те же вопросы, что были у вас. Сде- лайте им одолжение тоже и поделитесь тем, что записали.
    Обмен полученными ответами полезен, но также полезно обращаться за помощью к более широкому сообществу. В этом разделе мы рассмотрим различные формы обучения в сообществе. Все представленные подходы — групповые чаты, списки рассылки и системы вопросов и ответов — имеют свои достоинства и недостатки и дополняют друг друга. Они позволяют получить помощь от широкого круга коллег и экспертов, а также открывают доступ к ответам для нынешних и будущих членов сообщества.
    Групповые чаты
    Сложно получить помощь, если вы не знаете, к кому обратиться, или человек, которому вы хотите задать вопрос, занят. В таких ситуациях на выручку придут групповые чаты. Они хороши тем, что позволяют задать вопрос сразу нескольким

    66
    Глава 3. Обмен знаниями людям и быстро обменяться мнениями с кем угодно. Дополнительный плюс: другие участники чата могут учиться одновременно с вами, просматривая вопросы и от- веты, а во многих случаях чаты можно автоматически архивировать и создавать на их основе базы знаний.
    В групповых чатах, как правило, есть разделы, посвященные отдельным темам или командам. Тематические чаты обычно открыты, и любой может зайти в них и за- дать вопрос. Они, как правило, привлекают экспертов и быстро набирают большое число участников, что ускоряет получение ответов. Командные чаты, напротив, значительно меньше и ограничивают участие в них. Они могут не иметь такого же охвата, как тематические чаты, но благодаря меньшему размеру кажутся новичкам безопаснее.
    Групповые чаты отлично подходят для быстрого получения ответов, но они недо- статочно структурированы, что может затруднить извлечение нужной информации из беседы, в которой вы не принимаете активного участия. Когда вам понадобится поделиться информацией за пределами группы или сделать ее доступной для по- следующего использования, создайте документ или отправьте сообщение в список рассылки.
    Списки рассылки
    Для большинства тем в Google есть список рассылки topic-users@
    или topic-discuss@
    в Google Groups, к которому может присоединиться любой сотрудник компании.
    Вопросы в общедоступной рассылке задаются так же, как в групповом чате: их ви- дят множество людей, знающих и не знающих ответ. В отличие от групповых чатов, общедоступные списки рассылки распространяют информацию среди более широкой аудитории: они упакованы в архивы, лучше структурированы и предусматривают возможность поиска. В Google списки рассылки также индексируются и их легко найти с помощью Moma — поисковой системы во внутренней сети Google.
    После получения ответа на вопрос может возникнуть соблазн немедленно продол- жить работу. Не торопитесь! Возможно, в будущем кому-то пригодится полученная вами информация (
    https://xkcd.com/979
    ), поэтому опубликуйте ответ в списке рас- сылки.
    Списки рассылки не лишены недостатков. Они хорошо подходят для сложных во- просов, которые требуют описания большого количества деталей, но для быстрого обмена информацией между участниками больше подходят групповые чаты. Тема, посвященная конкретной проблеме, обычно наиболее полезна, когда она активно обсуждается. Архивы электронной почты остаются практически неизменными, и по- рой бывает трудно определить, соответствует ли ответ в старой ветке обсуждения текущей ситуации. Кроме того, в списке рассылки может быть больше шума, чем, например, в официальной документации, поскольку решение, найденное в списке рассылки, может оказаться неприменимым для вас.

    Распространяйте знания: вам всегда есть чему научить других
    67
    ЭЛЕКТРОННАЯ ПОЧТА В GOOGLE
    Google печально известна чрезмерно широким проникновением электронной почты во все аспекты ее деятельности. Инженеры Google получают сотни (если не больше) электронных писем каждый день с различной степенью важности. Нуглеры могут потратить несколько дней на настройку фильтров электронной почты, чтобы справиться с объемом уведомлений, поступающих от групп, на которые они автоматически подписаны; многие из них просто сдаются и не пытаются успевать читать все письма. Некоторые группы по умолчанию вкладывают большие списки рассылки в каждое обсуждение, создавая нежелательный шум.
    Мы склоняемся к организации рабочих процессов с использованием электронной почты.
    Электронная почта не является лучшим средством передачи информации, но к ней мы привыкли. Обдумайте целесообразность ее использования, когда будете выбирать формы коммуникации.
    YAQS: система вопросов и ответов
    YAQS (yet another question system) — это внутренняя версия Stack Overflow для
    Google (
    https://oreil.ly/iTtbm
    ). Она позволяет гуглерам ссылаться на существующий или разрабатываемый код, а также обсуждать конфиденциальную информацию.
    Так же как Stack Overflow, система YAQS обладает многими преимуществами спи- сков рассылки и добавляет дополнительные достоинства: ответы, отмеченные как полезные, продвигаются вверх в пользовательском интерфейсе, и пользователи могут редактировать вопросы и ответы, чтобы они оставались точными и полезными при изменении кода и фактов. Сегодня в Google одни списки рассылки заменены системой
    YAQS, а другие превратились в дискуссионные списки более широкой направлен- ности и в меньшей степени ориентированные на решение проблем.
    Распространяйте знания: вам всегда есть чему
    научить других
    Обучать могут не только эксперты, и опыт не является двоичной величиной «либо есть, либо нет». Опыт — это многомерный вектор знаний: люди обладают разными знаниями в разных областях. Это одна из причин, почему разнообразие кадров имеет решающее значение для успеха компании: разные люди привносят разные точки зрения и опыт (глава 4). Инженеры Google обучают коллег на собраниях и в учебных классах, через технические доклады, документацию и обзор кода.
    Время консультаций
    Иногда важно иметь возможность поговорить с человеком, и в таких случаях кон- сультации могут оказаться хорошим решением. Консультация — это регулярно проводимое мероприятие (обычно раз в неделю), при котором один или несколько человек отвечают на вопросы по определенной теме. Она почти никогда не является

    68
    Глава 3. Обмен знаниями предпочтительным вариантом обмена знаниями: часто невозможно ждать следующей консультации, если вопрос срочный, а поиск ответа на него требует много времени и сил. Тем не менее консультации дают людям возможность лично поговорить с экс- пертом. Это особенно полезно, если проблема достаточно неоднозначна и инженер пока не знает, какие вопросы задавать (например, в самом начале разработки новой службы), или решения не описаны в документации.
    Технические обсуждения и учебные классы
    В Google выработана надежная культура внутренних и внешних
    1
    технических об- суждений и учебных классов. Наша команда engEDU (engineering education) специ- ализируется на организации обучения в области computer science для самой широкой аудитории, от инженеров Google до студентов по всему миру. На более низком уровне наша программа g2g (googler to googler) позволяет гуглерам регистрироваться и чи- тать (или посещать) лекции и занятия от коллег в Google
    2
    . Эта программа пользуется оглушительным успехом, и тысячи участвующих в ней гуглеров преподают самые разные темы, от технических (например, «Понимание векторизации в современных процессорах») до довольно забавных (например, «Танец свинг для начинающих»).
    Технические обсуждения обычно проводятся лектором, выступающим непосред- ственно перед аудиторией. Занятия в классе, с другой стороны, могут включать лекцию, но больше сосредоточены на упражнениях и требуют активного участия слушателей. Как результат, занятия под руководством наставника обычно более тру- доемкие и дорогостоящие в организации и поддержке, чем технические обсуждения, и предназначены для более важных или сложных тем. Тем не менее после создания класса его относительно легко масштабировать, потому что сразу несколько препо- давателей могут читать курс, опираясь на одни и те же материалы. Мы обнаружили, что классы предпочтительнее при следующих условиях:
    y
    Тема достаточно сложна, из-за чего часто является источником недоразумений.
    Создание классов — кропотливая работа, которая должна быть обоснована.
    y
    Тема относительно стабильная. Обновление материалов класса — трудная задача, поэтому, если предмет быстро развивается, используйте другие формы передачи знаний.
    y
    По данной теме наставники готовы отвечать на вопросы и оказывать персо- нальную помощь. Если учащиеся легко могут самостоятельно освоить тему, эффективнее использовать инструменты самообучения, такие как документация или аудио- и видеозаписи. Ряд вводных курсов в Google имеет версии для само- стоятельного изучения.
    1
    Вот пара примеров: https://talksat.withgoogle.com и https://www.youtube.com/GoogleTechTalks
    2
    Программа g2g подробно описана в книге Ласло Бока «Работа рулит! Почему большинство людей в мире хотят работать именно в Google» (М.: МИФ, 2015), которая включает описания различных аспектов программы, а также способы оценки воздействия и рекомендации, на что следует обратить внимание при создании аналогичных программ. — Примеч. пер.

    Распространяйте знания: вам всегда есть чему научить других
    69
    y
    Спрос на регулярное проведение класса достаточно высок. В противном случае потенциальные учащиеся могут получить необходимую информацию другими способами. В Google классы особенно актуальны для небольших, географически удаленных офисов.
    Документация
    Документация — это письменное знание, основная цель которого — помочь читателям чему-то научиться. Не все письменные знания являются документацией. Например, ответ на вопрос можно найти в списке рассылки, но основная цель списка в том, чтобы найти ответы, и только во вторую очередь — задокументировать обсуждение для других.
    В этом разделе мы сосредоточимся на возможностях внести вклад в создание фор- мальной документации, от исправления опечаток до более существенных усилий, таких как документирование коллективных знаний.
    Подробнее о документации в главе 10.
    Обновление документации
    Когда вы узнаете что-то новое, уделите внимание улучшению существующей доку- ментации и учебных материалов. Освоив новый процесс или систему, вы забудете, с какими сложностями сталкивались раньше и чего вам не хватало во вводной доку- ментации. Если найдете ошибку или упущение в документации, исправьте ее! Остав- ляйте место стоянки чище, чем оно было до вашего прихода
    1
    , и пробуйте обновлять документацию самостоятельно, даже если она принадлежит другому подразделению.
    В Google инженеры чувствуют себя вправе обновлять документацию, кому бы она ни принадлежала, даже если исправление касается опечатки. Уровень поддержки сообщества заметно повысился с внедрением g3doc
    2
    , значительно упростившим гуг- лерам поиск владельца документации для передачи ему своих предложений. Кроме того, такой подход помогает оставить след в истории изменений.
    Создание документации
    Наращивая мастерство, пишите новую документацию и обновляйте существующую.
    Например, если вы настроили новый процесс разработки, запишите, какие шаги выполнили. Так вы облегчите путь тем, кто следует за вами. Но еще лучше помочь другим самостоятельно находить ваш документ. Недоступность или неизвестность
    1
    См. «The Boy Scout Rule» (
    https://oreil.ly/2u1Ce
    ) и книгу Кевина Хиннея (Kevin Henney)
    «97 Things Every Programmer Should Know» (Boston: O’Reilly, 2010).
    2
    Название g3doc означает «документация google3». google3 — это название текущего во- площения монолитного репозитория исходного кода в Google.

    70
    Глава 3. Обмен знаниями местоположения документации равноценны ее отсутствию. В g3doc документация находится рядом с исходным кодом, а не в (недоступном) документе или на неиз- вестной веб-странице.
    Наконец, убедитесь в наличии механизма обратной связи. Если у читателей не будет простого способа сообщить, что документация устарела или неточна, они, скорее всего, ничего и никому не расскажут и следующий новичок столкнется с той же проблемой. Люди охотнее вносят изменения, если чувствуют, что кто-то действи- тельно заметит и рассмотрит их предложения. В Google есть возможность отправить сообщение об ошибке непосредственно в самом документе.
    Кроме того, гуглеры могут легко оставлять комментарии на страницах g3doc. Другие гуглеры имеют возможность читать и отвечать на эти комментарии, и поскольку оставление комментария автоматически вызывает отправку сообщения об ошибке владельцу документации, читателю не нужно выяснять, к кому обратиться.
    Продвижение документации
    Иногда бывает трудно стимулировать инженеров на документирование своих дей- ствий. Работа над документацией требует времени и сил, ее результаты неочевидны, и ими в большинстве случаев пользуются другие. Подобная асимметрия, при которой многие извлекают выгоду из затрат времени немногих, полезна для организации в целом, но она требует хороших стимулов. Мы обсудим некоторые из них в разделе
    «Стимулы и признание» ниже.
    Тем не менее автор документа часто тоже может получить непосредственную выгоду от написания документации. Предположим, что члены команды всегда обращаются к вам за помощью в устранении определенных видов сбоев в работе. Документи- рование используемых вами процедур потребует затрат времени, но выполнив эту работу один раз, вы сэкономите время в будущем, передав членам команды ссылку на документацию и отвлекаясь на практическую помощь только при необходимости.
    Написание документации также помогает команде и организации расширяться. Во- первых, информация в документации становится каноничной: члены группы могут ссылаться на общий документ и даже обновлять его самостоятельно. Во-вторых, она может распространиться за пределы команды, если некоторые части документации не являются уникальными для команды и будут полезны для других команд, реша- ющих подобные задачи.
    Код
    На метауровне код — это знание, поэтому процесс написания кода можно считать формой описания знаний. Обмен знаниями может не являться прямым намерением при разработке кода, но является побочным эффектом, который можно усилить читабельностью и ясностью кода.
    Документирование кода является еще одним из способов обмена знаниями. Четкая документация приносит пользу не только пользователям библиотеки, но и тем, кто

    Распространение знаний с ростом организации
    71
    в будущем будет ее сопровождать. Комментарии в коде тоже передают знания: они пишутся специально для будущих читателей (включая вас в будущем!). С точки зрения компромиссов комментарии в коде имеют те же недостатки, что и докумен- тация в целом: они должны активно поддерживаться, чтобы не устареть и не начать противоречить коду.
    Обзоры кода (глава 9) часто дают возможность обучения и авторам, и рецензентам.
    Например, предложение рецензента может познакомить автора с новым паттерном тестирования или рецензент может узнать о новой библиотеке, увидев, как автор использует ее в своем коде. Google стандартизирует наставничество посредством обзоров, определяя процесс повышения удобочитаемости (подробнее в конце этой главы).
    Распространение знаний с ростом организации
    С ростом организации все труднее обеспечивать надлежащий обмен опытом между подразделениями. Если культура важна на каждой стадии роста, то создание спра- вочных источников информации актуальнее для более зрелых организаций.
    Развитие культуры обмена знаниями
    Организационная культура — это хрупкое человеческое творение, полезность кото- рого многие компании осознают с опозданием. Но мы в Google считаем, что внимание к культуре и окружающей среде
    1
    позволяет добиться большего, чем сосредоточение на результатах этой среды, таких как код.
    Крупные организационные изменения — сложная задача, и на эту тему написано бесчисленное количество книг. Мы не претендуем на знание всех ответов в этой области, но можем поделиться конкретными шагами, которые предпринимались в Google для создания культуры, способствующей обучению.
    Прочитайте книгу «Работа рулит!», чтобы больше узнать о культуре Google.
    Уважение
    Отталкивающее поведение нескольких человек может сделать неприветливыми це- лую команду или сообщество (
    https://oreil.ly/R_Y7N
    ). В недружелюбной среде новички учатся задавать вопросы в другом месте, а перспективные специалисты опускают руки, не имея возможности расти. В худшем случае в группе остаются только наи- более токсичные ее члены. Выбраться из этого состояния может быть очень трудно.
    Обмен знаниями может и должен осуществляться с доброжелательностью и ува- жением. В технологических организациях терпимость или, что еще хуже, почтение к «блестящему ничтожеству» одновременно и распространены, и вредны, но быть
    1
    Бок Л. Работа рулит! Почему большинство людей в мире хотят работать именно в Google.
    М.: МИФ, 2015.

    72
    Глава 3. Обмен знаниями экспертом и быть добрым — это не взаимоисключающие характеристики. В разделе
    «Лидерство» корпоративного документа Google четко говорится об этом:
    «Хотя некоторая степень технического лидерства приветствуется на более высоких уровнях, тем не менее лидерство не всегда направлено на решение технических проблем. Лидеры помогают окружающим людям расти, улучшают психологиче- ский климат команды, создают культуру командной работы и сотрудничества, смягчают напряженность в команде, доказывают личным примером важность культуры и ценностей Google и делают Google более динамичным и интересным местом для работы. Хамы — плохие лидеры».
    Урс Хельцле (Urs H
    ölzle, старший вице-президент по технической инфраструктуре) и Бен Трейнор Слосс (Ben Treynor Sloss, вице-президент, основатель Google SRE) написали регулярно цитируемый внутренний документ «No Jerks» («Не хами») о том, почему гуглеры должны заботиться об уважительном поведении на работе и как этого достичь.
    1   ...   4   5   6   7   8   9   10   11   ...   69


    написать администратору сайта