Человеческий фактор в программировании

ОглавлениеДобавить в закладки К обложке

57Наставничество

Наставничество. В постмодернистском языковом смешении, где каждому существительному грозит превращение в глагол, а каждому слову, обозначающему действие, — номинализация, глагол «наставлять» означает довольно интересную деятельность. Наставник — это, конечно, учитель. Но это не просто учитель, а еще и руководитель, мастер — отчасти консультант, отчасти тренер, отчасти коллега. В некоторых областях разработки программного обеспечения тренерская помощь стала почти столь же популярной, как и наставничество. «Тренинг» — даже более подходящее слово, которое произносить намного легче. Попробуйте прислушаться к разговору консультантов на какой-либо конференции. Скорее всего, вы услышите, что они больше не занимаются консультированием. Вместо этого они обеспечивают «наставнический и тренировочный процесс». Вот это да!

По словам известного эксперта Эда Йордона (Ed Yourdon), наставничество стало признаком культуры компании Microsoft и краеугольным камнем ее подхода к улучшению программного обеспечения. В соответствии с этим подходом за новыми работниками закрепляется персональный наставник, который проверяет каждую строчку их кода. А «наставляемый» читает каждую строку кода, написанного наставником. Это, как нам говорят, является живым подтверждением стремления к качеству и совершенствованию рабочего процесса на большом ранчо в Редмонде.

Нелли знала

Не желая ни славить, ни хоронить Цезаря, я воздержусь от общераспространенного бичевания Microsoft и вместо этого обращу больше внима-ния на то, чем является и чем не является наставничество. Во-первых, оно не ново. Несмотря на неологическое одеяние, представляющее наставничество как часть общего движения к совершенствованию качества и улучшению рабочего процесса, это старая идея. Наставничество — это модель «мастер-ученик» без узаконенного рабского служения. Это «переодетая» версия метода «сядь рядом с Нелли», который ранее применялся в разработке программного обеспечения. Эд Йордон и я даже писали об этой простой методике в первом издании «Structured Design» (Структурное проектирование) (Yourdon и Constantine, 1974 [70]). Новому программисту говорят: «Сядь рядом с Нелли. Она знает, как программировать». Как мы объяснили впоследствии, это симптом проблемы. Так как никто точно не знает, как Нелли удается хорошо программировать, и даже она сама не может толком это объяснить, то самый лучший способ поучиться у нее — это сесть рядом и смотреть, как она пишет код.

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

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

К этому времени Нелли уже стала прабабушкой, а все попытки программировать, которые она совершает, заключаются в том, чтобы записать на видеомагнитофон все четыре выпуска последних новостей на PBS. Тем не менее в компьютерной отрасли есть еще очень много программистов и разработчиков, которые хорошо делают свою работу, но даже под угрозой увольнения не могут объяснить, как. И чем ближе вы подходите к линии фронта, переднему краю методов, тем больше в этом убеждаетесь. На одной конференции в Сиднее (Австралия), посвященной объектно-ориентированному проектированию, наставничество упоминалось на каждом углу. На презентациях и в комментариях из зала о нем говорили как о золотом пути к мастерскому владению объектной технологией. Наверное, не случайно о наставничестве больше всего говорят тогда, когда речь заходит о новейших технологиях, а надежная опора почти не видна. Теория, методики и инструменты больше всего отстают от задач и существующей практики в тех областях, где внедряются передовые технологии. Там, где могут быть драконы, нужны хорошие наставники.


Логин
Пароль
Запомнить меня