Отличие в процессах и методологиях в FAANG по сравнению с другими компаниями
1) Реальный CI/CD. После того как вы запушите свой код, он окажется в проде в течении нескольких часов. Никаких ручных процессов, версионирований, долгих релиз циклов. От написания кода до релиза на миллиард пользователей проходит несколько часов. Есть исключения(особенно в мобильной разработке), есть A/B тестирование, есть прогрессивный роллаут, но чаще сам код в проде через несколько часов.
2) Нет QA, или почти нет QA. Написание тестов (unit, integration, perfomance, stess, load, e2e, chaos engineering) лежит полностью на разработчиках. Есть исключения, но большая часть команд не имеют выделенных QA.
3) Менеджеры это не тех лиды и не занимаются разработкой и технической частью. Менеджеры занимаются оценкой перфоманса сотрудников, их карьерным ростом, конфликтами между командами/отделами, участвуют в планирование, статус репорте и овнят роудмап. Но не занимаются дизайном, архитектурой, разработкой, раздачей тасков, микроменеджментом.
4) Саппортом занимаются разработчики. Есть исключения, есть SREs(Site Reliability Engineers), но все разработчики занимаются саппортом своих компонент/кода(oncall). Вас может разбудить ночью аларм на рабочем телефоне(пейджинг), если какие-то метрики просели, упала какая-то критическая функциональность. Вам нужно быстро среагировать и начать митигировать проблему.
5) Очень много индивидуальной работы. Очень мало командной работы. Связано с тем, как устроен процесс оценки перфоманса сотрудников. Разрабы работают над проектом от начала до конца. Они не могут просто брать самую приоритетную таску из бэклога из разных проектов. Иначе будет сложно описать нарратив, что этот разработчик сделал то-то с таким импактом. Поэтому все работают индивидуально над своими проектами. Они коллаборируют с другими, но имеют выделенный кусок работы, с понятным импактом. Поэтому Scrum/Kanban в чистом виде не особо применим.
6) Нет выделенных Архитекторов. Поэтому все разработчики на всех уровнях делают дизайн/архитектуру. Конечно, ее масштаб и импакт будут разными в зависимости от вашего уровня. Это может быть просто дизайн локальной для команды фичи или дизайн архитектуры, которая затрагивает десяток команд и несколько отделов.
7) Мало сторонних, открытых библиотех, фреймворков, тулов, технологий. Обычно, все или почти все разработанно внутри. Вплоть до языков программирования и систем контроля версий. Поэтому, приходится разбираться в этом с нуля. Нельзя просто загуглить ответ на любой вопрос по этим тулам. Нужно искать внутри, смотреть код, общаться с разрабами.
Post #569
2.33K
- 👍 36
- 👀 4
- 🔥 3
- ✍ 1