Ключевые мысли из «Как пасти котов» Дж. Хэнка Рейнуотера
Глава 1: Как привыкнуть к роли руководителя
Автор перечисляет, какие бывают «породы» программистов, сравнивая их с породами котов. Описывать их здесь я не буду, сам список можно найти в оригинальной книге. Основная мысль главы в том, что в любом программисте могут уживаться сразу несколько таких пород. Некоторые из них ладят друг с другом лучше и из них получается отличная команда, а некоторые – хуже.
Успех руководителя — это то, на сколько эффективно работают его сотрудники. Помните об этом, когда непосредственно вас никто не хвалит, но, когда ваш отдел успешен. Как программист вы привыкли измерять свою производительность числом работоспособных строк кода, созданных вами в течение дня. Подобный метод оценки может стать причиной вашего провала как руководителя. Как начальнику вам следует оценивать свою производительность объемом работы, которую выполняет ваш коллектив. Вы не можете оценивать этот объем каждый день, и это может стать серьезной проблемой, если вам требуются постоянные подтверждения того, что вы работаете хорошо.
Критиковать своих сотрудников стоит лишь в разговорах один на один, а хвалить лучше при всех на общих совещаниях.
Прежде чем пытаться утвердить то или иное решение, используя свое положение руководителя, обязательно выслушайте человека и попробуйте его понять. Всегда пробуйте выяснить скрытые мотивы людей, в т.ч. программистов.
Например, если программист говорит о чужом коде "его нужно переписать" вполне возможно он просто боится, что не разберётся в нём, а не потому, что он плохо написан.
Глава 2: Как руководить собой
Избегайте ненужных, неэффективных совещаний. Установите предел для любой встречи: 45 минут общения обычно более чем достаточно. Зачастую могут быть нужны и 8-часовые обсуждения проекта, однако всегда имейте подробную повестку дня и следуйте ей, если вы собираетесь выдержать такую длительную мозговую атаку. Старайтесь свести количество совещаний к минимуму. Путем тщательной подготовки и составления четкого плана старайтесь делать их как можно насыщеннее. Всегда пишите повестку встречи и ориентировочное время обсуждения каждого блока.
Постоянно контролируйте промежуточные результаты своих сотрудников. Если поставить задачу и прийти за результатом в конце, высока вероятность, что задача сделана не будет.
Соблюдайте баланс между "чистотой кода" и скоростью его написания. Выделяйте достаточно времени для проектирования архитектуры. Выбранные технологии вторичны.
Учите своих людей делать какую-то работу, а не делайте её за них, даже если видите решение. На длинной дистанции это многократно окупится.
Всегда документируйте то, что делаете или планируете делать.
Рефлексируйте. Ваш перечень вопросов к самому себе мог бы выглядеть так:
- Подвергаю ли я качество своего управления ежедневной оценке
- Действительно ли я с каждым днем руковожу все лучше или я постоянно откладываю совершенствование стиля и сути моего управления на потом
- Нравится ли мне то, что я делаю?
- Теряю ли я попусту время при выполнении своих служебных обязанностей?
- Оцениваю ли я свою производительность тем, сколько сделали мои подчиненные под моим руководством, или у меня есть ощущение, что сам я не сделал ничего?
- Как мои слабости дали себя знать сегодня (по отношению ко мне самому или другим)?
- Чему я научился сегодня, чтобы оставаться в курсе, чтобы быть осведомленным, чтобы углубить и расширить свои знания?
Глава 3: Как вести стаю за собой
Не переключайтесь между задачами: если вы находитесь "в потоке" дел, который ведёт вас к цели, то внезапно замеченные вами проблемы или сообщенные коллегами через почту новости не должны отвлекать вас от основных дел. Помните, что в менеджменте, как и в программировании, важно сосредоточиться на задачах и постоянное переключение выбьет вас из контекста.
Если вы унаследовали персонал от предыдущего руководителя, попросите каждого сотрудника в письменном виде сформулировать его текущие задачи. Это очень эффективный прием — вы не только узнаете, что программисты думают о своих обязанностях, но и составите представление о том, как руководство осуществлялось ранее.
Еще одна неотъемлемая черта хорошего руководителя — это умение находить подходящих сотрудников. Имейте в виду, что подчиненные судят о ваших лидерских качествах исходя из того, каких новых специалистов вы приводите и от каких избавляетесь. Далее приводится ряд факторов, которые обязательно нужно учитывать при поиске новых программистов:
· Заставьте кандидата выполнить тестовое задание.
· Обязательно проводите устную проверку навыков кандидата. Если у него есть сертификаты, протестируйте его по одному из них и оцените полученные кандидатом знания, а заодно и его способность решать задачи в стрессовой ситуации.
· Составьте письменное описание предполагаемых функций кандидата и попросите его ознакомиться с ними непосредственно во время интервью.
· Не ограничивайтесь одним интервью
Такая же важная часть, как и найм сотрудников – увольнение. Не затягивайте с увольнением токсичных или неподходящих людей.
Продвигая сотрудников вверх по должностной лестнице, делайте это с осторожностью. Обязательно оценивайте, по силам ли им новые обязанности. Оценивайте своих сотрудников по достоинству. Платите им столько, сколько они заслуживают. Не нужно чрезмерно экономить, иначе вы можете их потерять. За качество всегда нужно платить.
Готовьте себе преемника с самого начала работы. Даже если вы только что получили должность. Будет немало ситуаций, когда вас необходимо будет подменить.
Глава 4: Как организовать успех
Между менеджерами и лидерами есть разница: менеджер действительно должен следить за тем, чтобы все текущие задачи своевременно исполнялись; лидер же, помимо решения повседневных задач по повышению продуктивности сотрудников, концентрируется на стратегических задачах своего подразделения и не ограничивает себя соблюдением контрольных сроков. Важно найти баланс в своей работе между менеджером и лидером, так как обе эти роли важны. Чтобы выделить время на лидерскую деятельность, нужно предварительно достичь определенных высот в менеджменте — таким образом, сконцентрировавшись на неотложных и наиболее значительных приоритетах, вы должны проявить себя хорошим организатором. Именно в этом заключается смысл «концентрации» — умение не отвлекаться на внешние раздражители помогает уделять максимум внимания решению самых важных задач.
Систематизируйте свой рабочий стол, если пользуетесь бумажными носителями информации. То же самое можно сказать и про электронную документацию. Разложите всё по папкам, наведите порядок.
Пользуйтесь теми программными средствами, которые подходят именно вам. Если они достаточно гибкие – можно написать свой. (дальше автор долго рассказывает про свой самописный софт по управлению проектами и задачами, так как ни один из существующих не подошёл под его рабочий процесс :)))
В жизни руководителя есть подконтрольные и неподконтрольные области.
Пример подконтрольных областей:
распределение конкретных задач между сотрудниками отдела, ваши ожидания относительно собственной продуктивности, ваше отношение к трудным с точки зрения общения людям.
Пример неподконтрольных областей:
выбор проектов, над которыми вам предстоит работать, ожидания окружающих вокруг вашей продуктивности, трудные в общении люди, которые вам не подчиняются.
Старайтесь за счёт эффективного управления подконтрольными областями, сводить к минимуму негативное влияния неподконтрольных. Например, если вашему отделу необходимо выполнять рутинные задачи по техподдержке, старайтесь разделить их между всеми. В результате вы сможете избежать ситуации, при которой все самые утомительные функции ложатся на одного человека. Эти вопросы находятся в зоне вашего контроля. Варьируйте задания, перераспределяйте их между сотрудниками ежедневно или еженедельно — для этого у вас есть все возможности. Многие усматривают в разнообразии смысл жизни; программистам разнообразие совершенно необходимо — оно помогает выводить наши мозги «на пик формы».
Методики, применяемые при систематизации потока административной информации, полностью применимы к проектированию программных средств. Подумайте, как классифицируются программные требования в расчете на их реализацию в объектах кода. Инкапсуляция кода во многих отношениях подобна наполнению папки для документов проекта. Совершенствование организационных навыков в одной области помогает добиться лучших результатов в другой. Организационные способности родственны логике программирования.
Переработки – зло. Когда компьютерная революция только начиналась, все мы надеялись на то, людям придётся работать меньше. Но это привело к обратному эффекту: повышение производительности приводит к увеличению нагрузки. Соблюдайте Work-Life баланс. Если вы выгорите, восстанавливаться будет очень сложно.
Выполняйте обещания. Не обещайте то, чего не сможете выполнить. Обязательно следите за тем, что вы обещаете даже «вскользь», например посредством фразы «без проблем».
Вы должны четко уяснить, что амбиции вполне допустимы, но лишь в том случае, если на первое место вы ставите планы компании и лишь на второе — свои планы. В первую очередь думайте о том, как будет лучше для бизнеса.
Учитесь управлять проектами. Основная причина неудач в процессе разработки программных продуктов заключается в неадекватном руководстве проектами. Наличие организационных навыков, ориентированных на управление проектами, есть основной залог успешной реализации последних. При организации проекта вы должны отталкиваться от опыта работы с предыдущими проектами — вне зависимости от того, насколько они были успешными или, наоборот, провальными. Наибольший воспитательный эффект мы получаем от неудач (хотя и успехи в этом отношении очень полезны).
Если в вашей компании нет специальной группы тестирования, организуйте ее. Старайтесь, чтобы в ходе цикла разработки программисты-новички занимались тестированием не меньше, чем программированием. Старайтесь чтобы сотрудники больше погружались в работу друг друга. Давайте им хоть ненадолго побыть в чужой роли. Допускать высказывания типа «тестирование — это не мое дело» нельзя. Программирование не ограничивается написанием кода, оно также предполагает обеспечение его реального функционирования. Это позволит сотрудникам перенять ценный опыт своих соседей.
Организуйте каждому программисту по рабочему месту размером хотя бы со спальню. Само собой, это не актуально для удалёнщиков.
В распоряжении любого программиста должен быть быстродействующий компьютер с максимально возможным объемом памяти и характеристиками. Программистам нужно предоставить полномочия администратора в отношении прав доступа и конфигурирования их собственных рабочих устройств.
Глава 5: Как вести совещания
Проводить совещания с сотрудниками каждую неделю нужно в одно и то же время. Не стоит отлынивать от этих встреч, даже если вы плохо себе представляете, что на них можно обсудить. На самом деле предмет для обсуждения найдется — нужно только каждую неделю придерживаться на совещании четкой повестки дня. (прим. - здесь речь идёт скорее про офисную работу, на удалёнке я бы рекомендовал проводить такие совещания ежедневно или через день).
Во время совещания делайте акцент на понятии «объектов поставки». Этим понятием обозначаются программы или продукты, поставляемые вашими программистами для публичного потребления. Нацеливайте сотрудников на то, чтобы они думали о продукте.
Совещание без реализации принятых решений на практике есть не более чем потеря времени. Кроме того, имеет смысл составить краткое письменное резюме проблем, обсуждавшихся на совещании, и выложить их в базу знаний своего проекта. Эта информация может понадобиться тем сотрудникам, которые по той или иной причине не смогли присутствовать на совещании, а также специалистам, только что присоединившимся к вашей группе и считающим необходимым ознакомиться с историей проекта. От себя могу добавить, что наиболее важные совещания можно записывать на видео.
Не растягивайте обсуждения: при продолжительности более 45 минут результат совещания может оказаться отрицательным.
Обязательно необходимо проводить периодические встречи one-to-one. К подобным беседам следует относиться с не меньшей серьезностью, чем к любым другим разновидностям совещаний. Планируйте их, делайте заметки и учитывайте специфику межличностных отношений с конкретным сотрудником. Результатом беседы должна стать выработка плана действий. Такие вопросы, как повышение заработной платы, повышение по службе, решаются исключительно в ходе бесед один на один. О самых ранних стадиях выгорания/усталости от работы и других проблемах вы узнаете со встречи one-to-one. Помимо прочего, во время встреч с сотрудниками «один на один» вы получаете возможность отслеживать работу над проектом и препятствия, с которыми подчиненные сталкиваются в своей деятельности.
Всегда обрисовывайте ваш отдел перед руководством в позитивном ключе. Никогда не сваливайте вину за срыв сроков на своих подчиненных. Помните, что ваш результат – это результат работы ваших сотрудников.
Проводите ретроспективные совещания. Степень эффективности и успеха ретроспективных совещаний обусловливается безопасностью сотрудников. Под безопасностью имеется в виду защищенность сотрудников от критики в рамках их группы. Чтобы сотрудник чувствовал себя в безопасности, он должен быть уверен, что за проявленную честность он не получит по ушам (например, не нарвется на отрицательную оценку во время следующего критического обзора). Проведя ретроспективное совещание в «безопасном» формате, вы получаете хорошие шансы почерпнуть довольно существенные сведения относительно недавно завершенного проекта. Эти знания, в свою очередь, позволят вам усовершенствовать процесс разработки. Проводя ретроспективные совещания по проекту, не поддавайтесь соблазну свалить все грехи на другие отделы. Попытайтесь выяснить, в каких областях вы сами и ваши сотрудники могли бы добиться более высокой продуктивности.
При проведении удалённых совещаний опасайтесь безоговорочно полагаться на принцип «молчание — знак согласия». Иначе говоря, если на принятое вами решение или донесенную вами информацию не поступает никаких комментариев, считается, что слушатели согласны с вашей позицией. Если вам приходится проводить телеконференции с людьми, с которыми вы ни разу не встречались, принимать молчание за согласие как минимум опрометчиво.
Начинайте совещания в оговоренное время, причем ждать, пока к нему подключатся все предполагаемые участники, не нужно. Если уж они пропускают важные сведения из-за собственной медлительности, пусть учатся на своих ошибках. Не стоит также и опаздывать с открытием совещания — во-первых, тем самым вы проявляете неуважение к собеседникам, во-вторых, демонстрируете непрофессионализм, в-третьих, подаете косвенный сигнал о том, что обсуждаемые вопросы на самом деле не так уж важны.
Помните, что на встречи с другими подразделениями могут прийти вовсе не технические люди. Проводя совещания с нетехническими специалистами, помните, что вы олицетворяете образ технаря. Пытайтесь доносить сложные идеи простым языком. Попытки произвести на бухгалтерских работников впечатление, жонглируя таинственными сокращениями, вряд ли прибавят вам уважения. На таких совещаниях ведите себя как педагог. В то же время исполняйте эту роль предусмотрительно, избегайте высокомерия. Учитесь организовывать сотрудничество технологий и бизнеса; при этом не забывайте, что доминирующую роль в этом союзе играет именно бизнес. Вряд ли вам как технарю это понравится, но такова реальность.
Глава 6: Философия и методы технического лидера
В этой главе мне особо ничего выделить. Здесь автор описывает правильные, на его взгляд, архитектурные практики, но так как книга была написана много лет назад, не вижу смысла здесь их как-то приводить или описывать.
Глава 7: Закат лидера
Все люди вокруг вас уже взрослые и состоявшиеся личности. Других вам не исправить. Это очевидное, на первый взгляд, обстоятельство очень помогает в процессе взаимодействия с окружающими.
Старайтесь не заниматься микроменеджментом (в некоторых книгах это называется «мелочная опека») Плохим этот стиль считается по одной простой причине — он являет собой полную противоположность качественному руководству, которое основывается на делегировании и проверке. Деятели, увлекающиеся мелочной опекой, сводят с ума не только окружающих, но и самих себя. Первопричина мелочной опеки кроется в убежденности руководителя в том, что никто не может выполнить работу лучше него. Прибавьте к этому страх допустить ошибку, и вы поймете, почему так много руководителей попадаются в эту ловушку. Помните, что руководитель призван обеспечить решение задачи силами своих подчиненных. Первое, что должен сделать лидер — это создать условия для полноценного делегирования. Тот, кто увлекается мелочной опекой, дискредитирует себя как лидера и как руководителя. Если практиковать мелочную опеку достаточно долго, вы рано или поздно достигнете предела продуктивности. Этот предел определяется, с одной стороны, вашей способностью делать работу за других, с другой — терпением ваших сотрудников, осознающих невостребованность своих талантов. Существуют ли обстоятельства, в которых мелочная опека допустима? Вероятно, да — в ночь перед сдачей проекта при условии, что вы в силах быстро внести исправления. Во всех прочих случаях этот стиль ограничивает деятельность лидера. Лидер должен культивировать в сотрудниках чувство сопричастности (как успехам, так и неудачам) и предоставлять им возможность творческих начинаний. Мелочная опека исключает такие перспективы. Сформулируйте план минимум — дайте каждому небольшое, не слишком важное задание и предоставьте возможность справиться с ним самостоятельно. Чем большую независимость в работе они будут проявлять, чем меньше им будет требоваться ваше непосредственное наблюдение, тем сильнее вы будете им доверять и тем более востребованными они себя почувствуют. На выстраивание доверительных отношений уходит время, но результаты того стоят.
Приложите все усилия к тому, чтобы настроить сотрудников на продуктивную деятельность — не распространяйте на них свои опасения о возможности неудачного исхода. Акцентируйте их внимание на сладости успеха, а не на горечи поражения. На самом деле, напоминать людям о незавидных последствиях неудач не стоит. Они это и так понимают. Сконцентрируйтесь на позитивной цели, и пусть ваши подчиненные спокойно работают в этом направлении.
Глава 8: Восход лидера
Уделяйте обучению и развитию своих сотрудников достаточное количество времени. Станьте наставником для них, а затем научите их самих обучать других. Обучая других обучать, мы приумножаем свои усилия и повышаем эффективность. Помимо этого, мы сам сильно повышаем свою квалификацию. Ведь нет лучшего способа самому разобраться в теме, тем рассказать о ней другому человеку. Наставничество помогает решить множество различных задач, и чем больше внимания вы ему уделяете, тем серьезнее отдача. Вы уяснили смысл этого хитрого выражения: «обучать других обучать»? Наставничество — это больше, чем преподавание, поскольку оно предполагает передачу педагогических навыков. Как сказал отец автора: «В колледже ты должен прежде всего научиться находить источники нужной мне информации и правильно с ними обращаться». Он был прав. Наставничество подразумевает обучение самообразованию при одновременной передаче знаний. Цель наставничества — воспитать лидеров не хуже самого наставника, а может быть, даже лучше него. Выберите из числа подчиненных самых многообещающих — тех, кого вы хотели бы видеть своими последователями, — и уделите их воспитанию максимум внимания. Делясь своими знаниями, старайтесь укреплять отношения с избранниками.
Вознаграждайте тех, кто этого заслуживает. Вы как лидер должны принимать решения о том, когда и в каком виде выдавать бонусы. Выбор широк: от повышения заработной платы до похода с отличившимся сотрудником в хороший ресторан или на какое-нибудь спортивное зрелище. Награда должна соответствовать достижениям и основываться исключительно на заслугах. За то чтобы сотрудники выкладывались на все сто, им платят: дополнительные поощрения должны распространяться лишь на тех, кто, превысив ожидания, прыгнул выше головы. Не забывайте, что вознаграждать нужно только тех, кто показал исключительные достижения, превысив все ожидания.
Старайтесь воспитывать в подчинённых чувство долга. Некоторые сотрудники следуют указаниям начальника просто потому, что не понимают, как можно этого не делать, — преданность у них в подкорке. Замечательно — вы должны поощрять такое отношение. С другой стороны, право называться боссом нужно заслужить, и одним лишь наличием должности здесь не обойтись. Высказывания о том, что сотрудники «обязаны следовать вашим указаниям», ни к чему не приводят. Это не более чем демонстрация грубой силы. Чувство долга формируется в человеке под воздействием личных и душевных факторов. Ему нельзя научить. Требовать его проявления в военных условиях допустимо, но в группе программистов подобное отношение практиковать не следует. Как лучше всего воспитать чувство долга в своих сотрудниках? Нужно культивировать в них ощущение гордости за свои коллективные достижения. Все хотят быть причастными к победам. Взгляните на фанатов команды-победителя. Они ведь не принимают участия в состязании, но результат переполняет их эмоциями. Ваша задача в роли лидера — сделать так, чтобы сотрудники воспринимали долг перед командой, состоящей сплошь из выдающихся личностей, как высшую честь.
Во всем, что вы делаете, необходимо соблюдать пять основных принципов лидерства:
· Понимание. Определитесь с тем, куда вы идете.
· Передача знаний. Делитесь своими знаниями — так, чтобы подчиненные все поняли.
· Делегирование. Общие задачи нужно решать общими усилиями.
· Проверка. Проверяйте свои действия и то, что делают ваши подчиненные в контексте достижения поставленных целей.
· Участие. Погружайтесь в работу с головой — будьте примером для остальных.
Не забывайте о «надстройке» над основными принципами. Свое развитие основные принципы лидерства получают в следующих областях деятельности.
· Наставничество. Учите окружающих учить.
· Вознаграждение. Награждая сотрудников за выдающиеся результаты, вы сможете создать ситуацию, в которой одни успехи естественным образом выливаются в другие.
· Исправление. Помогая сотрудникам учиться на собственных ошибках, повышайте их квалификацию.
· Предвидение. Предугадывайте проблемы, пока они не ударили по вашей команде, — это станет хорошим стимулом для окружающих.
· Адаптация. Совершенствуйтесь, извлекая уроки из собственных ошибок.
Глава 9: Как ужиться с начальством
Войдите в положение начальника — он в своей работе подвергается серьезному давлению. Первой реакцией на его замечания должно быть согласие, однако если у вас есть разумные и обоснованные предложения, выскажите их.
Честность в общении с начальником в любом случае предпочтительнее нереалистичных обещаний — пусть даже она иногда приводит к не слишком приятным последствиям.
Если вам нечего противопоставить замечаниям начальника, признайте поражение. Не стоит «вешать ему лапшу на уши» в попытках замаскировать собственные огрехи.
Глава 10: Слова без песни
В этой главе я бы выделил наверное одну ключевую мысль. Лидерство иногда приводит к ощущению одиночества. Это необходимо принять.