FAANG Master
Відкрити в Telegram
Cтатьи https://dev.to/faangmaster Youtube: https://www.youtube.com/@faangmaster Patreon: https://www.patreon.com/c/FAANGMaster Boosty: https://boosty.to/faangmaster
Показати більше2 940
Підписники
-124 години
-197 днів
-1130 днів
Архів дописів
2 940
Когда, я работал в Amazon, наша команда использовала Google Guice. Т.к. он более легковесный, чем Spring. Но некоторые использовали Spring. В Meta я на Java не писал. И в hacklang никакого DI не использовали.
2 940
Heatwave в Лондоне
На этой неделе в Лондоне ожидается сильная жара. До +38°C. Обычно, такую погоду в UK называют heatwave (хитвейв).
При этом жара в UK переносится сильно хуже, чем в других странах. Тут даже температура выше +25°C уже не сильно комфортная.
Это связано с несколькими факторами:
1) Отсутствие кондиционеров в домах. Тут практически не бывает кондиционеров в жилых домах. Кондиционеры есть, в основном, только в офисах и магазинах. Сверлить фасад здания и повесить кондиционер вам никто не даст.
2) Дома - термосы. Дома строились с расчетом на накопление и удержание тепла внутри. У них хорошая теплоизоляция. А также стены сделаны из материала, который хорошо нагревается и долго держит тепло. Это хорошо в прохладную погоду, но не летом. Тут, в отличие от Германии и других стран Европы не холодно зимой в домах. В Дюссельдорфе и Люксембурге, где я жил до Лондона, было сложно получить температуру выше 19-20 градусов зимой без больших счетов на коммуналку. В Лондоне такой проблемы нет (ну или не так заметна). Но летом это превращается в ад. Дом нагревается в жару и даже после того как жара спадает, стены продолжают еще долго отдавать тепло внутрь и удерживать от потерь наружу. На улице уже может быть 20, а в доме все еще больше 25.
3) Нет внешних ставень. Во многих странах Европы, на окнах есть внешние ставни. Закрывать их можно изнутри дома. При этом они полностью блокируют свет, благодаря чему не нагревается само окно и помещение внутри. В Лондоне такого нет. Более того, во многих кввртирах окна от потолка до пола, т.е. у вас такой аквариум, который сильно прогревается солнцем со всех сторон. В Люксембурге у меня в квартире были ставни, хотя страна не южная, типа Испании. Это было особенно хорошо ночью, можно было создать полную темноту в помещении на ночь. И все это хорошо сочеталось с +19°C внутри. Спать было заметачельно.
4) В жару очень часто полностью чистое небо. Не смотря на репутацию туманного Альбиона и дождливой страны, тут бывает очень солнечно. При этом на небе нет ни одного облачка. При таком палящем солнце, даже +25°C уже кажется жарой. А в сочетании с квартирами аквариумами, это делает жару внутри помещений невыносимой.
2 940
Amazon Now пришел в UK.
Сейчас заказал продукты питания из Amazon Fresh и мне их доставили за меньше чем 20 минут.
2 940
Вышел трейлер сиквела Социальной Сети: The Social Reckoning
Трейлер: https://youtu.be/gM4LkaXwGuY?is=XWo_W-2cW70AS4yc
Сценарий создан тем же автором, что и Социальная Сеть 2010 года - Аароном Соркиным, который получил за него оскар. Только в этот раз он же и снял этот фильм (Социальную Сеть снимал Дэвид Финчер).
Фильм про утечку 2021 года.
2 940
Вышла документалка Андрея Лошака про компанию Plata
Plata - это спиноф Тинькоф Банка в Мексике. Ее основал Олег Тиньков и Майкл Калви. В топ-менеджменте много выходцев из Тинькоф банка. Среди программистов много выходцев из пост-советских стран.
Фильм: https://www.youtube.com/watch?v=pWwQmikOoqg
Фильм посмотрел из-за Андрея Лошака и Олега Тинькова. Сама документалка хоть и интересная, но выглядит как проплаченный фильм от компании.
Тинькова смотрел еще 14 лет назад с его канала Бизнес Секреты: https://www.youtube.com/@BiZSekrety/videos
Сейчас подобный контент смотрю на канале Это Осетинская (раньше назывался Русские Норм!): https://www.youtube.com/@Osetinskaia
Реально хорошие документалки Андрея Лошака:
1) Холивар. История рунета. Документалка от Андрея Лошака про историю рунета. Смотрится на одном дыхании. Есть на youtube: Холивар. Кинопоиск 8.2, Imdb 7.8.
2) Русские хакеры: Начало. Еще один шедевр документалистики от Андрея Лошака. Кинопоиск 8.4, Imdb 7.3.
Смотри также другие фильмы, документалки, сериалы про программистов:
Рекомендую сериал Devs
Подборка фильмов, сериалов и документалок о программистах, BigTech, стартапах и их основателях
2 940
Наконец получил Британский паспорт.
Мой путь к паспорту описан тут:
https://t.me/faangmaster/1201
2 940
Starbucks отказался от AI системы для инвентаризации
В сентябре 2025 года новый CEO компании Брайан Никкол решил побороть вечную проблему нехватки ингредиентов в кофейнях. В 11 тысячах точек США и Канады внедрили систему Automated Counting (от разработчика NomadGo). Бариста должны были просто навести планшет с камерой на полки с сиропами, молоком и кофе, а нейросеть с помощью компьютерного зрения должна была сама всё посчитать и заказать то, что заканчивается.
На практике:
Нейросеть регулярно путала разные виды молока (например, обычное с миндальным или соевым).
Система не видела некоторые позиции или, наоборот, считала один пакет за два.
Из-за постоянных галлюцинаций ИИ бариста приходилось тратить массу времени на ручную перепроверку данных, что полностью убивало смысл автоматизации.
После 9 месяцев мучений, в итоге, они отказались от системы и перешли на ручной учет.
При этом, они недавно ввели KPI для сотрудников по использованию AI (токенмаксинг) и привязали это к премиям и т.д.
2 940
Какие есть с этим проблемы и как их решили в Facebook/Instagram?
1) Производительность системы контроля версий. Если у вас очень много кода в одном репозитории как в Meta (миллионы файлов, десятки, если не сотни миллионов строк), то система контроля версий может на справится по производительности. Поэтому Мета сделала свою систему контроля версий на основе Mercury.
2) Feature Flags. Из-за trunk-based development у вас деплоится множество функционала в промежуточном состоянии. Для этого вам нужно иметь возможность ее включать и выключать в проде, проводить тестирование в проде и т.д. Для этого вам нужно активно использовать feature flags.
3) Привязка к одному языку программирования. Это неустранимая особенность. Приходится писать на том языке, на котором написан монолит.
4) Влияние проблем в одной фиче на другую/независимое масштабирование. Если одна функциональность стала работать плохо (потреблять много памяти, бросать ошибки, потреблять много процессорного времени и т.д.), то это может повлиять на работоспособность другого функционала, т.к. весь функционал живет на одном и том же сервере (т.к. это монолит). Это решено на уровне виртуальной машины/контейнера приложений. В Python у вас создается несколько отдельных процессов. Которые способны обрабатывать запросы независимо друг от друга. Число процессов зависит от числа ядер процессора. Процессы не шарят между собой память. Их можно независимо друг от друга мониторить, убивать и перезапускать. В hacklang и hhvm процесс один, но имеет множество потоков, которые имеют изолированную память, которую можно независимо друг от друга ограничивать. Потоки более легковесные, чем отдельные процессы. Но при этом они не шарят память между собой. В Java такое реализовать не получится. Там также один процесс и отдельные потоки на каждый запрос. Но потоки используют одну и туже память (Java Heap).
5) Проблемы с ownership кода. Из-за того, что весь код в одной большой куче, сложно разграничивать кто отвечает за тот или иной код. В Meta эта проблема решена плохо. Тут есть и плюсы и минусы. С одной стороны вы не ограничиваетесь кодом своей команды и можете при необходимости изменить любой код. Но важно, чтобы те, кто отвечает за этот код как минимум проревьюили это изменение. В Meta с этой целью к каждому файлу добавляется специальная аннотация/тег - какая команда владеет этим кодом. И при его изменении, автоматически в код ревью добавляются люди из нужной команды.
6) Сложно засетапить CI/CD. Нужно, чтобы компиляция на такой большой базе кода работала быстро, а также тесты прогонялись быстро. Для этого вычисляется дельта, и прогоняется только подмножество тестов, на которые может повлиять ваше изменение.
2 940
Почему самые высоконагруженные веб приложения мира это не всегда микросервисы?
Многие компании, которые разрабатывают самые высоконагруженные приложения, с миллиардами запросов в секунду, используют монолиты и монорепы. Ярким примером является Facebook и Instagram. В бэкенде это монолиты. Конечно, у них есть большое число других компонент, которые вынесены в отдельные сервисы, но основной backend, который принимает и обрабатывает запросы от фронтенда (веба или мобильного приложения), содержит бизнес логику - это монолит.
Backend Facebook изначально был написан на PHP в 2004 году. Далее его плавно мигрировали на собственный язык hacklang и собственную виртуальную машину hhvm. При этом он остался, по большей части, колоссального размера монолитом.
Аналогично, Instagram написан на python (django). Основная часть все еще остается монолитом.
Оба сервиса имеют миллиарды пользователей и обрабатывают невероятное число запросов в секунду. При этом они обладают колоссальной отказоустойчивостью и скорость разработки сервисов огромная. Время от того, как вы запушили комит до деплоя в prod проходит несколько часов.
Более того, весь код этих приложений находится в монорепе и используется trunk-based development. Т.е. все изменения сразу делаются в основной ветке разработки.
Почему так? Какие это дает преимущества?
Монорепа:
1) Проблема версионирования API решается на уровне компилятора. Если вы меняете какое-то API, то вы не сможете запушить это изменение в trunk до тех пор, пока не измените все call site (все места, где это API вызывается). Вам не позволит компилятор, ваш код просто не скомпилируется. Если у вас множество репозиториев, то изменение API в одном месте не блокирует вас запушить это изменение. Вы создадите новую версию вашего API. Всем клиентам нужно про это узнать, и делать процесс миграции на новую версию. Нужно менять код, зависимости и т.д. Очень часто это приводит к багам в проде. Когда клиент ожидает одного поведения или семантики API, а в проде уже задеплоена другая версия.
2) Полностью решается проблема dependency hell. Проблемы зависимостей на разные версии одной и той же библиотеки со стороны разных зависимостей вашего модуля. Круговые зависимости и т.д. Тут все решается автоматически на уровне компилятора.
3) Легкий поиск по коду. У вас весь код под рукой. Если он проиндексирован можно легко найти любой интересующий вас код.
В Амазоне отдельные репы. Там целая наука работы с зависимостями. Есть свои тулы, концепции и т.д. Там есть тул brazil, понятие version set и много всего другого. Это постоянно приводят с затыкам с зависимостям, багам в проде из-за версионирования. Часто пуш сторонней библиотеки может заблокировать ваш CI/CD пайплайн, т.к. у вас поломались зависимости.
Монолиты:
1) Высокая производительность. В микросервисах вызов функции происходит по сети, что работает за миллисекунды. В монолитах вызов происходит в рамках одного процесса и работает за наносекунды.
2) Нет проблемы версионирования API в проде. Это решается на уровне компилятора. Это типичная проблема микросервиисов.
3) Легко тестировать. Вы можете протестировать все e2e. В микросервисах часто очень сложно или не возможно протестировать приложение e2e. Вы можете протестировать свою компоненту, но не весь функционал в целом. Особенно, если у вас под 100 тысяч микросервисов, как в условном Amazon.
Trunk-based development:
1) Отсутствие Merge-Hell. Если вы разрабатываете крупную фичу в отдельной ветке, ее потом сложно мержить в trunk. Мелкие и частые изменения предотвращают тяжелые конфликты вмерживания.
2) Можно сделать реальный и быстрый CI/CD. В Мета любое изменение вмерживается, компилируется, тестируется и деплоится в прод за несколько часов. Не нужно делать долгие сложные редкие релизы.
2 940
2 940
Exit стратегия ранних инвесторов в Open AI, Anthropic и Space X заключается в использовании пенсионных накоплений американцев
Такая дискуссия разворачивается в преддверии самых масштабных IPO в истории. В этом году на IPO выходят SpaceX, OpenAI и Anthropic. Ранние инвесторы вкладывали колоссальные деньги в эти компании по астрономическим оценкам. Все три компании глубоко убыточные. Revenue (доход) измеряется десятками миллиардов долларов в год. При этом оценка капитализации в триллионах долларов.
Выход на IPO — это один из вариантов вернуть инвестиции и заработать на них.
Но что необычного сейчас происходит?
Крупные индексы, вроде Nasdaq, Russell 1000, S&P 500, изменили правила включения компаний специально под эти 3 компании. Они сократили время включения до недель и даже дней, вместо месяцев или даже года. Кроме того, S&P 500 исключил правило, что для включения компании в индекс нужно, чтобы компания была прибыльной.
То есть,
Индексы планируют включить эти компании в портфели почти по стартовой цене, без ожидания установления рыночной цены.
Но как это связано с пенсиями в США?
В США существенная часть пенсий поступает от так называемых инвестиционных счетов 401(k). Работник может откладывать часть своего дохода на специальный инвестиционный счёт. Например, 5%. Часто работодатель может добавить столько же. То есть вы можете откладывать 10% своего дохода на инвестиционный счёт. Причём вы откладываете процент дохода до уплаты налогов. То есть то, что вы туда откладываете, идёт в обход уплаты налогов.
И когда вы перечисляете туда деньги, вы можете выбрать индексы, в которые вы инвестируете. Снять деньги со счёта до достижения пенсионного возраста очень сложно, и придётся платить штраф за это.
Теперь получается так, что эти компании насильно и по практически изначальной цене включают в индексы, и следовательно, это частично оплачивается из пенсионных накоплений американцев.
Соответственно, ранние инвесторы могут быстро продать свою долю и выйти по астрономической цене за счет пенсионных денег американцев.
Это вызвало широкие обсуждения в последнее время. И S&P 500 уже отказался от упрощенных правил для этих трех компаний. Но Nasdaq и Russell 1000 — нет.
Более того, под соусом SpaceX нам продают ракеты, но в реальности туда включили X.AI (создатель Grok), который является глубоко убыточным AI-бизнесом.
Всё это, совместно с разговорами про токенмаксинг и бесполезными расходами на AI (не видна польза от внедрения AI, видны только астрономические расходы), снова поднимает тему про AI Bubble.
2 940
На том же канале много других прикольных документалок
1) IntelliJ IDEA. Про создание, возможно, лучшей среды разработки для Java.
Трейлер
Фильм
2) Spring. Про создание одного из самых популярных фреймворком для Java.
Трейлер
Фильм
3) Java. Про создание языка программирования Java. Пока только трейлер. Фильм должен выйти летом этого года.
Трейлер.
2 940
Еще одно интервью с выпускником МФТИ в Лондоне
Это основатель Рокет Банка. Сейчас делает компанию Numica в Лондоне.
Его линкедин: Victor Lysenko
https://youtu.be/Ec8V9kNdLco?si=Q10bixYviPlea85r
2 940
Вышла документалка про создание C++
Трейлер: https://youtu.be/NXwTRzywDSk?si=3aEmsgWoZXUjA2Hk
Документалка: https://youtu.be/lI7tMxzSJ7w?si=aSSf8X7ZWxZpH_CY
2 940
Сегодня пришли рекрутеры из Synthesia. Пора начать собеситься, но лень.
Они кстати тоже с моем топе были:
https://t.me/faangmaster/1226
2 940
Uber COO Андрю Макдональд про AI
Uber израсходовал годовой бюджет на AI за несколько месяцев. При этом Uber COO в интервью рассказал, что пока сложно установить связь между реальным увеличением производительности (увелечение числа задиливериных фич или рост revenue) и использованием AI. Т.е. использование AI растет, рассходы на AI расстут, но нет увеличения выхлопа от этого. По крайней мере, пока сложно установить связь между расходами на AI и ростом производительности.
https://youtube.com/shorts/GZFCSyjunZI?si=eDi4fcd3RV3PELrC
2 940
У Veritasium вышло видео про поиск путей в Google Maps
Видео: https://youtu.be/kS-CGkiPetQ?si=4oxJGeekQjUzg_Cd
Смотри также мой разбор задачи с System Design: Дизайн Google Maps.
А также Подборка статей, которые я уже написал и опубликовал в этом канале по system design
2 940
2026 - год беспрецендентных IPO
В этом году планируется первичное размещение акций SpaceX, OpenAI и Anthropic. У всех трех компаний космические оценки капитализации. У SpaceX ближе к 2 триллионам долларов. У OpenAI и Anthropic под триллион. Он планируют привлечь огромные средства на первичном размещении(сотни миллиардов в сумме на 3 компании). OpenAI ChatGPT проигрывает конкуренцию Google Gemini и Anthropic Claude. Есть подозрения, что размещение и последующая судьба акций OpenAI не будет безоблачной. Но в любом случае эти IPO вытянут огромные средства из других активов. Есть опасения, что могут просесть акции многих других компаний из-за перераспределения инвестиций. В частности, я переживаю за свои инвестиции, в том числе в Mag 7 (Google, Amazon, Meta, Tesla, Nvidia, Apple, Microsoft). В акциях которых у меня под $300k. Как думаете, что будет с ценами на эти акции и как пройдет IPO этих трех компаний?
