Principal позиция в FAANG.
В прошлый раз я рассказывал про Senior Staff позицию, на которой от сотрудника ожидается импакт большого масштаба. Сегодня поговорим о занятиях людей на следующей после Senior Staff позиции.
Principal позиция в FAANG описывается одним словом -- transformative (трансформация). Сотрудник на этой позиции существенно изменяет, как работает компания.
Один из признаков transformative impact в FAANG -- влияние на индустрию. FAANG -- очень большие компании. Потому они редко принимают новые способы работать первыми. Если инженер смог повлиять на то, как работает много компаний в индустрии, это хороший сигнал для изменения в работе тех гиганта, необходимого для Principal позиции.
Сложно дать определение трансформации. Это проект, который значительно меняет, как работает компания. Что значит значительно, что значит работает? В реальности, никто не дает более детальных определений. Оценка проекта как "трансформационного" дается в сравнении с другими проектами, которые были признаны трансформационными ранее. Поэтому, этот пост отличается от предыдущих постов про уровни. Для этого уровня я только приведу примеры проектов, и расскажу, почему они считались трансформационными.
Система сборки кода Гугла Blaze, опубликована в Open Source как Bazel. Еще очень давно это был проект с масштабным импактом -- эта система сборки эффективно собирать терабайты кода десятка тысяч инженеров в Google. Бывшие сотрудники Гугла имплементировали аналогичные решения внутри Facebook и Twitter, поэтому было понятно, что эта технология имеет большой потенциал. Публикация этой системы в Open Source, организация конференции, создание коммьюнити, все это привело к адаптации этой технологии в значительном количестве компаний. Это заметное изменение индустрии разработки программных систем, и несомненно привело к нескольким повышениям до Principal позиции (Sr. Staff TLM -> Director для менеджера команды, Sr. Staff SWE -> Principal SWE для техлида). Тут стоит заметить, что Bazel не трансформировал, как работает сборка внутри Google. Внутри она всегда была так устроена, и Bazel был лишь итерацией для улучшения UX. Этот проект трансформировал индустрию именно при публикации в Open Source.
Новая платформа для рекламных B2B приложений. Рекламные продукты в Google создает команда из десятка тысяч инженеров. B2B приложения создавались на GWT (это был такой компилятор Java для браузеров), но без какого-то общего подхода. В какой-то момент, все эти приложения переделали на новый стек -- Material UI, Angular, Dart. Для этого был разработан фреймворк на Dart, поверх Angular-Dart, со стандартными компонентами Material UI и другими подходами к разработке. Читателю могут не нравиться какие-то из этих технологий, но вне всякого сомнения этот проект сильно изменил, как тысячи инженеров разрабатывают критически важные для компании приложения.
Замена Bigtable на Spanner. Bigtable -- eventually consistent база данных, использовавшаяся в Google для всего подряд. Для некоторых задач это идеальное, дешевое решение. Но как только требуется strong consistency, Bigtable начинает создавать боль в виде редких, плохо воспроизводимых багов консистентности данных. Эта проблема породила зоопарк кастомных решений поверх Bigtable, добавляющих неидеальные аналоги консистентности, для конкретных приложений. Spanner -- другая база данных, разработанная позже, и обладающая strong consistency. Проект по апгрейду всего Гугла с Bigtable на Spanner несомненно изменил, как десятки тысяч людей разрабатывают серверные приложения, почти всегда в лучшую сторону. Этот проект наверняка привел в нескольким повышениям до Principal позиции. Специально замечу, что речь идет не о самой разработке Spanner, там был свой трансформационный импакт. Проект по апгрейду всего Гугла на уже готовый Spanner был трансформационным сам по себе.
Получить оффер на Principal позицию очень просто: кандидату нужно показать, что он трансформировал технологическую индустрию, связанную с бизнесом компании. Нет смысла вдаваться в детали: если вы трансформировали индустрию, это будет очевидно всем.
#level
Post #64
7.78K
- 🔥 29
- 👍 7
- ❤ 2
- 🥱 2
- ⚡ 1
- 😁 1
- 🤡 1