Книга От разработчика до руководителя. Менеджмент для IT-специалистов, страница 12. Автор книги Камиль Фурнье

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «От разработчика до руководителя. Менеджмент для IT-специалистов»

Cтраница 12

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

Иногда может быть трудно совмещать управление проектами и контроль над проработкой конкретных технических вопросов. В какие-то дни вы работаете в режиме разработчика, а в какие-то — в режиме менеджера. Методом проб и ошибок нужно научиться организовывать время так, чтобы уделять его одному и другому. Самая крупная ошибка с точки зрения организации времени — дать себя втянуть в случайные совещания. Очень трудно сосредоточиться на написании кода, если каждый час вас отрывают.

Даже при тщательном планировании времени вы не сможете обеспечить себе по нескольку дней подряд для работы над кодом. Можно только надеяться, что ко времени вступления на должность технического руководителя вы смогли научиться разбивать работу на отдельные части, поэтому вам не нужно в течение многих дней непрерывно концентрироваться на технических задачах. С другой стороны, вы должны понимать, что для команды как раз важно уметь сосредоточиваться на разработке программного продукта в течение продолжительного времени, потому ей необходимо многие дни фокусировать внимание на работе с кодом. Часть ваших обязанностей как руководителя состоит в том, чтобы обеспечить понимание заинтересованными сторонами (руководитель вашей организации и менеджер продукта) фокуса внимания команды и строить совещания так, чтобы они не мешали инженерам-программистам.


Основные моменты позиции технического руководителя группы

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


Главные функции технического руководителя

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


Архитектор системы и бизнес-аналитик

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


Планировщик проекта

Планировщик должен уметь делить проект на приблизительно равные промежуточные части. Исполняя эту роль, вы должны учиться находить эффективные пути разбивки, чтобы команда работала быстро. Часть задачи — организовать параллельное движение частей работы в максимальном объеме и максимально продуктивно. Это сложно, потому что вы, скорее всего, привыкли думать только о своей работе, а не о работе группы. Ключ — найти пункт приложения всего согласованного в теории. Например, если речь идет о внешнем интерфейсе, использующем простой формат обмена данными JSON на базе API (интерфейса прикладного программирования), то не обязательно ждать, пока набор процедур API будет полностью закончен, чтобы начать разработку внешнего интерфейса. Вместо этого согласуйте использование формата JSON и начинайте писать код в этом формате при помощи Mock-объектов (фиктивных функций). Если вы удачливы, то наверняка видели это раньше, так что вам просто надо копировать предыдущие образцы. На этой стадии вам следует привлечь опытных экспертов к консультированию членов вашей группы и самому поговорить со специалистами, разбирающимися в соответствующих проблемах и способными сообщить вам необходимые детали. Также в этой части процесса нужно осуществить расстановку приоритетов. Что в программе действительно важно, а что факультативно? Как работать над важными элементами с самого начала проекта?


Разработчик программ и руководитель группы (тим-лидер)

Разработчики программ и руководители групп пишут коды, анализируют и разъясняют команде сложности и распределяют часть своих полномочий между другими работниками. По мере продвижения любого проекта вперед на пути возникают неожиданные препятствия. Иногда технические руководители проявляют героизм и пытаются прорваться через все препятствия в одиночку, сильно перерабатывая и стараясь все сделать сами. В должности технического руководителя вы должны продолжать писать код, но в меру. Даже желая в одиночку вытащить кролика из цилиндра, вы сначала должны разъяснить суть возникшей проблемы другим. О трудностях как можно раньше оповестите менеджера продукта. При необходимости заручитесь помощью главного инженера. В здоровой организации нет ничего постыдного или вредного в том, чтобы о проблемах говорилось как можно раньше. Многие команды зачастую постигают неудачи тогда, когда они излишне зацикливаются на разработке продукта, и менеджеру продукта приходится снижать требования. Когда большие проекты подходят к стадии завершения, часто возникают компромиссные решения по функциональности. Вовремя ищите возможности делегировать часть своей работы другим, особенно если она представляет собой часть системы, которую ваша команда должна была создать, но не успела в силу недостатка времени.

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


Спросите технического директора: я ненавижу должность технического руководителя группы!

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

Вход
Поиск по сайту
Ищем:
Календарь
Навигация