Топ вещей, которые меня удивили, когда я пришел работать в Facebook
До Facebook у меня было 13 лет опыта, в том числе 3.5 года опыта в Amazon. Казалось, что меня уже ничем не удивить, но достаточно много вещей меня удивили.
1) On-demand машины и cloud коммитов. Мы не чекаутим код локально. Мы открываем среду разработки, нажимаем кнопку для подключения к машине в облаке, и код в локальной среде разработке отображается так, как будто он не в клауде, а локально. Подключение занимает несколько секунд и у вас за эти несколько секунд up-to-date код. Более того, ваши коммиты, которые вы еще не запушили и делали их на другой машине в другой день - отображаются и вы можете их зачекаутить нажатием одной кнопки.
2) Монорепа. Несмотря на огромное число команд(тысячи) и огромное число продуктов, тут очень ограниченное число репозирориев. Большая часть фейсбука в одном репозитории. Т.е. десятки тысяч разрабов коммитят в один репозиторий.
3) Реально работающий CI/CD. Несмотря на монорепу и тысячи коммитов в день в одну репу - ваш код окажется в проде за несколько часов после code review.
4) Слабое покрытие тестами. Покрытие тестами небольшое. В Амазоне в нашей команде было 97%. Тут над тестами меньше запариваются. При этом число багов не очень большое.
5) Монолиты. Большая часть фейсбука и большая часть инсты - это монолиты. Понятное дело, что вспомогательные вещи вынесены в отдельные сервисы(периодические джобы, ETL) и слои с хранилищами(файловые для видео, картинок, кэш, база, nosql и т.д.), но основная часть бизнес логики в монолитах. Все это в комбинации с монорепой и CI/CD очень впечатлило.
6) Не используются электронные письма для коммуникации. Тут есть Facebook Workplace, которые похож на внутренную соцсеть. Есть чаты, группы, видеозвонки, стриминг. Люди вместо писем пишут посты. Люди лайкают, репостят, пишут комментарии.
7) Встроенные мемы в код ревью тул. Вместо тестов, описания изменения кода и комментариев, можно вставлять мемы, что часто и происходит. Вместо плана тестирования вставляют какой-нибудь мем.
8) Регулярные Q&A с Цукербергом. Для тех, кто в главном офисе - можно присутствовать физически. В других - можно удаленно сидеть на стриме. Можно задавать вопросы и т.д.
9) Крутые внутренние тулы. Легко искать и навигироваться по коду, писать запросы, строить дашборды и метрики и много всего другого.
Post #607
2.33K
- 👍 47
- 🤣 3