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 953
مشترکین
-124 ساعت
+17 روز
+4430 روز
آرشیو پست ها
2 953
Кандидаты задают странные вопросы
Сегодня провел очередное собеседование. Мы всегда оставляем 3-5 минут на вопросы со стороны кандидата. Достаточно часто встречается такой вопросы: "Какая ваша роль в компании?", "Как проходит ваш день?", "Чем вы занимаетесь в компании?", " В какой команде вы работаете?".
Как по мне, это бесполезные вопросы для кандидата. Ответы на эти вопросы ничего не дают кандидату. Мы не собеседуем в конкретную команду. Team matching происходит после, если кандидат успешно пройдет собесы.
И не понятно, что отвечать, как проходит мой день. Он ничем не отличается от того, что делают другие люди в этой роли (поел, посмотрел мемы и поехал домой. Шучу. Или нет...). По всей видимости, это какие-то рекомендуемые интернетом нейтральные вопросы. Эта часть никак не оценивается. Поэтому я бы спрашивал то, что меня действительно волнует. Прямой негатив , возможно, не стоит выливать. Но задать вопрос, который бы пролил свет на потенциальный консерн, я бы задал.
2 953
Кофе и продуктивность
Кофе я начал пить, когда работал в Amazon, примерно 6–7 лет назад. До этого я практически его не употреблял. Сначала это происходило время от времени, потом дошло до 1–2 чашек в день, а через пару лет — до 3–5 чашек ежедневно. В определённые периоды я пил даже более пяти чашек в день. В результате у меня сформировалась сильная зависимость. Это негативно сказалось на моей продуктивности, которая стала нестабильной. Чтобы поддерживать её хотя бы на каком-то уровне, мне приходилось постоянно пить кофе. Начались проблемы со сном, повысилась тревожность.
Сейчас я полностью отказался от кофе. Этот процесс оказался непростым: симптомы отмены длились почти три недели. В первое время я постоянно чувствовал сонливость, мне было сложно концентрироваться, а голова болела практически каждый день. В первые дни я много спал, но затем появилась бессонница или очень яркие сны.
Однако положительные изменения начались довольно быстро. Почти сразу после отказа от кофе снизилась тревожность. Через пару недель исчезла головная боль, а спустя три недели полностью восстановился сон и способность концентрироваться. Продуктивность стала стабильной в течение всего дня. Кроме того, я заметил, что повысились интеллектуальные способности: например, в шахматах мой рейтинг (ELO) вырос на 160 пунктов всего за три недели без дополнительного изучения. Просто стало легче видеть тактические ходы.
В будущем я планирую пить кофе только в особых случаях, например перед важными событиями, такими как собеседования, для кратковременного повышения работоспособности. Постоянное употребление кофе приводит к адаптации организма, из-за чего приходится пить его регулярно, чтобы поддерживать продуктивность хотя бы на минимальном уровне.
2 953
В Мета будет очередной раунд сокращений 10 февраля
В этот раз это сокращение будет на основе перфоманса сотрудников. Сейчас как раз начался процесс PSC (перфоманс ревью). Планируется уволить ~5% по его результатам. Т.е. это затронет несколько тысяч сотрудников (3-4 тысячи). Из них, вероятно, 1-2 тысячи - это разрабы.
При этом в течении 2025 планируется нанять им замену! Т.е. в 2025 появится огромное число вакансий!
Что я думаю об этом?
Это происходит неявно весь 2024 год. Это так называемый silent layoff. В 2024 много нанимали и много увольняли по результатам первоманса. При этом не предлагали pip, а просто сразу severance package (компенсацию). Сейчас это объявили официально. Думаю, чтобы повлиять на цены акций. Кост каттинг всегда положительно сказывается на цене акций + по официальной версии это делается для повышения performance bar для работы над AGI (общий ии).
Каким образом происходит кост каттинг, если на замену уволенным нанимают новых сотрудников?
Старые сотрудники получили много акций по низкой цене во время сильного падения в 2022 году. Сейчас эти акции выросли в 6 раз! Соответственно, куча людей получает гигантскую компенсацию. Поэтому выгодно этих уволить и нанять новых, которым платить initial offer.
Есть вероятность, что большинство новых вакансий будет не 1-1 в тех же командах, а просто будут открывать больше вакансий для работы над AGI. Также новые вакансии скорее всего будут для senior+ сотрудников.
2 953
Как проще получить повышение? Сменой работы или промоушен на текущем месте работы?
Я делал и так и так. Если у вас уже достаточно опыта работы для следующего левела и ваш скоуп полностью или частично пересакается с более высоким левелом, но вас по тем или иным причинам не промоутят на текущем месте, то намного проще получить новый левел через собеседование.
Очень часто получить повышение сложнее, чем пройти собеседование на более высокий левел. На собеседовании ваш левел, в основном, зависит от вашего резюме и от поведенческой части собеседования. Т.е. вам достаточно поговорить 45 минут про свой опыт, чтобы убедить интервьюера, что вы перфомите на следующий уровень. От технической части это тоже зависит. В основном, от system design или его аналога на собеседовании в другие компании (не Big Tech). Но к этому тоже можно подготовиться.
Работая внутри компании на более низком уровне, для вас изначально есть скоуп на этот более низкий уровень. И от вас ожидают, что вы будете с ним хорошо справляться. Поэтому вы будете перегружены задачами своего, более низкого левела. И даже если вы будете с ними справляться очень хорошо, то вас не повысят, вас будут рассматривать как хорошего/лучшего сотрудника на своем уровне. Для промоушена вам надо показать, что вы работаете и работаете хорошо на следующем левеле. А по умолчанию вам такой скоуп не дадут, т.к. есть люди, более высокого левела, от которых ожидается, что они будут работать над этим скоупом. Поэтому вам надо или этот скоуп создать самому, который гармонично появится из вашей работы на текущем левеле, или вам этот скоуп даст ваш менеджер. Для второго нужно, чтобы ваш менеджер в этом был заинтерисован, чтобы такой скоуп был и именно для вас, и менеджер был бы убежден, что вы с ним справитесь. Т.е. нужно, чтобы сошлось много звезд на небе. Для первого (создать свой скоуп), также не очень просто. Поэтому промоушены очень часто затруднены, особенно, выше левела senior.
Но если вам повезло с менеджером, который умеет и заинтерисован в вашем проумешене. Или вы создали скоуп на следующий левел (часто, это проще если команда/отдел быстро растет, много инвестиций в эту область от компании) и достигли результатов. А также есть позиция/бюджет для человека более высокого уровня, то вас повысят. Но это не всегда и не у всех срастается. В таких случаях, стоит рассмотреть вариант повышения через собеседование в другую компанию.
Я на практике, видел, как люди уходили из Amazon в Microsoft с повышением на один левел и возвращались через пару лет еще на +level. Т.е. они за два года получали +2 левела просто через 2 собеседования.
Что вы думаете об этом пишите в комментариях.
2 953
У Редакции вышел интересный выпуск с Ильей Стребулаевым, профессором Стэнфорда, про венчурные инвестиции.
https://youtu.be/SP2fFN9ttJc?si=RhRLLOwDmPnZC8xI
2 953
Простая задача с собеседования в Google: Merge Strings Alternately
Задача
Даны две строки. Необходимо смержить эти строки в одну. При этом символы в результирующей строке должны чередоваться: один символ из первой строки, затем один символ из второй строки, и так далее. Если строки разной длины, то оставшиеся символы из более длинной строки должны быть добавлены в конец результирующей строки.
Примеры:
Для строк "abc" и "pqk" результирующая строка будет "apbqck".
Для строк "abc" и "p" результирующая строка будет "apbc".
Ссылка на leetcode: https://leetcode.com/problems/merge-strings-alternately
Решение.
Решение описал тут: https://dev.to/faangmaster/prostaia-zadacha-s-sobiesiedovaniia-v-google-merge-strings-alternately-1aa3
Код решения:
public String mergeAlternately(String word1, String word2) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < word1.length() || i < word2.length()) {
if (i < word1.length()) {
sb.append(word1.charAt(i));
}
if (i < word2.length()) {
sb.append(word2.charAt(i));
}
i++;
}
return sb.toString();
}
Временная сложность: O(N+M), где N - длинна первой строки, M - длинна второй строки.
Сложность по памяти: O(1), если не считать память на результирующую строку. Если считать, то O(N+M).2 953
Куда не плюнь, попадешь в CEO с гениальный новым подходом к собеседования
Когда открываю линкедин, постоянно в ленте попадаются "гениальные посты" от очередного CEO.
Если в линкедине поискать по слову CEO и посмотреть, сколько людей с таким тайтлом, то их будет 11 миллионов. При этом число программистов в мире ~30 миллионов.
Т.е. на трех программистов приходится один CEO.
Большинство этих CEO - создатели очередного врапера (на чужую технологию), сделанного на коленке. Сейчас все делают враперы на LLM.
Сейчас сильно развит рынок посевных инвестиций, поэтому достаточно написать хорошую презентацию и уверенно ее презентовать.
Получив инвестиции, такие CEO, прозревают и начинают писать свои гениальные мысли в линкедин. Существенная часть этих мыслей касается того, как надо собеседовать людей, чтобы найти таких же гениальных людей, как сами эти CEO.
К чему это приводит? Приводит это к тому, что такие стартапы собеседуют, кто в лес, кто по дрова. Задают рандомные, неоткалиброванные, вопросы и нанимают случайных людей. Вместо этого, можно просто бросать кости или задавать вопрос в стиле: "Я загадал актера, угадай с трех попыток".
Сегодня видел пост от такого CEO, который писал, что его куда-то не взяли, потому что он не знал как работают логические операции (and, or). А сейчас он такой успешный CEO в области AI (очередной врапер), и все эти технические вопросы знает chatGPT и собеседовать нужно не по техническим вопросам, а по вопросам маркетинга и продаж (я не уверен, что он сам в маркетинге разбирается). А технические вопросы нужно спрашивать с возможностью использовать LLM/chatGPT.
2 953
Станете ли вы богатым человеком, работая в IT?
#мысли
Краткий ответ: скорее нет, чем да.
С большой вероятностью вы станете middle class. Вы сможете не переживать о ценах на еду, пару раз в год кататься в отпуск в любую точку мира, периодически обновлять электронику. Вы сможете позволить себе недвижимость, но в ипотеку. Сможете позволить себе машину среднего класса. Ваше состояние за жизнь будет ~$100k-$1M (стоимость недвиги, машины, сбережений, инвестиций и т.д.).
Небольшой процент станет upper middle class. Это будет касаться сотрудников части FAANG-компаний, менеджеров высшего звена в компаниях поменьше, или успешных бизнесменов средней руки. Но это 1-5% от всех людей, кто работает в IT. Тут я говорю про людей с состоянием за жизнь ~$1M-$10M.
Ничтожно малая часть станет действительно богатыми людьми. Тут я говорю про людей, с состоянием от $10M-$30M. Это успешные крупные бизнесмены, топ менеджмент в крупных или FAANG-компаниях.
Стоит ли сразу создавать свой стартап и заработать десятки или сотни миллионов долларов?
Вероятность успеха стартапа очень низкий. При этом большинство, условно, успешных стартапов не позволяют обеспечить высокий доход, который бы превосходил доходы в крупных компаниях в найме. В подавляющем числе случаев, стартап получает посевные инвестиции, команда из 5-10 человек делает MVP (разработка уровня hello world, но зато с нуля), проедает эти инвестиции, зарабатывая порядка зп в обычном найме. И далее закрывается. Часть выходит на самоокупаемость и продолжает работать в том же авральном режиме, зарабатывая ~ денег в найме. И только малый процент или доли процентов позволяют выйти в категорию upper middle class и выше.
Пишите, что вы думаете в комментариях.
2 953
Расходы на жизнь в Лондоне
1) Аренда. Медианная цена: Студия - £1.6k, Двушка (1 bed) - £2.1k, Трешка (2 beds) - £2.9k
Цена ориентировочная, есть дешевле и дороже. Можно за £2.5k найти хорошую 2 beds.
2) Коммуналка. £300-£500 в месяц.
3) Еда и покупки. £300-£500 на человека
4) Доставка и рестораны. £200-£500 в месяц на человека в зависимости от частоты.
5) Машина (страховка, бензин, обслуживание и т.д.). £300-£400 в месяц.
6) Общественный транспорт. £200-£400 (если живете далеко и часто ездите на поезде).
7) Спортзал. 0-£100. Часто он есть бесплатный в доме.
8) Одежда, мебель, электроника, отпуск, покупка машины. Стоит ~также как если бы вы жили в Москве.
9) Ипотека: https://t.me/faangmaster/503. При 20% первоначальном взносе и 25 лет срока ипотеки платеж ~такой же как и за аренду.
10) Мед страховка. Медицина тут бесплатная, но она хуже, чем частная. Очень похоже на Москву. Частная - нужна медстраховка. Работодатели ее предоставляют. Если хотите сами купить, что £100-£300 на семью в месяц.
2 953
Процесс изменения и деплоя кода в FAANG
Расскажу на примере моей текущей компании.
1) Открываешь среду разработки на своем рабочем маке. У нас это VS Code с кучей кастомных плагинов.
2) Подключаешься к рабочему серверу в облаке. Код локально клонировать нельзя. После подключения к серверу, в среде разработки вы будете видеть свежую версию кода монорепы. И процесс изменения кода ничем не уступает наличию кода локально. Занимает весь процесс несколько секунд. Т.е. вам не надо клонировать, запускать комадны, ждать. Все происходит за секунды по нажатию кнопки.
3) Меняете код. Тут все как обычно. Так же пишите и запускаете тесты. Автоматически, через браузер доступна тестовая версия приложения с вашими изменениями, т.е. можно потыкать UI. Также локально можно запустить тесты только для заафекченного кода.
5) Создаете локальный коммит. В FAANG используется trunk-based-development. Никаких бранчей создавать не нужно. Если вы решили отсоединиться от рабочего сервера, то локальные коммиты не будут потеряны, они синхронизируются в специальное облако с коммитами. Когда вы подключитесь к другой машине, вы увидите свои локальные коммиты.
6) Создаете code review. Напрямую запушить можно только в экстенных случаях. Код проходит ревью и из код ревью тула его можно залендить. Для этого code review должно быть зааксепчено и все проверки должны быть пройдены(запускается линтер, тесты и куча других проверок).
7) Код попадает в trunk и начинается деплоймент, который проходит несколько стадий. В среднем через часа 4 код будет в проде. Т.е. каждый ваш коммит оказывается в проде через несколько часов.
2 953
Какую систему контроля версий использует Meta?
Как это не странно, но это не Git. Она использует Mercurial.
Почему?
Вначале она использовала Git. Но по мере роста code base и за-за того факта, что Meta использует монорепу, перфоманс Git оказался недостаточным и не приспособленным для гигантской монорепы.
Facebook попытался пообщаться в командой Git, но ответ был - дробите на маленькие репозитории.
После общения с Mercurial Facebook слелал форк кода и сделал его масштабируемым до невероятного размера репозиториев + сделала куча своих тулов для работы с ним. Сейчас это все работает очень быстро и нажатием пару кнопок в UI, в 99.9% не нужно знать никаких ручных команд.
Такие ситуации, одна из причин, почему FAANG делают всю инфру с нуля и сами. Чтобы не зависеть от сторонних компаний и разрабов.
Какую систему контроля версий вы используете?
2 953
The Leasehold and Freehold Reform Act 2024
В королевской речи 2024 анонсировали существенный пересмотр leasehold в пользу leaseholders. Но его внедрение займет еще пару лет. Он позволит продлевать lease не на 90 лет, а до 990 лет. Также он отменяет marriage value, что удешевит продление lease для квартир с lease меньше 80 лет. Также он позволит сделать премиум продление, которое сократит ground rent до нуля.
Цены и ипотека.
Медианные цены на разную недвигу в Лондоне и ориентировочный месячный платеж при 20% первоначальном взносе и 25 лет сроке ипотеки.
Квартиры:
1) Студия. £375k, £1.7k в месяц.
2) Двушка (1 bed). £425k, £1.9k в месяц.
3) Трешка (2 beds). £600k, £2.7k в месяц.
Дома:
1) 4-комнатный дом (3 beds). £700k, £3.1k
Есть также опция купить дом или квартиру в соседних городах. Там цены в 1.5-2 раза дешевле!
Только придется ездить на поездах. Поезда при это скоростные и очень комфортабельные. Можно за 20 минут-час доехать до центра Лондона из такого пригорода.
Пример дома за £400k в часе езды от центра Лондона: дом.
2 953
О недвижимости в UK
Начну с того, что тут есть несколько форм собственности:
1) Leasehold. Почти все квартиры в Англии попадают под эту категорию. По факту, вы не владеете в полной мере недвижимостью. Вы владеете долгосрочной арендой. Новые квартиры сейчас идут с lease на 999 лет (так называемый virtual free hold), более старые могли быть на 250 и 125 лет. Когда срок истекает - квартира переходит во владение владельцу земли (freeholder). Это пережитки феодализма. Землей владели лорды (landlords) и вы могли у них взять землю в аренду. Вы имеете право продлевать аренду на 90 лет. Но это стоит денег и может сильно зависеть от того, сколько аренды осталось. Если осталось менее 80 лет, то продление будет стоить больших денег (в основном из-за так называемого marriage value (после продления рыночная стоимость недвижимости растет и часть этой суммы вам надо заплатить лендлорду)). Кроме того, при такой форме собственности вам надо раз в год платить ground rent (несколько сотен фунтов в год), и service charge (несколько тысяч в год за содержание дома в надлежащем состоянии, уборку в подъезде, дворе, за бассейн, сауну и т.д. если они есть в доме). Это все в дополнение к обычной коммуналке (за свет, воду и т.д.). Таже leasehold ограничивает вас в том, какие изменения вы можете делать в квартире и даже можете ли вы содержать домашних животных. В случае нарушения - у вас могут забрать квартиру и если у вас есть ипотека - вам все равно придется ее выплачивать. Обычно, косметический ремонт разрешается. На более серьезные изменения нужно запрашивать разрешение от landlord. И на многие вам могут ответить отказом. Если вы хотите переделать электрику, водопровод и т.д.
2) Share of Freehold. Обычно, это тоже квартиры, но в более мелких домах на меньшее число квартир. В этом случае землей владеете вы, но совместно с остальными жильцами этого дома. Достаточно редко встречается.
3) Freehold. Вы владеете землей и домом. Под это попадают почти все частные дома. У вас нет ни ground rent, ни service charge. Вы можете делать более серьезные изменения внутри дома и сада. Иногда разрешения все же нужны, но их нужно получать у государства. Особенно, если хотите менять фасад.
Новые дома и квартиры.
Тут также есть новостройки. Это могут быть и квартиры в новых домах, но также это могут быть и частные дома (на наш язык это таунхаусы или коттеджи). На стадии котлована и дешевле их купить нельзя (я по-крайней мере про это ничего не знаю). Вы покупаете уже готовый дом или квартиру уже с ремонтом, техникой и кухней. Иногда вам могут даже предложить набор остальной дизайнерской мебели за деньги.
Новые квартиры и дома стоят тут дороже вторички. И как только вы ее покупаете и начинаете в ней жить - цена тут же падает (так называемый new build premium). Почти как с новыми автомобилями. Но зато, вы будете в ней жить первым, у вас будет 10 лет гарантии (серьезные поломки вам починят бесплатно). Новые дома идут с очень хорошим ремонтом и энергоэффективностью (EPC).
Дома
Очень многие в Великобритании живут в частных домах. Даже в городах типа Лондона. Тут существенная часть спальных районов - это частные дома. Чтобы было понятно, по нашим понятиям это ближе к таунхаусам или коттеджам. Но они могут достаточно старыми и с маленькой площадью. У них есть своя парковка и небольшой задний двор/сад. Типичный дом - это дом с тремя спальнями (4 комнаты по нашему) и двумя санузлами. При это площадь может быть 80-85 квадратных метров. В нем обычно 2 этажа. Иногда бывает 3. Дома стоят дороже квартир, т.к. это freehold. Цена на дома обычно только растет. За исключением новых домов. Там может быть небольшое проседание в первые 5-10 лет, но дальше они растут и достаточно быстро.
Квартиры.
Часто, в многоквартирных домах есть консьерж, бесплатный спортзал. В некоторых есть бассейн, сауна, джакузи. Но из-за этого service charge может достигать 4-5 тысяч в год. Цена на квартиры растет, но медленней. Если это новая квартира, то проседание может длиться дольше и существеннее, чем на дома. Если lease остается меньше 90 лет, то цена начнет падать.
2 953
На сколько я напрограммировал в 2024?
Налоговую декларацию еще не заполнял, это только через год, поэтому цифры приблизительные.
До уплаты налогов:
£547k/$698k/69 миллионов рублей.
После уплаты налогов(приблизительно, еще надо capital gain tax вычесть):
£301k/$384k/38 миллионов рублей
Или в месяц после уплаты налогов на руки:
£25k/$32k/3.1 миллионов рублей.
Подавляющая часть этих доходов за счет стоков(RSU), которая выплачивает компания. А они сейчас ушли в космос.
За 4 года работы в компании в общей сложности я заработал ~$1.7 миллиона долларов до уплаты налогов.
Вроде и не плохо, но знаю случаи коллег из США, кто начал работать пряма с универа в компании и к 30 думает уже на пенсию выходить. У меня пока так не получается...
2 953
Прошло уже 2 года с момента релиза ChatGPT
Кратко мои мысли:
ChatGPT постепенно заменяет следующие продукты:
1) Google Search. Может случиться история, похожая на то, как сам Google заменил Yahoo. Пока до этого далеко. Но угроза есть.
2) Google translate(и подобные).
3) Stackoverflow.
4) Спелчекеры. Подобные Grammarly.
LLM появляются в виде доп. функционала в разных приложениях. Например, в среде разработки.
LLM повлияли на число вакансий программистов, но не из-за их замены, а из-за того, что все компании начали делать AI. При ограниченном бюджете открывают больше вакансий для работы над AI, по сравнению со всем остальным(ML позиции).
Текущее состояние LLM не способно заменить программистов. Из-за отсутсвия агентности и галлюцинаций. Более того, LLM не пригодны для использования в простейших автоматизациях из-за галюцинаций.
2 953
Плюсы от того, что у нас был Scrum:
1) Knowledge sharing. Вся эта куча митингов помогала понять, над чем работают коллеги. В Facebook это работает по другому, тут нужно следить за постами в десятках групп, подписываться на конкретных разрабов и т.д. Тут используется Facebook Workplace, что является, смесью соц сети, slack и zoom.
2) Обсуждение зависимостей от проектов и рисков. Вытекает из предыдущего пункта. В Facebook нужно, снова таки, следить за постами, документами, code change и проактивно во всем этом участвовать и вникать, чтобы что-то узнать.
3) Упорядочение работы. Несмотря на то, что разрабы работают над своими задачами и проектами, вы можете спланировать, что сейчас я буду работать над этой задачей. А не над всеми задачами сразу.
4) Чувство командной работы. Хотя вы работаете над своим проектом, вы можете получить фибдек и помощь от коллег.
Минусы:
1) Много митингов. Много времени тратится на церемонии, которое можно было бы потратить на работу, которая отразится на вашей оценке перфоманса.
2) Много бюрократии в случае смены планов. Разбиение на спринты хоть и упорядочивает вашу работу, но, обычно, ваши планы могут поменяться за эти две недели. И, часто, задачи в рамках спринта приходится менять. В Facebook можно хоть каждый час менять свои планы и приоритеты.
3) Оценка капасити — это бесполезная штука. Велосити команды нестабильное, и почти никогда задачи, добавленные в спринт, не выполняются полностью. Обычно задачи просто перекочёвывают из одного спринта в другой. Это добавляет чувство вины за то, что не сделал то, что запланировал. А вот в Facebook всем пофиг. Там планирование раз в 6 месяцев, есть performance review, а в крупных проектах — milestones. Как вы их разбиваете на подзадачи и в каком темпе их делаете — вообще не важно. Делайте так, как вам удобно.
В Facebook почти никто не использует ни скрам, ни какую либо другую методику. Об этом я напишу отдельно.
Пишите в комментариях, как вы организуете работу в вашей команде.
2 953
Какой был опыт использования Scrum в Amazon
В Amazon каждая команда решает, будет ли она использовать какую-либо методологию или нет. Наша команда и смежные команды использовали Scrum, но не в чистом виде.
В Amazon, как и в других FAANG компаниях, ключевыми процессами являются: планирование в начале года и performance review в конце по результатам. Execution можно организовать как угодно.
Scrum, в чистом виде, плохо подходит под performance review программистов. Если программисты будут просто брать высокоприоритетные задачи из общего пула, которые относятся к разным проектам и целям, то очень сложно будет описать цельную историю достижений. Поэтому в FAANG компаниях программисты работают над конкретным проектом. Они или делают его от начала до конца (анализ, дизайн, реализация, тестирование, мониторинг и т.д.) или если это большой проект, то либо драйвят весь проект, но конкретные куски могут делать другие программисты, или делают подпроект в рамках большого проекта. В таком случае очень легко написать нарратив достижения.
Кроме того, у команды нет внешнего или даже явного внутреннего заказчика. Обычно, стейкхолдерами могут быть другие команды, которые зависят от вас, или этот проект родился внутри самой команды или пришел от высшего менеджмента. Конкретными стейкхолдерами могут выступать TPM'ы вашей или других команд, менеджемент, разрабы из других команд и т.д. Поэтому демо раз в две недели для получения фидбека и перестройки требований не происходит. Но демо у нас были раз в две недели или раз в месяц. Мы приглашали TPMов, менеджеров или разрабов из других команд. Это помогало для knowledge sharing, повышения visibility вышей работы и получения фидбека.
Различные церемонии в рамках скрама также играли роль knowledge sharing, получение фибдека, обсуждения потенциальных зависимостей между проектами и рисков.
Еще одна плюшка от скрама - это создание чувства упорядочения. Я это почувствовал только в ретроспективе, когда перешел в Facebook. В Facebook совершенно другая культура работы, не похожая на остальные компании. Сначала может быть сложно понять, как вообще организовать свои задачи — полный хаос и необходимость перестроить все привычные подходы к работе.
Как конкретно был организован процесс в нашей команде в Amazon?
Церемонии:
1) Backlog Grooming. Делали оценку сложности задач и их приоритетов. Обычно, вначале создатель таски, описывал о чем задача и зачем нужна, далее делалась оценка сложности. При необходимости задача разбивалась на несколько, если сложность не помещалась в один спринт.
2) Sprint Planning. Оценивалась капасити команды в зависимости от числа разрабов, которые будут работать во время спринта. В рамках оценки капасити учитывалось, что один разраб будет oncall, также закладывалось часть капасити на технический долг и улучшения operational excellence. Обычно, это было 20%. Еще 20% на oncall. Далее формировался спринт из высокоприоритетных задач. Каждый разработчик, по сути, добавлял следующие задачи, над которыми он планирует работать в рамках своего проекта. С учетом oncall и работы над техническими задачами.
3) Stand Ups. Тут все как обычно, что было сделано, что планируется сделать, какие риски и блокеры. Если возникали длинные дискуссии, то выписывали их отдельно и обсуждения шли только между заинтерисованными участниками.
4) Demo. Кратко презентовали свои достижения в рамках спринта. Приглашали менеджеров, разрабов или лидов из других команд, TPMов.
5) Retro. Кратко, обсуждали плюсы и минусы, составляли action items по улучшению. По факту, просто сеанс психотерапии.
Scrum Master у нас менялся раз в 3-6 месяцев. Это, просто, был один из разрабов команды.
Раз в месяц у нас был roadmap review с менеджером. Про roadmap напишу отдельным постом.

