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