2022-05-01 08:00:06
Чем занимается Senior Software Engineer (E5) в Meta?
Тут вам стоит знать что разработчиков в компании оценивают по 4 категориям.
•
Project Impact - какой вклад ты сделал в развитие проектов
•
Engineering Excellence - улучшалки в проект и в разработку, фикс багов, ускорение процессов, написание документации и т.д.
•
Direction - влияние на видение и развитие проекта или команды.
•
People - влияние на развитие людей в компании, менторство, помощь командам или коллегам, собеседования и найм и т.д.
Если младших разработчиков в основном оценивают по первым двум категориям, то для меня все 4 имеют почти одинаково важное значение.
Пишу код
Все еще пишу код, хотя делаю это реже. Пишу код где-то 40% моего времени. Соприкасаться с кодом обязательно чтобы иметь техническую экспертизу. Пишу в основном на PHP, JavaScript. Иногда пишу всякие конфигурации. Пару раз писал на Python и SQL.
Это попадает под категорию
Project Impact и
Engineering Excellence .
Веду проекты
Под понятие веду проект входит очень много вещей:
• Участвую в обсуждении проекта и помогаю команде понять нужен проект или нет.
• Собираю технические требования проекту.
• Определяю техническую сложность проекта, делаю исследование чтобы понять насколько проект сложный.
• Пишу техническую документацию.
• Привлекаю инженеров в проект, мотивирую их.
• Делю проект на задачи, определяю скроки, раздаю задачи.
• Делаю code review.
• Слежу чтобы задачи закрывались.
• Если задачи не закрываются то помогаю их закрыть.
• Коммуницирую разработку с владельцами проекта (
stakeholders - это те кто принимают решения в проекте, инженеры, дизайнер, PM, EM, маркетологи, тестеры и много кто еще).
• Собираю баги и слежу чтобы критические баги были исправлены.
• И много много другого.
Это попадает под категорию
Project Impact и
Direction.
Слежу за здоровьем проектов
Проекты в Meta очень хорошо инструментируются. Это все помогает видеть ошибки и баги в проектах и быстро их исправлять. Одна из моих задач это делать все возможное и невозможное чтобы проект работал как часы и не ломался. Как мы этого достигаем:
• Обязательно пишу тесты и покрываю ими важные части проекта.
• Слежу чтобы тесты запускались при каждом пул реквесте или коммите.
• Слежу чтобы важные части проекта были покрыты логами.
• Слежу чтобы был настроен алертинг. То есть к нам прилетит уведомление если количество ошибок будет выше нормы. Обычно количество ошибок в логах должно быть < 1-5%. Также алертинг срабатывает ели сломались тесты.
• Слежу чтобы были доступны инструменты мониторинга и дебагинга.
• Чистим старый код. Исправляем баги.
• Регулярно слежу за технологическим трендами внутри компании, читаю документы и статьи по ним, внедряю их в наших проектах.
• И много много другого.
Это попадает под категорию
Engineering Excellence и
Direction.
Помогаю команде
• Помогаю новым ребятам вливаться в команду. Познакомить с кем надо, подкинуть полезных ссылок, рассказать о проекте и т.д.
• Помогаю команде достигать своих целей, если где то надо сделать code review, подобрать баг, дать обратную связь.
• Менторю коллег. Даю советы о том как делать все что я описал выше.
• Слежу чтобы разработчики были счастливы, чтобы им нравился проект.
Это попадает под категорию
People и
Direction.
Итог
Как вы могли заметить я делаю очень много
Direction. То есть по работе мне очень много приходится заниматься именно вектором развития проекта и команды. Если у меня спросят о том чем команда будет заниматься следующие 6 месяцев я должен уметь на это ответить. И я могу на это ответить. И это хорошо.
Еще одна особенность позиции старшего разработчика в том что надо быть приятным и располагающим к себе человеком (
likeable person). Чем старше ты становишься в карьере тем больше это имеет значение. Мне приходится много общаться с другими людьми, не только разработчиками и не только с моей команды. Я должен уметь собрать вокруг себя людей и делать так чтобы они ко мне прислушивались. Этого трудно было бы добиться если бы я был мудаком.
839 views05:00