Senior Software Engineer в FAANG.
В прошлый раз мы разобрали, что Middle позиция характеризуется способностью инженера к независимости (Independence). Получается, что уже Middle инженер может самостоятельно решить любую задачу. Но если любая задача решается Middle инженерами, то кто же такие Senior инженеры, и чем же они занимаются? Давайте разбираться.
Senior инженер в FAANG описывается одним словом -- лидерство (leadership). Инженер на этой позиции достигает поставленных целей. Это отличается от выполнения задач, чем занимаются Middle инженеры. Задача -- это конкретная техническая система, в которой понятно, что делать, но может быть непонятно как. Например, нужно исправить конкретный баг. Или разработать конкретную фичу. Или смигрировать приложение на конкретную СУБД. В отличии от "задачи", "цель" предполагает так же, что непонятно даже что делать. Например, увеличить user retention на 10%. Нужно ли для этого исправить баг? Или разработать новую фичу? Или ускорить отклик за счет миграции на новую СУБД? Работа Senior инженера -- взять важную цель и возглавить проект по ее достижению. Senior инженер изучит цель, изучит текущую систему, разработает план по изменению это системы для достижения цели, разработает список задач для команды Middle и Junior инженеров, проследит их правильное выполнение. На Senior инженере ответственность за цель, а не за конкретное решение.
Тут важно заметить, что в реальности Senior инженеры (не менеджеры) берут на себя и большую часть работы Middle инженеров по исполнению поставленных самих себе задач. Объем работы, который можно передать Middle и Junior инженерам, зависит от загрузки команды и важности достигаемой цели. Важно понять, что Leadership и Management -- разные слова, которые означают совершенно разные вещи. В контексте Senior инженера слово Leadership означает ответственность за достижению цели, а не руководство другими людьми. Senior инженеры "лидируют" большинство проектов без выделенных помощников.
И все-таки, почему "лидерство", а не "ответственность"? На этом месте многие подумали, что это такой корпоративный язык для раздутия эго. На самом деле это не так, слово "лидерство" действительно лучше других отражает необходимые качества. Разберем на примере в следующем посте.
Из этого описания понятно, как ведет себя на собеседовании Senior инженер. Он понимает вводные собеседующего не как задачу, а как цель. Senior инженер не решает конкретную задачу, а достигает цели. Он разберется в предполагаемой цели, предложит модификацию задачи (например, предложит удалить или добавить ограничения) для увеличения пространства альтернативный решений для достижения этой цели, исследует это пространство. Senior инженер лидирует собеседование и создает ощущение, что он главный в этом разговоре. Не только главный по решению, как Middle инженер, но и главный по постановке задачи. Разумеется, хороший собеседующий при собеседовании на Senior кандидата дает кандидату возможность показать это поведение.
#level
Post #35
3.93K
- 👍 32
- 🔥 9
- ❤ 5
- 💯 4