Ведущий программист


В разработке программного обеспечения ведущий программист отвечает за техническое руководство и наставничество для группы разработчиков программного обеспечения . Альтернативные названия включают руководителя разработки , технического руководителя , ведущего программиста или ведущего разработчика приложений . При первоначальном содействии разработке низкоуровневого корпоративного программного обеспечения с упором на структуру приложения, например, на шаблоны проектирования, ролью будет архитектор программного обеспечения (в отличие от менее технической роли высокого уровня архитектора решений ).

У ведущего программиста есть обязанности, которые могут варьироваться от компании к компании, но в целом он отвечает за надзор за работой в техническом смысле команды разработчиков программного обеспечения, работающих над проектом, обеспечивая соответствие работы техническим требованиям, таким как соглашения о кодировании . , установленный архитектором программного обеспечения , ответственным за базовую архитектуру . [1] [2] Обязанности ведущего программиста часто «практические», то есть они обычно пишут программный код ежедневно, помогая своей команде укладываться в сроки и улучшать качество кодовой базы. Они выступают в качестве наставников для разработчиков или программистов программного обеспечения нового или более низкого уровня ., а также для всех членов команды разработчиков, в первую очередь посредством таких процессов, как парное программирование , проведение проверок кода , продвижение хороших принципов разработки, таких как разработка через тестирование , и взятие на себя инициативы по исправлению дефектов кода. [3]

Хотя обязанности в основном носят технический характер, ведущий программист также обычно служит связующим звеном между программистами и руководством, несет ответственность за планы развития своей команды и несет надзорные функции при делегировании работы. [4] Они следят за тем, чтобы разделы программных проектов выполнялись вовремя и в рамках бюджета, а также оказывают техническую помощь в найме и проверке работы персонала. Ведущие программисты также служат техническими консультантами для руководства и предоставляют программную информацию о требованиях. Обычно ведущий программист курирует группу разработчиков, состоящую из двух-десяти программистов. [5] [6] [7]

Ведущий программист обычно подчиняется директору, который управляет несколькими командами. Техническое руководство может быть предоставлено архитектором программного обеспечения. Там, где команды используют водопадный подход , экстремальное программирование или канбан -подходы, ведущий программист называется инженерным менеджером или менеджером по разработке программного обеспечения и напрямую сотрудничает с коллегой, владельцем продукта , который собирает требования клиентов, необходимые для конечного продукта. должны встретиться. В истинно Agile-подходе ведущий программист сотрудничает с отдельной позицией scrum-мастера ., который выступает в качестве посредника, ищущего компромисс между потребностями бизнеса (владелец продукта) и возможностями команды и набором навыков, например, какие истории из бэклога продукта будут переданы в следующий Agile - спринт .