Автор книги: Камиль Фурнье
Жанр: Управление и подбор персонала, Бизнес-Книги
Возрастные ограничения: +12
сообщить о неприемлемом содержимом
Текущая страница: 4 (всего у книги 25 страниц) [доступный отрывок для чтения: 8 страниц]
Ключевые моменты для наставника
В качестве наставника вам следует обратить особое внимание на три аспекта своих действий.
Будьте любознательны и открыты новому
По мере продвижения в карьере вы переживете много того, на чем можно поучиться, усвоите, как должны или не должны делаться дела. Это могут быть удачные решения или шрамы от ошибок. Их подсознательное наслоение может затуманить наше мышление и уменьшить креативность. Когда мы закрываем свой ум и перестаем учиться, мы начинаем утрачивать самый ценный для развития и поддержания нашей карьеры навык. Техника и технологии непрерывно меняются, поэтому мы должны постоянно чувствовать эти изменения.
Наставничество открывает большие возможности для развития любознательности и умения смотреть на окружающий мир свежим взглядом. Столкнувшись с проблемами вашего подопечного, вы можете понять, что неясно в вашей организации новому человеку. Можно обнаружить и что-то вроде бы явное, но труднообъяснимое. И может возникнуть возможность пересмотреть некоторые сложившиеся за время работы представления, заслуживающие внимания. Хотя многие считают, что креативность – это способность видеть новое, это еще и способность видеть скрытое от взора других людей. Это трудно увидеть, отталкиваясь только от личного опыта. Работа с новыми людьми, что-то постигающими впервые, раскроет для вас эти тайны и поможет установить новые связи.
Слушайте их, говорите на их языке
Наставничество, если оно качественное, закладывает в человеке навыки, необходимые будущему руководителю. Даже для тех, кто не собирается делать карьеру менеджера, в опыте наставничества есть определенная польза: он побуждает оттачивать коммуникативные навыки. В особенности наставничество требует постоянной практики слушать других: не умея услышать заданный вопрос, вы никогда не сможете дать хороший ответ.
У старших разработчиков могут формироваться плохие привычки, и одна из самых плохих – читать всем лекции и спорить со всеми, кто их не понимает или не соглашается с тем, что говорят. Чтобы успешно работать с новичками или младшими членами команды, вы должны уметь слушать и излагать свои мысли так, чтобы вас понимали, даже если вам приходится излагать свою мысль несколько раз. В большинстве компаний разработка и создание программного обеспечения – командный вид спорта. А в команде, если она хочет добиваться результата, должно быть хорошее общение.
Устанавливайте личные связи
В конечном счете ваша карьера становится успешной или оканчивается неудачей в зависимости от прочности межличностных связей. Наставничество – прекрасный способ развить сеть таких связей. Сегодня вы чей-то наставник, а завтра этот человек поможет вам найти новую работу или даже поработает на вас в будущем. С другой стороны, не следует слишком эксплуатировать отношения, возникающие в ходе наставничества. Независимо от того, кто вы – ментор-наставник или подопечный, помните: ваш трудовой путь долог, а мир техники и технологий очень узок, поэтому относитесь к своему визави как можно лучше.
Обратимся к оценке вашего собственного опыта
Ниже следует несколько вопросов для размышления на этом этапе вашей карьеры.
• Есть ли в вашей компании программа работы со стажерами? Если да, то можете ли вы добровольно выступить в качестве ментора-наставника для стажера?
• Каков подход в вашей компании к вопросам вхождения новичков в коллектив? Назначаются ли им наставники? Если нет, можете ли вы предложить менеджеру попробовать такую практику и выступить добровольцем в качестве наставника?
• Был ли у вас когда-нибудь хороший наставник? Что он сделал для того, чтобы вы считали его таковым? Как ваш наставник помогал вам учиться – чему он учил?
• Был ли у вас такой опыт, когда отношения с наставником не сложились? Какие уроки вы можете использовать, чтобы избежать подобных неудач в дальнейшем?
3. Технический руководитель группы
Я стала техническим руководителем группы (ведущим техническим специалистом) много лет назад. Сначала меня продвинули на должность старшего инженера, и я работала в небольшой команде других старших инженеров. Для меня стало сюрпризом, когда меня назначили руководителем группы, потому что я не была первой в своей группе ни по должности, ни по опыту. Оглядываясь назад, я вижу, что обладала несколькими преимуществами. Во-первых, я была больше чем просто хорошим программистом. Я обладала приличными коммуникативными навыками. Я могла писать понятные документы, делать презентации, не впадая в панику, беседовать с членами разных команд, находящимися на разных должностях, четко объясняя происходящее. Я также умела определять приоритеты, стремилась продвигать свою работу, самостоятельно решая, что должно было быть сделано. Наконец, я была готова собирать проекты по кусочкам и делать то необходимое, что обеспечивало прогресс. Однако я думаю, что решающим фактором в моем назначении было прагматическое соображение необходимости. Ведь должность технического руководителя группы, в конце концов, это должность руководящая, хотя она и не подразумевает менеджерских обязанностей.
Я была свидетелем многих неудач технических руководителей групп. Один такой случай, особенно запавший мне в память, произошел с прекрасным программистом. Он блестяще писал код, но ненавидел говорить с людьми и часто раздражался из-за технических деталей. Я молча наблюдала, как он попадал из западни в западню. В его отсутствие менеджер продукта уговорил остальных членов команды «выдать» продукт, плохо разработанный и чрезвычайно амбициозный. Проект катился в пропасть, и что же сделал технический руководитель? Он взялся за рефакторинг[5]5
Рефакторинг – работа над структурированием кода. Прим. ред.
[Закрыть], потому что был уверен: вся проблема в неправильной структуре кода. Наверное, эта ситуация вам знакома, ведь такое случается везде. Мысль, что роль технического руководителя группы должна быть автоматически возложена на наиболее опытного инженера-программиста, способного разобраться с самыми сложными вещами или написать лучший код, – общее заблуждение, в эту ловушку попадаются даже лучшие менеджеры. Должность технического руководителя группы предназначена не для того, кто нуждается в максимальной свободе для сосредоточения на деталях собственного кода. Такой технический руководитель не выполняет своей работы. Тогда в чем же на самом деле состоит работа технического руководителя группы? Чего мы ожидаем от него?
Как и в случае многих должностей в области разработки и производства программного обеспечения, понятие «технический руководитель группы» не имеет общепризнанного определения. Лучшее, что я могу в этом плане сделать, – это опираться на собственный опыт и опыт других людей. Моя работа в качестве технического руководителя группы состояла в том, что я продолжала писать код, но у меня появились и другие обязанности: представлять интересы группы перед руководством, рассматривать наши планы по новым продуктам, а также выполнять то, что характерно для процесса управления проектами. Я смогла быть техническим руководителем, не будучи самой старшей по должности, потому что оказалась способна брать на себя обязанности, связанные с этой работой, тогда как остальные члены моей команды были больше сконцентрированы на создаваемых программах. Когда моя группа в компании Rent the Runway создавала должностное расписание для инженеров-программистов, мы сознательно определили роль технического руководителя определенным набором параметров. Под них мог подойти любой программист на любой ступеньке карьерной лестницы. Мы заняли такую позицию потому, что хотели подчеркнуть: по мере развития и изменения команд роль технического руководителя может исполняться программистами, находящимися на разных этапах карьерного роста, или передаваться от одного инженера другому без обязательного изменения функционального положения. В разных компаниях функции технических руководителей групп бывают разными; они могут отличаться от группы к группе даже в рамках одной организации. Однако само название должности подразумевает: в ней соединяются технические и руководящие обязанности, и часто они носят временный, а не постоянный характер. Итак, с учетом сказанного: что же это все-таки такое – технический руководитель группы? Ниже приводится описание этой должности, созданное нами в Rent the Runway.
Позиция технического руководителя – не точка на карьерной лестнице, а набор обязанностей, взятых на себя любым инженером-программистом по достижении определенного уровня старшинства. Эта должность может включать в себя, а может и не включать управление людьми. Но если она эти вопросы включает, то занимающее ее лицо обязано осуществлять руководство членами группы по высоким стандартам менеджмента инженерно-консалтинговой компании RTR tech. Эти стандарты включают в себя:
• регулярные (еженедельные) встречи руководителя с членами группы;
• регулярное доведение до членов группы рекомендаций по карьерному росту, продвижению к поставленным целям, возможным сферам совершенствования и заслуживаемых ими поощрений;
• работу с отчетами членов группы для определения направлений дополнительного образования и помощи в личном росте через подключение к проектам внешнего обучения или дополнительного наставничества.
Если технические руководители групп не занимаются прямым менеджментом, от них все равно ожидают, что они будут предоставлять профессиональную помощь и рекомендации другим членам команды.
Технические руководители групп должны учиться быть хорошими управляющими проектов, и в качестве таковых они увеличивают эффективность путем перераспределения полномочий без мелочной опеки подчиненных. Они сосредоточивают внимание на продуктивности всей группы и стараются сделать продукт деятельности команды полезным для всей компании. Они имеют право принимать независимые решения в интересах команды и постоянно совершенствуются в решении проблем, связанных с менеджментом и руководством. Технические руководители также учатся эффективному взаимодействию с производственными, аналитическими и другими подразделениями компании.
Не обязательно, чтобы для продвижения по служебной лестнице инженер-программист прошел ступень технического руководителя. Но ее прохождение – самый распространенный путь для того, чтобы старший инженер-программист первого уровня перешел на второй уровень. Работа на должности технического руководителя группы обязательна для того, чтобы старший инженер второго уровня мог стать главным инженером. В реальности очень трудно вырасти выше, чем старший инженер-программист второго уровня, не проходя должность технического руководителя, даже в качестве высококвалифицированного разработчика. Дело в том, что на более высоких уровнях руководства важны лидерские качества и ответственность.
Возможно, самое краткое выражение сущности роли технического руководителя группы содержится в книге Патрика Куа «Разговор с техническими руководителями» (Talking with Tech Leads).
Руководитель, отвечающий за работу команды программистов, проводит по крайней мере 30 % времени в написании кода вместе со своей группой.
Технические руководители групп могут быть сильными лидерами в техническом проектировании и более широко использовать знания и опыт в интересах всей группы. Они могут принимать независимые решения и играют важную роль в координации работы группы с другими, не инженерными подразделениями. Обратите внимание, что в вышеприведенном тексте ничего не говорится о технических деталях. Технический руководитель – старшая инженерная должность, но вы ошибетесь, сочтя, что речь идет о самом лучшем или опытном инженере команды. Нельзя руководить, не вовлекая в общее дело других людей, и новый технический руководитель должен прежде всего заботиться о развитии разных навыков членов команды, а не только о чисто технической подготовке. Но и сам технический руководитель группы должен активно работать над новой областью знаний и навыков – проектным менеджментом. Работа по разбивке проекта на части или фазы имеет много общего с созданием систем, и освоение этих навыков ценно даже для инженеров, не желающих становиться менеджерами.
Если вы оказались в роли технического руководителя группы, то примите мои поздравления! Некоторые думают, что вы обладаете качествами, чтобы быть лидером в команде. Теперь ваша очередь учиться новому!
Что значит быть техническим руководителем
Исполнение обязанностей технического руководителя – упражнение на влияние на людей без реальной власти. Я руковожу коллективом в качестве ведущего технического специалиста, но мы все отчитываемся перед одним и тем же менеджером. Поэтому я должна влиять не только на коллег, но еще и на менеджера по вопросам правильного определения приоритетов в работе. Поначалу мне пришлось совсем туго, потому что один из первых порученных мне проектов формулировался так: остановить разработку новых программ и вместо этого сосредоточиться на проблеме «технического долга»[6]6
Технический долг (также известный как долг кодинга) отражает подразумеваемые издержки, вызванные выбором в пользу более быстрого решения вместо более долгого, но лучшего по качеству. Прим. ред.
[Закрыть]. Мне стало ясно, что «консервную банку» под названием «технический долг» гоняли по полю уже достаточно долго: развертывание нового кода давалось с трудом, использование действующих систем становилось все более дорогим, а техподдержка в режиме «по первому зову» 24/7 была адски трудна. Я была уверена, что нам нужно притормозить, чтобы в будущем нагнать темп. Однако в этом было трудно убедить наших разработчиков: они хотели создавать новые интересные программы. Или менеджера: его захлестывал постоянный поток запросов от заказчиков. Мне удалось привлечь членов команды на свою сторону, показав, какие позитивные моменты каждый сможет получить от проекта. Для некоторых было важно иметь более надежный сервис, для других – повысить скорость итерации, а для третьих – уменьшить количество срочных запросов в техподдержку, что дало бы им возможность спокойно спать. В беседах с менеджером особый упор я делала на снижение эксплуатационных издержек, что позволило бы команде в будущем разрабатывать более интересные программы.Когда я стала техническим руководителем группы, то вынуждена была перераспределить сферы внимания. Работа теперь означала не только мою собственную деятельность или сосредоточение на наиболее технически сложных идеях или интересных проектах. Теперь я больше внимания уделяла команде. Как я распределяю между членами обязанности и права? Как способствую удалению с пути команды препятствий? Рерайтинг кода или работа над новыми интересными программами позволили бы мне полностью проявить техническую квалификацию и доставили бы мне удовольствие. Но тогда команде нужнее всего было решить проблему технического долга. В конечном счете эта программа оказалась очень успешной. В наших программах количество отказа страниц при подкачке снизилось почти на 50 %, а в следующем квартале мы почти удвоили количество развертываемых программ.
Кейти Маккафри
Все хорошие технические руководители знают одну хитрость
Итак, вы технический руководитель группы, что подразумевает наличие определенных знаний по поводу программного обеспечения. Менеджер считает вас достаточно зрелым специалистом и возлагает на вас обязанности по проектам. Однако техническая подготовка и зрелость не дадут ничего, если вы не поймете самую главную хитрость – как быть хорошим техническим руководителем, проявляя готовность отступить от написания кода и сбалансировать собственные инженерные устремления с работой, нужной всей команде. Вы должны полностью перестать полагаться на свои старые навыки и начать осваивать навыки новые. Вам придется научиться искусству балансирования.
С этих пор, до каких бы высот вы ни дошли в своей карьере, умение балансировать будет для вас главным. Если вы хотите автономии в работе, свободы в выборе, когда и над чем работать, то придется освоить высший пилотаж в организации и использовании своего времени. Что еще хуже, часто придется балансировать между тем, что вы умеете и любите делать (например, написанием кода), и тем, что вы делать не умеете. Для людей естественно предпочитать знакомые виды деятельности. Поэтому, когда приходится тратить меньше времени на то, что вам близко, в пользу освоения незнакомых навыков, вы, без сомнения, испытаете дискомфорт.
Иногда может быть трудно совмещать управление проектами и контроль над проработкой конкретных технических вопросов. В какие-то дни вы работаете в режиме разработчика, а в какие-то – в режиме менеджера. Методом проб и ошибок нужно научиться организовывать время так, чтобы уделять его одному и другому. Самая крупная ошибка с точки зрения организации времени – дать себя втянуть в случайные совещания. Очень трудно сосредоточиться на написании кода, если каждый час вас отрывают.
Даже при тщательном планировании времени вы не сможете обеспечить себе по нескольку дней подряд для работы над кодом. Можно только надеяться, что ко времени вступления на должность технического руководителя вы смогли научиться разбивать работу на отдельные части, поэтому вам не нужно в течение многих дней непрерывно концентрироваться на технических задачах. С другой стороны, вы должны понимать, что для команды как раз важно уметь сосредоточиваться на разработке программного продукта в течение продолжительного времени, потому ей необходимо многие дни фокусировать внимание на работе с кодом. Часть ваших обязанностей как руководителя состоит в том, чтобы обеспечить понимание заинтересованными сторонами (руководитель вашей организации и менеджер продукта) фокуса внимания команды и строить совещания так, чтобы они не мешали инженерам-программистам.
Основные моменты позиции технического руководителя группы
Представим себе, что вы в сотрудничестве с менеджером продукта и еще четырьмя инженерами осуществляете многонедельную программу по разработке нового проекта. По такому сценарию технический руководитель имеет множество обязанностей в зависимости от того, на каком этапе жизненного цикла находится проект. Разумеется, вам придется участвовать в написании кода для новой программы и принимать некоторые технические решения. Но это только одна из ваших ролей и, возможно, даже не самая главная.
Главные функции технического руководителя
Основный приоритет технического руководителя – выработать широкий взгляд на выполняемую работу, чтобы обеспечить продвижение проекта. Как перейти от организации и планирования написания кода к организации и руководству всем проектом?
Архитектор системы и бизнес-аналитик
Как архитектор системы и бизнес-аналитик вы должны определить важнейшие системы, нуждающиеся в изменении, а также то, какие новые программы необходимо создать для выполнения нового проекта. Цель – некая общая схема: на ней могли бы основываться ваши оценки и заказы на работу. Вы должны точно идентифицировать каждый элемент проекта, но весьма ценны и ваши размышления относительно внешних условий проекта и вопросов, с ним связанных. Эта функция требует от вас хорошего понимания общей архитектуры систем и твердых навыков в разработке сложного программного обеспечения. Скорее всего, эта же функция потребует способности понимать требования рынка и переводить их в качества программного продукта.
Планировщик проекта
Планировщик должен уметь делить проект на приблизительно равные промежуточные части. Исполняя эту роль, вы должны учиться находить эффективные пути разбивки, чтобы команда работала быстро. Часть задачи – организовать параллельное движение частей работы в максимальном объеме и максимально продуктивно. Это сложно, потому что вы, скорее всего, привыкли думать только о своей работе, а не о работе группы. Ключ – найти пункт приложения всего согласованного в теории. Например, если речь идет о внешнем интерфейсе, использующем простой формат обмена данными JSON на базе API (интерфейса прикладного программирования), то не обязательно ждать, пока набор процедур API будет полностью закончен, чтобы начать разработку внешнего интерфейса. Вместо этого согласуйте использование формата JSON и начинайте писать код в этом формате при помощи Mock-объектов (фиктивных функций). Если вы удачливы, то наверняка видели это раньше, так что вам просто надо копировать предыдущие образцы. На этой стадии вам следует привлечь опытных экспертов к консультированию членов вашей группы и самому поговорить со специалистами, разбирающимися в соответствующих проблемах и способными сообщить вам необходимые детали. Также в этой части процесса нужно осуществить расстановку приоритетов. Что в программе действительно важно, а что факультативно? Как работать над важными элементами с самого начала проекта?
Разработчик программ и руководитель группы (тим-лидер)
Разработчики программ и руководители групп пишут коды, анализируют и разъясняют команде сложности и распределяют часть своих полномочий между другими работниками. По мере продвижения любого проекта вперед на пути возникают неожиданные препятствия. Иногда технические руководители проявляют героизм и пытаются прорваться через все препятствия в одиночку, сильно перерабатывая и стараясь все сделать сами. В должности технического руководителя вы должны продолжать писать код, но в меру. Даже желая в одиночку вытащить кролика из цилиндра, вы сначала должны разъяснить суть возникшей проблемы другим. О трудностях как можно раньше оповестите менеджера продукта. При необходимости заручитесь помощью главного инженера. В здоровой организации нет ничего постыдного или вредного в том, чтобы о проблемах говорилось как можно раньше. Многие команды зачастую постигают неудачи тогда, когда они излишне зацикливаются на разработке продукта, и менеджеру продукта приходится снижать требования. Когда большие проекты подходят к стадии завершения, часто возникают компромиссные решения по функциональности. Вовремя ищите возможности делегировать часть своей работы другим, особенно если она представляет собой часть системы, которую ваша команда должна была создать, но не успела в силу недостатка времени.
Как вы видите из вышеизложенного, в процессе исполнения обязанностей технического руководителя группы вам приходится быть и разработчиком программ, и архитектором систем, и бизнес-аналитиком, и тим-лидером и знать, когда можете справиться с проблемой сами, а когда следует делегировать часть работы другим. К счастью, обычно вам не приходится выполнять все функции сразу. Сначала вы можете испытывать дискомфорт в должности технического руководителя, но со временем и опытом обязательно найдете баланс между всеми вашими ипостасями.
Спросите технического директора: я ненавижу должность технического руководителя группы!
Я думала, что переход на должность технического руководителя группы будет достойным делом, но теперь менеджер ждет от меня тщательного контроля над всеми деталями состояния проекта и сообщений, когда будет сделана очередная часть работы. И я начинаю ненавидеть свою должность. Почему раньше никто не сказал мне, что позиция технического руководителя – это так ужасно?
Знаю, что все, связанное с новой ответственностью, нелегко. Я люблю называть все это «камнем триумфа» (думаю, что фанаты телесериала «Симпсоны» поймут мою шутку). «Нести камень триумфа» у Симпсонов означает получить признание только для того, чтобы узнать, что оно далось неимоверно тяжелой ценой. Хотя это соответствует действительности на разных этапах руководящей инженерной работы, ступень технического руководителя группы как нельзя больше отвечает этой метафоре. Технический руководитель очень редко получает прибавку к зарплате или толчок в карьере. Впервые попадающие на эту должность зачастую понятия не имеют, как тяжела возложенная на них ответственность. Как я уже упомянула, во многих компаниях эта должность считается временной. Обязанности могут возлагаться на работника несколько раз за его рабочую карьеру. Это трамплин, необходимый для продвижения на более высокий служебный уровень, но обычно конкретное вознаграждение не происходит немедленно.
Почему же роль технического руководителя группы – такое тяжелое бремя? Технический руководитель несет значительно более тяжелую ношу ответственности, чем самостоятельно работающий инженер-программист. Технического руководителя призывают к участию в разработке концепции и архитектуры всего проекта, а затем заставляют прорабатывать и планировать каждую стадию и фазу. От технического руководителя ожидают, что он обеспечит полное понимание командой требований к проекту, правильное планирование и эффективную работу команды. И все это необязательно сопровождается какими-то правами с точки зрения управления, а также необходимой специальной подготовкой. А в реальности многие менеджеры еще ожидают и того, что технические руководители продолжат писать код примерно в таких же объемах, что и до назначения на эту должность. В общем, все это превращается в увеличение ответственности и объема выполняемых работ. Если вы оказались на позиции технического руководителя в первый раз, то мало вам не покажется!
Итак, поздравляю! Вам вручили «камень триумфа»! К счастью, обычно испытание этим тяжким бременем в конечном счете приводит к тому, что вы становитесь сильнее, и вооружает вас навыками, необходимыми, чтобы двигаться вперед по служебной лестнице. Не всегда вам будет так тяжело, как сейчас.
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?