[Перевод] Как Airbnb удается организовывать работу своих разработчиков, не контролируя их
Руководители должны «убирать препятствия с пути своих подчиненных», а не говорить им что делать, считает Майк Кертис (Mike Curtis) из Airbnb.
Майк Кертис, вице-президент Airbnb по конструкторским и технологическим вопросам, вспоминает, что был «шокирован» тем, что увидел, когда присоединился к быстро развивающемуся рынку временного жилья чуть больше года назад.
Назовите это приятной дрожью: Кертис говорит, что обнаружил самоорганизованную среду, движимую миссией компании устроить человека как дома в любой точке мира. То, чего не хватало в структуре, компенсировалось энтузиазмом. Как правило, разработчики сами выбирали себе задачи, над которыми работали.
Каждый месяц с помощью Airbnb миллионы людей бронируют свободные кровати, комнаты, квартиры, а порой даже дома на деревьях. Поэтому недостатка в технических задачах не бывает: от поиска подходящего жилья до обработки международных платежей, осуществляемых между гостями и арендодателями.
Генри Кай (Henry Cai) (слева), разработчик ПО в команде по развитию Airbnb и Джейсон Бозинофф (Jason Bosinoff), менеджер этой команды, беседуют с Кэролайн Льенг (Caroline Leung), разработчиком из команды Android. Члены команды Airbnb по мобильным технологиям, работая над проектами, часто сотрудничают с другими командами.
Кертису, которого наняли для повышения профессионализма быстрорастущей команды из 50 разработчиков, было бы куда проще навязать им свои представления о правилах и методах работы, основываясь на собственном многолетнем опыте руководства многочисленными командами разработчиков ПО в Facebook и Yahoo. Вместо этого, он пошел на смелый шаг и понял, как нужно работать в уже существующей культуре компании.
Недавно Кертис пригласил журналистов из ReadWrite посетить просторный главный офис Airbnb в Саут-оф-Маркет (South-of-Market или SoMa), районе Сан-Франциско, где мы побеседовали с ним и с другими сотрудниками, сделали несколько кадров разработчиков, дизайнеров и менеджеров по продукту во время работы. Также он опубликовал пост, в котором кратко изложил свои мысли о культуре разработок в компании, черновик которого показал мне во время беседы.
Слева направо: разработчики Джош Халл (Josh Hull), Бен Хьюз (Ben Hughes) и Джон Тай (John Tai) за работой с вице-президентом по технологическим вопросам Майком Кертисом.
Новый подход к менеджменту или отсутствие менеджмента? Вопрос организации быстрорастущей, технологичной компании, такой, как Airbnb, является ключевым. Неправильный менеджмент может привести к стагнации или хаосу.Такие разноплановые компании, как GitHub, сервис совместного кодирования и онлайн-магазин одежды Zappos, переняли принцип «отсутствия менеджмента», который называется холократией. При этом, в принятии решений участвуют все сотрудники организации, которые характеризуются скорее ролями, а не должностями.
Однако, Холократию часто критикуют за отсутствие структуры и поддержки сотрудников. Неприятный уход из GitHub известного разработчика Джулии Энн Хорват (Julie Ann Horvath) — типичный пример того, что может пойти не так в подобных неформальных системах. Хорват рассказала о притеснениях со стороны одного из основателей Тома Престон-Вернера (Tom Preston-Werner) и его жены. Расследование обнаружило, что он допустил ошибки в обработке ее жалоб, что вынудило его уйти из компании. Компания наняла более опытного менеджера по кадровым ресурсам в начале нынешнего года, и новый руководитель Крис Ванстрат (Chris Wanstrath) обещал постараться улучшить условия труда.
Противоположная крайность — разработчики в крупных компаниях, выпускающих программное обеспечение, таких, как Google и Microsoft, часто жалуются на то, что их работодатели все больше превращаются в корпоративных администраторов. Даже знаменитый принцип »20% времени» в Google, согласно которому разработчики могут работать над собственными проектами, оказался под угрозой.
Вероятно, Airbnb удалось найти компромиссное решение между иерархической вертикалью управления и хаотичной самоорганизацией. В компании есть менеджеры, но их роли определяются совершенно другим образом, отличным от того, о чем вы могли бы подумать.
«В более традиционной модели организации цели, задачи и даже задания спускаются сверху к конкретным исполнителям», — поясняет Кертис. При нашем подходе менеджеры — это прежде всего координаторы, которые существуют для того, чтобы убрать препятствия с пути сотрудников.
Это могут быть информационные препятствия — нужно предоставить техническому специалисту более полную информацию о том, над чем он работает, чтобы ему было легче решить проблему. Также препятствия могут быть карьерными — порой нужно помочь сотруднику перейти из одной команды в другую для профессионального роста.
Что менеджеры не делают, так это не раздают указания, не ставят задачи и не определяют методы их решения. Ожидается, что разработчики, мотивированные общей миссией компании и обладающие достаточной информацией, полученной от менеджеров, могут сделать все это самостоятельно.
«В обязанности вашего менеджера не входит говорить вам, как вносить свой вклад в работу компании», — говорит Кертис.
К примеру, Бен Хьюз (Ben Hughes), специалист по вопросам надежности работы сайта, говорит, что его роль «связана с миссией Airbnb потому, что позволяет создать стабильную платформу для гостей и арендодателей».
Бо Хоу (Beau Haugh) рассказал, как несколько недель назад разработчики из разных команд собрались, чтобы провести апгрейд баз данных MySQL для Airbnb. Они собрались добровольно и в субботу вечером, чтобы успеть все подготовить к ожидаемому ажиотажу с бронированием.
Элвин Снг (Alvin Sng), специалист по внутреннему инструментарию, говорит, что его работа над чатом сайта улучшает сообщение между агентами службы поддержки и гостями. Он гордится тем, как его труд «помогает другим сотрудникам делать свою работу эффективнее».
Разработчик ПО Сураби Гупта (Surabhi Gupta), который работает над поиском и обнаружением, говорит, что ее работа — организовывать условия для поездок, которые иначе никогда бы не состоялись. Ниже ее недавняя презентация для OpenAir, технической конференции, которую Airbnb провела в апреле.
[embedded content]
Даже будучи компромиссом между двумя противоположными стилями, этот подход подойдет не всем. Некоторые сотрудники на сайте Glasdoor анонимно описывают среду компании как «дезорганизованный хаос». А некоторые называют атмосферу компании «вдохновляющей», но отмечают, что сотрудники должны брать ответственность на себя и решать проблемы вместо того, чтобы на них жаловаться.
Бо Хоу и Элвин Снг работают над внутренним инструментарием Airbnb
«Гостеприимный» стиль ведения бизнеса Компания Airbnb пытается организовать продукт и работу сервиса вокруг идеи гостеприимства, которая затрагивает также и отношения между сотрудниками.«Быть хозяином — значит уметь проявлять участие», — считает Кертис. «Ваш гость может быть вашим коллегой. Одна из наших основополагающих ценностей — помогать другим».
Кертис признает, что существует очевидный конфликт между принципом «отвечать за свою работу» и помогать другим в первую очередь. В конце концов, когда вы помогаете кому-то, вы по определению откладываете решение своей задачи.
Airbnb находит выход из этого положения, указывая на долгосрочную ценность, которую приносит компании помощь сотрудникам.
«Когда вам предоставляется возможность помочь кому-либо выйти из непонятной ситуации, обязательно ею воспользуйтесь, т. к. это, как правило, возможность научить кого-то», — считает Кертис.
Разработчик ПО Сураби Гупта работает над решением проблемы вместе с менеджером по продукту Эриком Рутом (Eric Ruth). Недавно на конференции Airbnb OpenAir Сураби демонстрировала презентацию о сложностях поиска на торговой площадке.
Определение стандартов Технический штат Airbnb состоит из 14 команд, как правило, меньше, чем по 10 человек в каждой, в которых работают разные специалисты: разработчики ПО, менеджеры по продукту, дизайнеры и специалисты по обработке данных. Как и каждый сотрудник, эти команды работают по принципу самоуправления. (Airbnb не дает информации о точном количестве членов команд, но по данным сайта LinkedIn, их текущее количество превышает сотню сотрудников, что в два раза больше, чем было, когда Кертис только пришел в компанию).«В работе отдельных сотрудников нашей компании присутствует элемент самостоятельности», — говорит Кертис. «В работе команд также присутствует элемент самостоятельности».
Процессы, которые Airbnb стандартизировала — это, в основном, демократическая деятельность, слегка направляемая руководством. На встречах Кертис и его менеджеры по разработке рассказывают об успешном опыте работы, который потом распространяется и передается между командами.
Когда Кертис пришел в Airbnb, отдельные разработчики часто пускали в работу код, который никто не перепроверял, что приводило к частым багам, на исправление которых тратилось время, которое можно было сэкономить, если бы кто-то еще просмотрел код. Кертис даже предложил механизм «pull request» — упрощенный способ попросить кого-то перепроверить программное обеспечение перед тем, как запустить его в работу. Один из разработчиков Airbnb даже создал специальный метод, который ускорял процесс подачи таких запросов, упрощая внедрение нового способа кодирования.
Другой пример: когда некоторые разработчики обнаружили, что для документации удобнее использовать Hackpad, а не используемый обычно GitHub, все команды сразу же на него переключились. Вместо того чтобы слушаться указаний «сверху», они просто последовали примеру своих коллег.
«Если вы можете предложить идею, и она будет держаться на своих преимуществах и будет принята командой, то это решение команды», — считает Кертис.
Он считает, что такая система внедрения процессов позволяет Airbnb производить радикальные улучшения в продуктивности. Он называет это математическим термином «ступенчатая функция».
«Когда все стандартизировано, вы застреваете в привычных и однообразных методах работы», — рассуждает Кертис. «Но стоит внести частицу хаоса, и вы получаете такие скачкообразные улучшения».
Разработчики Airbnb применяют новые методы, наблюдая за тем, как работают коллеги, а не следуя указаниями руководства.
Airbnb приходится совершать такие скачки, чтобы успевать за стремительным ростом рынка. Неясно, будут ли их текущие методы эффективны всегда. Кертис не держится за текущий подход — он реалист и знает, что все меняется.
Я спросил его, намеренно ли в Airbnb искали компромисс между статичностью и хаосом, иерархичностью и холократией.
«Я не думаю, что мы когда-нибудь осознанно задавали себе такой философский вопрос», — размышляет Кертис. «Наша цель — работать так, как получается эффективнее всего на текущий момент развития. По большому счету мы убеждены, что когда разработчики сами контролируют свою работу, они лучше мотивированы, а это приводит к более высоким результатам».
В отличие от крупной гостиничной сети, Airbnb не может диктовать хозяевам жилья свои условия — как устраивать комнаты и принимать гостей. Одна из прелестей использования Airbnb состоит именно в этой некой индивидуальной специфичности. Она же и является частью бизнес-политики компании.