Дж.Ханк Рейнвотер - Как пасти котов. Наставление для программистов, руководящих другими программистами
Руль
Кораблем управляют с помощью руля. Чем управляется ваша профессиональная деятельность? В идеале она должна основываться на двух важнейших императивах: «сконцентрируйся и лидируй!» По мере совершенствования лидерских качеств и преследуя цель производства отличных программных продуктов, не забывайте о том, что повышать концентрацию нужно постоянно. Ищите любую возможность попрактиковаться в деле лидерства – если не закрывать глаза на окружающий мир, такие случаи будут подворачиваться на каждом шагу. Все принципы и методики, рассмотренные на предшествующих страницах, направлены на достижение одной-единственной цели: помочь вам стать лидером и совершенствоваться в этом качестве. Чтобы выделить время на лидерскую деятельность, нужно предварительно достичь определенных высот на ниве руководства – таким образом, сконцентрировавшись на неотложных и наиболее значительных приоритетах, вы должны проявить себя хорошим организатором. Именно в этом заключается смысл «концентрации» – умение не отвлекаться на внешние раздражители помогает уделять максимум внимания решению самых важных задач.
Сфера вашей деятельности весьма обширна – вам предстоит заниматься разными делами, причем некоторые из них очень интересны. Раздражители, помимо прочего, появляются из-за неверного выбора технологий для решения коммерческих задач. Вы должны научиться отметать не подходящие для достижения вашей компанией успеха решения (пусть даже они, по идее, очень хороши) в пользу действительно необходимых вариантов. Подобная систематизация достигается путем планирования и реализации плана. Устранению раздражителей помогает также правильная организация административной деятельности. Внешне прибранный рабочий стол свидетельствует о структурированности мысли, а беспорядок, напротив, выражает неопределенность по поводу приоритетов. Обратите внимание: я сказал «внешне». На самом деле, важнее всего ваше внутреннее отношение к рабочим вопросам.
Вступив в бой с процессом разработки, вы будете вынуждены пересмотреть свою систему приоритетов. Стоят ли люди на первом плане в вашей иерархии ценностей? Они должны быть именно там – в конце концов, никто кроме людей не напишет для вас код. Чем внимательнее вы будете относиться к своим сотрудникам, тем больше вероятность, что они станут воспринимать ваши задачи как свои и делать все для их решения. Многие считают так: «я работаю на компанию такую-то». Этого мало – нужно, чтобы они говорили: «я работаю на ____ (впишите сюда ваше имя)». Преданными люди становятся не сразу – для того чтобы сформировать в них это качество, необходимо постоянно терпеливо принимать участие в их рабочей жизни.
Парус
Ветер надувает паруса, заставляя корабль двигаться. Атмосфера в индустрии разработки программных средств отличается динамичностью, поэтому «ветров» в ней бушует предостаточно. Способность идти (в зависимости от ситуации) по ветру или против ветра есть необходимое условие продвижения в верном (в контексте целей вашей компании) направлении. От того, к какому «лагерю» вы принадлежали в бытность занятий программированием, ничего не зависит – имейте в виду, в последние десять лет бури дули часто и сильно.
Если вы привыкли ориентироваться на продукцию Microsoft, значит, ветры больше всего дули с северо-запада. Направление ветров за последние несколько лет можно определить – все они явились результатом тщательного (и не очень) планирования. В чем, по-вашему, смысл Windows 98 Second Edition? А как насчет бесчисленных служебных пакетов для Visual Studio? Сможете ли вы навскидку припомнить все номера вышедших в свет версий ADO? Пробовали ли вы запускать утилиту от Microsoft, определяющую наиболее подходящую для конкретной машины версию ADO[138]? Не успели вы привыкнуть к Windows 2000, как на рынке появляется Windows ХР (более дорогая) – так ведь? Каждая последующая версия Visual Studio знаменует для программистов VB смещение парадигмы и обещает кардинальным образом изменить методы написания кода.
Изменения не обошли стороной сообщества Java и С++, и, скорее всего, ими дело не ограничится. Компания Sun несколько лет держала название своего нового языка в секрете – собственно, оно шло вразрез с традицией именования языков. Первоначально язык предполагали назвать «Оак», но, как оказалось, это имя уже занято. Судя по всему, имя «Java» придумали с расчетом на то, чтобы «встряхнуть» быстро развивающийся рынок разработки интернет-проектов. И, действительно, все мы почувствовали встряску. Кроме того, есть пространство CORBA и СОМ. Или, возможно, CORBA и СОМ+? Или CORBA и SOAP? Кто знает – может, сформировавшуюся брешь закроет XML? Ну, в общем, вы меня поняли…
В условиях постоянного ужесточения бизнес-требований и развития технологий изменения неминуемы. Пользователи едва успевают за этой динамикой, не говоря уже о программистах (ваших, моих, пашущих на Microsoft и проч.), которые часто повторяют собственные ошибки. Все эти условия благоприятствуют сильным ветрам.
Для того чтобы устоять в бурю, нужно постоянно стремиться к созданию качественных программных продуктов и регулярно повышать планку этого самого «качества». Вам придется утрясать сроки с начальством, препираться со специалистами по анализу рынка насчет задач, на решение которых способен тот или иной продукт, как-то разбираться с недостатками сетевой инфраструктуры… Этот список можно продолжать бесконечно. Ничего удивительного в том, что продукты нашей деятельности зачастую несут оттенок незаконченности. Дело даже не во впечатлении – они действительно являются таковыми. Вероятно, лишь в идеальном мире можно было бы создать условия для производства абсолютно безошибочного продукта. Впрочем, на пути к идеалу мы движемся слишком медленно – непозволительно медленно. Сосредоточьтесь на качестве, и вы сможете завоевать уважение коллег и успех на рынке.
Для того чтобы постоянно поднимать планку «качества», нужно быть увлеченным своей работой – только при этом условии, кстати говоря, ваши лидерские начинания имеют шанс на развитие. Именно увлеченность позволяет удерживаться на плаву в шторм. Увлеченность формируется за счет баланса рабочей деятельности, с одной стороны, и приятных для вас мелочей жизни, с другой. Невоздержанность в той или иной сфере жизни приводит к потере увлеченности, а следовательно, к усталости и краху. Старайтесь удержать увлеченность работой и любовь к жизни – превращайте все свои начинания в увлекательные приключения.
Еще один момент касательно «баланса». В современных рабочих условиях баланс предстает в виде «смешения». Это утверждение особенно справедливо по отношению к удаленным сотрудникам – вне зависимости от того, работают они полный рабочий день или садятся за кодирование вечерами. При наличии карманных компьютеров, ноутбуков, постоянных интернет-соединений через виртуальные частные сети и прочих инструментов нашей деятельности появляется возможность не покидать рабочее место. «Балансирование» в таких условиях предполагает проведение 15 часов кряду в одном и том же месте – там, где можно заниматься и работой, и личными делами. Как организовать для себя отдых – необходимое условие «подзарядки» мозгов? Ничего определенного на этот счет я сказать не могу, но отдыхать необходимо – иначе вы рискуете потерять увлеченность и, в конечном итоге, «сгореть». Если топлива не осталось, зажечь огонь заново не так-то просто.
Якорь
Якорь придает нам устойчивость, и время от времени мы к нему прибегаем. Одно лишь наличие якоря на борту позволяет чувствовать себя спокойно даже в штормовую погоду. Роль якоря в нашей профессии исполняют лидерские навыки. Выпас котов – деятельность, которой я с помощью этой книги пытаюсь вас научить, – предполагает проявление лидерских качеств на уровне «выше среднего программиста». Программист в силу особенностей своей профессии сориентирован на объекты, которыми можно управлять. Создавая объект с определенным количеством открытых интерфейсов, мы ожидаем, что при обращении из другого объекта проявят себя только они. Люди устроены немного по-другому. За некоторый период времени они могут несколько раз сменить маску, а в экстренных ситуациях – измениться до неузнаваемости. Ваша задача – научиться работать с людьми в их самых необычных обличьях, с тем чтобы выстроить их однонаправленную деятельность. Относительно направления, в котором всем предстоит двигаться, вы не должны испытывать никаких сомнений. Кроме того, вам нужны факторы притяжения (attractors). Я в данном случае не имею в виду хитрые конструктивы из теории хаоса. Я о более простых вещах – необходимо научиться привлекать к себе людей за счет уверенного лидерства. Даже самый талантливый руководитель на это не способен. Творческому и продуктивному программисту это тоже не под силу. Но, сосредоточившись на развитии в своем характере лидерских качеств, вы сможете добиться в этой области нужного результата. Дело не в методиках. Совершенствовать методики позитивного мышления можно сколько угодно – привлекательными для сотрудников они все равно не станут. Незаменимым в этом отношении оказывается великолепие последовательного и продуманного лидерства.