Сломанный код. Внутри Facebook и борьба за раскрытие его вредных секретов - Джефф Хорвиц
Шрифт:
Интервал:
Закладка:
После выборов Facebook не стала начинать с нуля, поскольку начала более серьезно подходить к вопросу о том, что допускается на ее платформе. Компания создала определенные базовые системы защиты. Основная ответственность за такие проблемы, как спам и массовая кража данных, лежала на команде Site Integrity; проблемы, связанные с неправильным поведением обычных пользователей, находились в ведении подразделения, известного как Community Opera tions. Необходимость такой работы отражала растущую важность платформы для пользователей, рекламодателей и мошенников по всему миру.
Помимо масштаба и известности Facebook, существовала еще одна причина, по которой платформа нуждалась в усилении контроля. Facebook больше не была той социальной сетью, которую Цукерберг, как известно, создал в своей комнате в общежитии Гарварда. Продукт, который сотрудники называли Blue, заменялся по частям. Получившийся продукт был не просто более сложным - он был более нестабильным.
-
Путь Facebook к становлению крупнейшей в мире социальной медиакомпании был попеременно пронизан амбициями и оправданной паранойей. Насколько Цукерберг был убежден в том, что Facebook находится на траектории, способной изменить ход развития интернета и общества, настолько же он рассматривал любую растущую платформу, позволяющую людям отправлять сообщения, делиться или транслировать контент, как экзистенциальную угрозу.
Это убеждение появилось еще в 2004 году, в те времена, когда платформу запускали из арендованного дома в Пало-Альто. При первых признаках того, что в студенческих городках может появиться продукт, похожий на социальную сеть, Цукерберг объявлял "блокировку", во время которой все должны были работать почти без остановки, пока Facebook не закончит создание всех функций, которые он считал необходимыми, чтобы нейтрализовать угрозу.
Такая оперативность стала предметом гордости. К 2011 году, когда у Facebook появился корпоративный кампус, красная неоновая вывеска с надписью lockdown была готова к следующей чрезвычайной ситуации. Двухмесячный спринт, вызванный слухами о планах Google запустить социальную сеть, привел к появлению в Facebook функций Groups и Events, а Цукерберг завершил внутреннюю беседу об угрозе Google ссылкой на римского оратора, который заканчивал каждую речь словами "Carthago delenda est" - Карфаген должен быть разрушен.
Даже после того, как малораспространенный Google Plus был побежден, компания не могла успокоиться. Сетевые эффекты превратили социальные сети в игру "победитель-всех-победителей", в которой конкурирующие платформы были одновременно и угрозой, и помехой свободному распространению информации.
"Марк смотрел на Snapchat, как Рональд Рейган на Берлинскую стену", - вспоминает один из членов команды Facebook Core Data Science.
Facebook недвусмысленно заявлял, что хочет создать функции, которые будут учитывать все особенности офлайн-жизни. В 2014 году Цукерберг купил WhatsApp за 19 миллиардов долларов, опасаясь конкуренции со стороны текстовых сообщений, и он подталкивал Facebook к конкуренции с сайтами знакомств и одноранговыми торговыми площадками. Требования генерального директора к росту были очень высокими. Согласно более поздней истории метрических целей Facebook, в 2014 году Цукерберг внутренне заявил, что Facebook должен стремиться к 10-процентному ежегодному росту пользователей в вечном периоде. Ответственность за это бесконечное экспоненциальное расширение ложилась как на элитную команду Growth, так и на инженерные команды по всей компании.
Как объяснил Цукерберг своему финансовому директору в электронном письме 2012 года, он считал, что существует "лишь конечное число различных социальных механизмов, которые можно изобрести". Всякий раз, когда появлялась новая механика, писал Цукерберг, компания должна была либо скопировать ее, либо приобрести. "Основной план состоит в том, чтобы купить эти компании и оставить их продукты в работе, а со временем внедрить изобретенную ими социальную динамику в наши основные продукты", - написал Цукерберг. "Один из способов взглянуть на это - то, что мы действительно покупаем, это время".
Это была менее веселая и более параноидальная интерпретация хорошо известного девиза компании "Двигайся быстро и ломай вещи". Этот лозунг, как и бесцеремонный призыв к разработке продуктов, отражал необходимость беспокоиться о том, что может появиться в зеркале заднего вида. Красная книга", внутренний манифест компании, опубликованный вскоре после IPO, превратил этот страх в вдохновляющий лозунг: "Если мы не создадим вещь, которая убьет Facebook, это сделает кто-то другой".
С каждой новой функцией конкурирующего продукта, вызывающей экзистенциальный кризис, Facebook должен был превратиться в некое подобие Франкенштейна, наспех сшитого из частей конкурирующих платформ. Компания позаимствовала кнопку reshare из ретвитов Twitter, запустила живое видео после успеха Periscope, содрала эфемерные видеопосты из Snapchat и включила групповые видеочаты а-ля Houseparty. Вопиющее воровство было расценено сначала как постыдное, потом как безрассудное, а затем как комичное. "Facebook скопировал Snapchat в четвертый раз, и теперь все его приложения выглядят одинаково", - гласил запоминающийся заголовок Recode.
Необходимость быстрой адаптации приводила к тому, что код регулярно оказывался неровным по краям и, по сути, "ломал вещи". В презентации 2015 года Бен Маурер, отвечавший за надежность инфраструктуры Facebook, отметил, что сбои в работе сайта происходили практически каждый раз, когда инженеры Facebook садились за клавиатуру. В течение одного шестимесячного периода единственными двумя неделями, когда ничего серьезного не происходило, были "неделя перед Рождеством и неделя, когда сотрудники должны писать друг другу рецензии".
Инженеры не были некомпетентны - они просто следовали часто цитируемой мудрости компании: "Сделанное лучше, чем совершенное". По словам Маурера, вместо того чтобы сбавлять обороты, Facebook предпочла создать новые системы, способные минимизировать ущерб от небрежной работы, создать брандмауэры для предотвращения каскадных сбоев, отбрасывать неактуальные данные, пока они не скопились в очередях, разрушающих сервер, и перепроектировать инфраструктуру так, чтобы ее можно было легко восстановить после неизбежных сбоев.
Та же культура распространялась и на разработку продуктов, где премии и повышения по службе выдавались сотрудникам в зависимости от того, сколько функций они "отгрузили" - на жаргоне программистов это означает включение нового кода в приложение. Проводимые раз в полгода, эти обзоры "цикла подведения итогов работы" стимулировали сотрудников завершать продукты в течение шести месяцев, даже если это означало, что готовый продукт был лишь минимально жизнеспособным и плохо документированным. Инженеры и специалисты по обработке данных рассказывали, что жили в условиях вечной неопределенности относительно того, где собираются и хранятся пользовательские данные - плохо обозначенная таблица данных могла оказаться лишним файлом или важным компонентом важного продукта. Брайан Боланд, давний