Обязанности старшего разработчика, связанные со мной, и почему это
Недавно у меня было около трех или четырех человек, которые спрашивали о моих ролях и обязанностях в качестве старшего разработчика, поэтому я подумал о том, чтобы записать это для всех, кто может быть заинтересован или готовится к переходу.
Как старший разработчик в команде, я должен не только хорошо разбираться в технологиях, над которыми работаю, но и брать на себя дополнительные обязанности, чтобы помогать и наставлять младших разработчиков, руководить проектами и принимать решения, влияющие на будущая дорожная карта продукта.
В этом сообщении блога я попытаюсь перечислить различные обязанности, которые возлагаются на меня как старшего разработчика, и почему важно относиться к ним серьезно для всех, кто вскоре может перейти на эту должность.
Кроме того, позвольте мне кратко представиться. Я занимаю эту должность старшего разработчика уже более 15 месяцев и специализируюсь на бэкэнд-разработке. Мои основные навыки связаны с C# с .Net и .Net Core framework.
Другие вспомогательные технологии, которые я использовал и о которых знаю, включают MsSQL, MongoDB, RabbitMQ, ElasticSearch, Azure и т. д. В настоящее время я разрабатываю Rest API, используя технический стек Microsoft для продукта, частью которого я был.
С тех пор, как я перешел на эту должность, мне время от времени приходилось участвовать в нескольких дополнительных встречах. Обычно повестка дня этих звонков связана с предстоящими требованиями, обсуждением на очень высоком уровне того, что ожидается, а затем распространением информации среди старших в команде для работы над выполнимым решением и подходом.
Еще одна новая обязанность, введенная вместе с ролью, заключалась в том, чтобы придумать несколько возможных решений для требования и предоставить предварительную оценку для каждого из них. Затем следуют обсуждения с архитектором решений и техническими руководителями, чтобы согласовать наилучший подход и предоставить необходимые детали, чтобы можно было подготовить документ решения.
Это что-то редкое, но в последнее время у меня было две работы над двумя отдельными POC, чтобы завершить продвижение вперед. Один из них заключался в том, чтобы определить, следует ли нам настроить один из наших серверов на виртуальной машине и полностью позаботиться о них или использовать управляемую услугу от любого из облачных провайдеров. Мне пришлось взвесить все «за» и «против» и определить, потребуются ли какие-либо изменения кода при переходе от нашего локального решения к тому или иному.
Теперь я также участвую в первоначальном отборе вакансий, которые есть в нашей команде или даже в организации. Обычно первый раунд технических собеседований проводится мной, а затем, в зависимости от результатов, я могу предложить следующий раунд с моим техническим руководителем или полностью отклонить кандидата.
Одна из моих самых важных обязанностей как старшего разработчика — обеспечивать руководство и наставничество для младших разработчиков. Это может включать в себя обучение их новым технологиям, устранение их сомнений и помощь в решении сложных проблем. Мне нужно убедиться, что я трачу достаточно времени на их рост.
Наряду с кодом, который я пишу, мне также нужно убедиться, что код, проверенный другими, также соответствует стандартам, которым следует команда, а затем, когда все выглядит хорошо, мне также нужно объединить их с веткой dev/main. Во время обзора несколько указателей, на которых я пытаюсь сосредоточиться, касаются того, выполняются ли основные требования, соблюдаются ли передовые методы кодирования, такие как правильная обработка исключений, реализованы ли проверки и т. д.
Мне также нужно убедиться, что для элементов, с которыми я непосредственно связан, проводятся надлежащие сеансы передачи, чтобы члены группы обеспечения качества знали о предстоящих изменениях. помощь в анализе какой-либо проблемы, которая требует изучения кода.
Вышеупомянутые обязанности были напрямую связаны с моей ролью старшего в команде, но, опять же, от меня как от индивидуального участника ожидались некоторые вещи. Это включает в себя непосредственную работу над порученной мне задачей и обеспечение того, чтобы все было правильно реализовано и модульное тестирование было проведено тщательно, прежде чем привлекать QA.
Я также должен убедиться, что определенные приложения и документы, связанные с командой, всегда обновляются, будь то на дисках, в Confluence или на любых других подобных порталах.
Кроме того, в случае, если к команде присоединится новый участник, я должен помочь в его адаптации как в технических деталях приложения, так и в настройке песочницы для разработчиков.
Наконец, есть несколько специальных задач, которые могут оказаться в моей корзине на случай, если мой лид будет в отпуске или не сможет присоединиться к звонку. Затем я должен выступать в качестве их доверенного лица и работать над тем, что не может дождаться их возвращения и что я способен сделать.
Быть старшим разработчиком — это большая ответственность, но это также дает возможность оказать реальное влияние на нашу команду и организацию. Это дает нам возможность помочь обеспечить успех нашей команды и компании, а также заслужить уважение и доверие наших коллег.
Надеюсь, это было полезно для всех, кто пытался понять, что их ждет впереди в их профессиональной карьере. Пожалуйста, не стесняйтесь добавлять любые другие обязанности, которыми вы были наделены в своей роли. А пока продолжайте учиться и строить.