Я хотел предложить свою точку зрения на этот вопрос Quora о том, когда практическое управление имеет смысл для технического руководства. Есть ли смысл инженерным руководителям заниматься программированием на практике? Хотя на этот вопрос нет универсального ответа, я предложу некоторые идеи, основанные на моем личном опыте.

(Оригинал статьи на тему Должны ли инженеры-менеджеры писать код можно найти здесь)

Я наблюдал это практическое управление, когда руководители писали код в основном в небольших компаниях или в небольших командах даже в более крупных организациях. На этих ранних этапах роста может быть полезно иметь практическое руководство для разработки, которое может помочь задать техническое направление и направить архитектуру команды.

Я испытал этот подход в стартапе, где проработал около восьми лет. Как технический инженер-менеджер я писал программное обеспечение для небольших команд, а также следил за карьерным ростом инженеров. Это позволило мне влиять на техническое направление и помочь развить навыки инженеров. Опустим, в некоторых крупных командах компании были менеджеры, которые вообще не занимались программированием. Конечно, это не подколка в адрес тех менеджеров! Их команды были слишком большими, чтобы выделять время на кодирование, а технические области внутри команды лучше понимались и поддерживались их инженерами.

Итак, когда нам следует вводить практическое управление для инженеров, а не невмешательство? Давайте погрузимся глубже.

Компании и команды на ранней стадии

В небольших компаниях или в небольших командах в более крупных организациях может быть больше потребности в практическом управлении и инженерном лидерстве. Это особенно верно на ранних стадиях роста, когда команда приступает к работе над кодовой базой, делает первые итерации в пространстве продукта и в остальном совершенно не знакома с техническими проблемами.

В таких ситуациях практическое управление, когда руководитель разработки участвует в написании кода, может помочь задать тон работе команды. Быть закрепленным в команде означает, что они могут помочь предоставить рекомендации по техническим решениям для объема работ. Написав код, лидер также может помочь развить технические навыки команды и определить области, в которых им может потребоваться дополнительное обучение или поддержка.

Тем не менее, по мере того, как команда растет и становится более авторитетной, лидер может больше не работать над тем, чтобы продолжать писать код. На этом этапе для лидера важно больше сосредоточиться на руководстве техническим направлением команды и поддержке их работы, а не на участии в ней.

Устоявшиеся компании и команды

Для более крупных и авторитетных компаний и команд практическое руководство и инженерное руководство могут быть не столь необходимы. Фактически, это может быть даже неосуществимо, учитывая фактическую прямую поддержку, в которой инженеры нуждаются от своего менеджера. В таких ситуациях команда может быть слишком большой, чтобы лидер мог уделять много времени кодированию, и его опыт может быть лучше использован для определения общего направления команды.

Рассмотрим этот сценарий. У менеджера по техническим вопросам есть команда примерно из 7 человек, состоящая из одного очень опытного инженера, нескольких старших инженеров и нескольких младших инженеров. Команда работает в области продукта или услуги, где старшие члены команды имеют многолетний опыт работы. С повседневной точки зрения, имеет ли смысл иметь практический подход для менеджера, когда он пишет код? Или, вероятно, для менеджера более эффективно сосредоточиться на предоставлении возможностей роста для старших инженеров и помощи в повышении уровня младших инженеров? Не всегда, но похоже на последнее.

Тем не менее, даже в этих ситуациях руководителям инженеров по-прежнему важно быть технически компетентными и уметь общаться со своими инженерами. Это позволяет им понять сильные и слабые стороны команды и обеспечить эффективное руководство по техническим решениям. Хотя менеджеру не обязательно обладать такой большой технической подкованностью, все же иметь технические знания очень ценно.

В целом, решение о том, следует ли иметь практическое управление, будет зависеть от множества факторов, включая размер и уровень команды, цели компании, а также индивидуальные сильные и слабые стороны лидера.

Преимущества ручного управления

Хотя практическое управление может понадобиться не каждой команде, в определенных ситуациях такой подход, безусловно, имеет свои преимущества. Некоторые из ключевых преимуществ включают в себя:

  • Задание тона работе команды и техническое руководство
  • Предоставление рекомендаций и поддержка технических решений команды
  • Наращивание технических навыков и опыта команды путем обмена знаниями, передовым опытом и предоставления практического наставничества
  • Помогая создать культуру непрерывного обучения и совершенствования, демонстрируя важность постоянного использования новых технологий и методологий.
  • Выступая в качестве моста между технической и нетехнической сторонами бизнеса, имея возможность передавать сложные технические концепции способом, понятным для тех, кто не входит в команду инженеров.
  • Способность выявлять потенциальные технические проблемы или препятствия на ранней стадии и активно решать их до того, как они перерастут в более серьезные проблемы.
  • Поддержание глубокого понимания технических деталей продукта, что может быть полезно при принятии важных технических решений или работе с другими командами, у которых могут быть другие технические требования.

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

Практическое управление: да или нет?

В конечном счете, решение стать руководителем инженерного отдела должно основываться на потребностях команды и бизнеса в целом. Если команда небольшая и требуется техническая экспертиза и руководство, практическое участие может быть наиболее эффективным подходом. Однако по мере роста команды и появления дополнительных ресурсов может иметь смысл перейти к более управленческой роли, чтобы сосредоточиться на других важных аспектах лидерства, таких как построение команды, наставничество и стратегическое планирование.

В заключение, вопрос о том, когда инженерное руководство должно быть практическим, а программирование, не имеет простого универсального ответа. Это зависит от потребностей и обстоятельств каждой команды и организации. Тем не менее, в определенных ситуациях практическое участие, безусловно, дает преимущества, особенно когда речь идет о задании тона для работы команды, развитии технических навыков и опыта, а также о создании культуры постоянного обучения и совершенствования. Как и в случае любого подхода к лидерству, важно регулярно оценивать его эффективность и вносить необходимые коррективы, чтобы команда была настроена на успех.

У вас есть какие-либо вопросы ко мне? Не стесняйтесь задавать свои вопросы в моем пространстве Dev Leader Quora!

(Оригинал статьи на тему Должны ли инженеры-менеджеры писать код можно найти здесь)