Шрифт:
Интервал:
Закладка:
В должностных инструкциях, которые я создавала на предыдущей работе, руководство несколькими большими командами начиналось с должности главного инженера. Позаимствую часть описания этой должности из этих инструкций.
Главный инженер отвечает за важные технические вопросы в организации. Обычно он руководит инженерами при создании целой линейки продукции или в выполнении ими множественных технических функций. Главному инженеру бывают обычно подчинены и технические руководители групп, и отдельные разработчики, и ведущие инженеры-программисты.
Обычно не предполагается, что главный инженер ежедневно пишет код. Однако он несет ответственность за поддержание и повышение технологического уровня работы всей организации, задействуя при этом процессы профессионального обучения и подбора персонала. Он должен иметь серьезный технический опыт и подготовку, уделять необходимое время исследовательской работе в отношении новых технологий, а также оставаться на уровне существующих трендов в IT-индустрии. От него требуется умение отлаживать и развертывать важнейшие информационные системы. Он должен достаточно хорошо знать находящиеся в его компетенции системы, чтобы уверенно осуществлять проверку кода и при необходимости помогать в исследовательской работе. Он должен участвовать в создании архитектуры и дизайна систем, умея задавать инженерам вопросы, связанные с бизнес-качеством продукции, обеспечивая таким образом соответствие кода потребностям производства и рынка. Главный инженер должен уметь наращивать требования к продукции по мере роста требований рынка.
Главный инженер прежде всего должен думать, как сделать ровным процесс достижения сложных результатов. В этом контексте он должен обеспечивать постоянную оценку и совершенствование стандартов организации по развитию и инфраструктуре, чтобы создавать продукцию, ценную для бизнеса. Главный инженер несет ответственность за высокую продуктивность и динамизм организации, правильно измеряя и ускоряя действующие процессы в интересах роста компаний. Он важный руководитель в вопросах найма рабочей силы, правильной расстановки персонала, обеспечения персонального роста и профессионального обучения работников. При необходимости главный инженер принимает участие в решении вопросов закупок в интересах компании, а также участвует в составлении бюджета.
Влияние главного инженера должно распространяться по разным подразделениям организации. Он несет ответственность за воспитание следующего поколения руководителей и менеджмента организации. Он должен помогать способным менеджерам находить равновесие между управлением техническими вопросами и персоналом. Главный инженер должен быть заинтересован в создании организаций, обладающих духом высокой производительности, вовлеченности работников и их мотивированности на продуктивную деятельность. Главный инженер должен разделять важнейшие цели организации. Он должен находить баланс между тактическими и стратегическими целями компании в области разработки продуктов и текущим технологическим уровнем, его стратегическим развитием.
Главный инженер должен быть сильным руководителем, устанавливающим стандарты межфункционального взаимодействия между техническими и другими подразделениями организации, а также между группами технического блока. Цель межфункционального взаимодействия — вырабатывать тактические и стратегические планы развития, увязывающие бизнес-интересы организации, экономическую эффективность и прибыльность работы с вопросами развития технологий и инновациями. Главный инженер должен уметь общаться с людьми и быть в состоянии просто объяснять сложные технические вопросы партнерам из нетехнического блока, а также разъяснять бизнес-категории инженерам так, чтобы и те и другие принимали эти объяснения и руководствовались ими. Главный инженер должен уметь создавать публичный интерес к техническому уровню компании и помогать пропагандировать его перед потенциальными клиентами.
В связи с широким кругом обязанностей как в технической области, так и в области бизнес-драйверов организации главный инженер обязан участвовать в постановке целей для всех подразделений, помогая в формулировании своих собственных целей, поддерживающих бизнес-инициативы, а также повышающих технологический и организационный уровень компании.
С некоторой болью подтверждаю, что главному инженеру совсем не обязательно каждый день писать код. Я это делаю потому, что уверена, что человеку, отвечающему за практическое повседневное руководство многими командами, это очень трудно. Ваш режим дня на этом этапе изменяется: из «режима производителя» он переходит в разряд «режима руководителя». Скорее всего, на этой должности вы очень заняты: вам нужно проводить личные встречи с коллегами, встречи с техническими руководителями, совещания в группах по планированию, совещания с коллегами в подразделениях по продукции и других функциональных подразделениях. Реально воспринимайте свою загрузку. Если вы не можете посвятить написанию кода солидные отрезки времени и не можете выделять время хотя бы несколько раз в неделю, то создаваемый вами код будет продвигаться очень медленно.
К счастью, есть много способов оставаться в теме без активного участия в написании кода. Хорошо практиковать проверки или инспекции кода, хотя бы в качестве второго проверяющего. Если вы активно участвовали в создании систем, держите связь с ними, потому что вы помните детали лучше других и поможете работающим с ними инженерам-программистам с проверками и вопросами. Ценно также участие в работе по отладке системы, устранению ошибок и поддержке продукции. То, в каком качестве вы останетесь на практической работе с системами, зависит от уровня вашей подготовки. Если до ухода в менеджмент вы не были сильным отладчиком, то ваше неожиданное подключение к расшивке ошибок и сбоев в программах может принести больше расстройств, чем пользы делу. Вы можете быть более полезны, работая с кем-то в паре или ликвидируя мелкие ошибки в относительно простых программах. Мы часто недооцениваем небольшие усилия как ничего не стоящие, однако на самом деле они очень важны как средство создать у вас ощущение принадлежности к практической разработке софта и продемонстрировать командам, что вы хотите и можете помогать в повседневной работе.
Риск выпасть из темы значительно увеличивается, если вы перестаете участвовать в написании кода задолго до переключения на менеджерскую работу и не изучите глубоко хотя бы один язык программирования. Я настоятельно выступаю за то, что перед уходом в менеджеры вы должны добиться достаточного мастерства в программировании. В моем случае это заняло 10 лет, включая мои выпускные и магистерский дипломы. Возможно, вы способны достичь этого быстрее, чем я, однако внимательно и честно оценивайте себя. Считаете ли вы, что свободно владеете хотя бы одним языком программирования, чтобы продуктивно писать кодовую базу? Способны ли вы ускорить работу, используя стандартную среду выполнения и работая в стандартных платформах и стандартных библиотеках? В дальнейшем у вас могут уйти глубокие слои знаний, но свобода использования программного языка (подразумевающая владение стандартными инструментами программирования, работу с библиотеками и вычислительным окружением) — то, что остается надолго.