Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Как разрабатывают Facebook

На сегодняшний день проект Facebook представлен на клиентской стороне мобильными сайтами m.facebook.com, 0.facebook.com, мобильными приложениями Facebook для iPhone и Android, а также сайтом www.facebook.com, который в узких кругах (примерно 750 млн жителей этой планеты) пользуется наибольшей известностью.

Размер проекта накладывает определенные ограничения на структуру команды разработчиков. Если пробежаться по вакансиям компании, то можно составить следующую грубую категоризацию:

  • Разработчики продукта. Они чаще всего заняты разработкой функционала, который наблюдают посетители сайта, однако продуктом вполне может быть и какая-то внутренняя система, у которой тоже может быть приятный дизайн и юзабельные инструменты. Основные инструменты — PHP, CSS, JavaScript.
  • Инфраструктурные программисты. Сюда можно отнести как людей, занимающихся непосредственно инфраструктурой сайта (репликация данных между дата-центрами, поддержка поиска и рекламной системы), так и разработчиков, занимающихся разработкой и доработкой Hadoop, тренировкой и тестированием моделей искусственного интеллекта, обработкой и сжатием фото и т.д. Инструменты работы — C++, Java, Erlang, Python, PHP.

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

  • Дизайнеры. В основном занимаются созданием поведенческой модели пользователя и написанием интерфейса, обслуживающего эту модель. Также следят за унификацией элементов дизайна. Для искоренения последней проблемы чаще всего пишут всякие таги в XHP, дабы отбить у разработчиков охоту писать CSS и JavaScript для элементов, которые уже созданы.
  • Аналитики данных. Обладают пониманием Hive, Hadoop (в качестве пользователей) и чаще всего дипломом по специальности «Статистика». На ранних порах разработки продукта могут дать ответы на вопросы о нынешних тенденциях поведения пользователей. Позднее могут интерпретировать результаты A/Б-тестирования, рассмотреть результаты запуска в зависимости от страны либо языка пользователя.
  • Менеджер продукта. Иногда является и менеджером проекта, однако ввиду предпочтения небольшим командам чаще всего занимается сугубо продуктом. После устаканивания общего видения продукта вместе с дизайнером разрабатывает макеты, описывающее конечную цель разработки. Если продукт оперирует с продуктами других команд (а внутри тесно-интегрированного проекта это более правило, чем исключение), извещает о планах своей команды других. Занимается демонстрацией первых бета-версий заинтересованным лицам и командам. Стоит сделать отступление и отметить, что несмотря на вроде как управленческую должность, менеджер продукта не управляет собственно разработчиками — структурно разработчик по карьерной лестнице рано или поздно подчинится вице-президенту по разработке, а вот менеджер продукта в итоге подчиняется вице-президенту по продуктовой стратегии.

Что касается инструментов для совместной разработки, то компания еще на весьма ранней стадии своего развития делала упор на качество внутреннего инструментария. Этому отчасти помогал тот факт, что в период критического роста вице-президентом компании был Дастин Московиц, который не только самостоятельно занимался разработкой некоторых инструментов, но и впоследствии основал стартап, который именно этим и занимается. Что же используется сегодня?

  • Группы на Facebook — закрытые группы используются для обсуждения макетов, распространения информации о чрезвычайных ситуациях и планов на будущее. Демократическая суть групп разрешает также кому угодно — от разработчика и до гендиректора — внести идею и посмотреть, как к этому относятся остальные участники команды.
  • Phabricator — интегрированный пакет для написания, тестирования, рецензий и релиза кода.
  • Весьма похожий на Асану инструмент для управления задачами. Тесно интегрирован с Phabricator. В большинстве случаев заменяет электронную почту.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

LinkedIn

Схожі статті




17 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Весьма познавательно. Спасибо.

Весьма познавательно. Спасибо.

Благодарю, Алекс, за очень полезную статью!

Судя по всему, ты отличный разработчик.

Раздражает, насколько я понимаю, не столько наличие нового функционала, сколько стабильность старого. Я к этой команде имею только косвенное отношение, но шаги в этом плане делаются developers.facebook.com/blog/post/550

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

Это мечта вообще : ) Есть к чему стремиться))

Скажу по секрету: такая практика применяется во всех вменяемых стартапах.

Фейсбук не вышел еще на ипо, значит фактически это еще стартап.

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

пользователи тестируют :)

(примерно 750 млн жителей этой планеты) пользуется наибольшей известностью.

Видимо так...

Tue Jun 29 2010 — Не самая «свежая» инфа...

это инсайдерская информация? или перевод какой-то статьи?

Судя по всему инсайдерская: www.linkedin.com/in/prostoalex

Правда никакого эксклюзива особого

5 лет работы в фейсбуке — вызывает уважение

Підписатись на коментарі