Руководитель, отвечающий за работу команды программистов, проводит по крайней мере 30% времени в написании кода вместе со своей группой.
Технические руководители групп могут быть сильными лидерами в техническом проектировании и более широко использовать знания и опыт в интересах всей группы. Они могут принимать независимые решения и играют важную роль в координации работы группы с другими, не инженерными подразделениями. Обратите внимание, что в вышеприведенном тексте ничего не говорится о технических деталях. Технический руководитель — старшая инженерная должность, но вы ошибетесь, сочтя, что речь идет о самом лучшем или опытном инженере команды. Нельзя руководить, не вовлекая в общее дело других людей, и новый технический руководитель должен прежде всего заботиться о развитии разных навыков членов команды, а не только о чисто технической подготовке. Но и сам технический руководитель группы должен активно работать над новой областью знаний и навыков — проектным менеджментом. Работа по разбивке проекта на части или фазы имеет много общего с созданием систем, и освоение этих навыков ценно даже для инженеров, не желающих становиться менеджерами.
Если вы оказались в роли технического руководителя группы, то примите мои поздравления! Некоторые думают, что вы обладаете качествами, чтобы быть лидером в команде. Теперь ваша очередь учиться новому!
Что значит быть техническим руководителем
Исполнение обязанностей технического руководителя — упражнение на влияние на людей без реальной власти. Я руковожу коллективом в качестве ведущего технического специалиста, но мы все отчитываемся перед одним и тем же менеджером. Поэтому я должна влиять не только на коллег, но еще и на менеджера по вопросам правильного определения приоритетов в работе. Поначалу мне пришлось совсем туго, потому что один из первых порученных мне проектов формулировался так: остановить разработку новых программ и вместо этого сосредоточиться на проблеме «технического долга»6. Мне стало ясно, что «консервную банку» под названием «технический долг» гоняли по полю уже достаточно долго: развертывание нового кода давалось с трудом, использование действующих систем становилось все более дорогим, а техподдержка в режиме «по первому зову» 24/7 была адски трудна. Я была уверена, что нам нужно притормозить, чтобы в будущем нагнать темп. Однако в этом было трудно убедить наших разработчиков: они хотели создавать новые интересные программы. Или менеджера: его захлестывал постоянный поток запросов от заказчиков. Мне удалось привлечь членов команды на свою сторону, показав, какие позитивные моменты каждый сможет получить от проекта. Для некоторых было важно иметь более надежный сервис, для других — повысить скорость итерации, а для третьих — уменьшить количество срочных запросов в техподдержку, что дало бы им возможность спокойно спать. В беседах с менеджером особый упор я делала на снижение эксплуатационных издержек, что позволило бы команде в будущем разрабатывать более интересные программы.