Fortuneруководитель службы подбора персонала MicrosoftДэвид Причард. Степень креативности Microsoft,как и любой другой компании, определяется в первую очередь творческими способностями и способностью к инновациям работающих в ней людей. Корпорация Microsoftочень четко представляет, каких людей нужно привлечь для работы, и у корпорации достаточно денег, чтобы этого добиться.

Разработчики, менеджеры программ, тестеры

   Подобно Нью-Йорку, корпорация Microsoftстолкнулась с проблемой масштаба раньше, чем ее менее крупные конкуренты. В корпорации Microsoftпрограммисты, которых там называют разработчиками или инженерами по дизайну программного обеспечения (SDE — software design engineers), всегда были «сердцем» корпорации. Долгое время они, собственно, и быликомпанией. В ранние дни Microsoftпрограммировали все ее сотрудники. Билл Гейтс лично занимался подбором сотрудников. Он проводил у себя дома «вечеринки для кандидатов на работу». Он сам интервьюировал каждого кандидата. Он полагал, что один из лучших способов оценить способности программиста — увидеть написанные им программы.
   Гейтс не хотел принимать на работу людей, которые не были программистами [73]. Он считал, что основа деятельности компании — программирование, поэтому самое важное — привлечь для работы в ней отличных программистов. Пол Аллен в свое время предлагал, чтобы компания занялась и производством аппаратных компьютерных средств — «железа», но Гейтс запретил это делать. Стив Боллмер хотел принять на работу непрограммистов — людей, которые бы занимались продажами программных продуктов. «Ты что, хочешь меня обанкротить?» — спросил у него Гейтс.
   Наем разработчиков был и остается рискованным бизнесом. Пepвой продукцией Microsoftбыла версия компьютерного языка BASIC для компьютера Altair 8800, который любители сами собирали из набора деталей. Так у Microsoftпоявилась первая монополия на программное обеспечение для платформы Altair 8800, но это продолжалось недолго. Вскоре эти «самопальные» компьютеры оказались в мусорных бачках, так как были вытеснены следующей важной новинкой — собранными на фабрике и готовыми к работе персональными компьютерами.
   С тех пор процессоры и наборы инструкций для них менялись почти каждый год, то же происходило и с языками программирования высокого уровня, которые используются для разработки программного обеспечения. Не было смысла тестировать программиста-разработчика на знание конкретного языка программирования, так как высока была вероятность, что компания вскоре станет использовать другой язык. В такой ситуации важным качеством стала гибкость.
   Основная цель Microsoftпри подборе персонала — найти «клонов Билла». Так на жаргоне компании называют молодых людей, таких же интеллектуальных и амбициозных, как Гейтс, но не обладающих пока опытом практической работы. Специалисты по отбору персонала Microsoftгордятся тем, что они в первую очередь умеют находить людей, которые обладают большим потенциалом, а не только тех, кто уже и так многого добился.
   Именно такая философия подбора персонала создает «невидимый барьер» между сотрудниками Microsoftи других компаний. Корпорация Microsoftсчитает себя эксклюзивным клубом очень умных людей. Две «эмблемы», два символа этого клуба — интервью на сообразительность и фондовые опционы для сотрудников компании. Для справки: не все, кто работает в комплексе Microsoftв Редмонде, сотрудники корпорации. Уборка территории, прием посетителей, обеспечение безопасности, почтовые услуги, обслуживание кафетериев и производство компакт-дисков — всем этим занимаются другие нанятые для этой цели компании. Сотрудникам этих компаний совсем не нужно отвечать на загадки вроде «Сколько раз в течение дня перекрываются стрелки часов», не получают они и опционов на приобретение акций.
   Практика приема на работу Microsoftвсегда была осторожной, как и сам Билл Гейтс. Гейтс хотел быть уверенным, что каждый сотрудник, которого он нанимает, может отлично справиться с тем, что входит в его обязанности. Программисты должны были во время интервью писать программы, они также должны были подтвердить свои способности, решая задачи и головоломки.
   Поначалу эта практика казалась такой же экстравагантной, как применявшееся Шокли тестирование интеллекта. Многие кандидаты на работу считали (и продолжают считать), что требования писать во время интервью программы и решать головоломки и задачи унизительны. Но как известно всем, кто смотрел телевизионные шоу, если люди слышат достаточно громкий «звон монет», они, как ни удивительно, могут согласиться совершать публично самые унизительные и нелепые вещи. Кандидаты на работу в Microsoftготовы пройти жесткое интервью, потому что знают, как много работников Microsoftстали мультимиллионерами, когда им едва перевалило за тридцать. Благодаря влиянию Microsoftсегодня задачи на программирование и решение головоломок стали обычной практикой интервьюирования кандидатов на работу в отрасли программного обеспечения.
   С точки зрения Microsoft,головоломки тестируют не только интеллект, но и мотивацию, и амбиции. Как бизнес и спорт, решение логических задач делит людей на две категории: победителей и проигравших. Вы или находите правильный ответ, или нет. Как скажет вам любой спортивный тренер, для победы недостаточно одних только способностей. Вы должны быть «голодными» — хотеть выиграть.
   Ситуации, которые предлагаются в головоломках, почти всегда глупые и неуместные. Все, что может предложить головоломка, — вызов. Для некоторых людей уже этого достаточно. Подобно альпинистам, поднимающимся на горные пики просто потому, что они есть, они ищут решение головоломок, потому что головоломки существуют. Есть ощущение, что люди, хорошо решающие головоломки, обладают не просто хорошими интеллектуальными способностями, но и мотивацией ответить на любой брошенный им вызов.
   Кризис наступил, когда программные продукты стали слишком большими и трудоемкими, чтобы с ними мог справиться один человек. Операционная система MS-DOS 1.0 была в основном придумана, написана, компилирована и отлажена одним автором — Тимом Патерсоном. По мере того как программные продукты становились более сложными, появилась необходимость разделить pa6oту над ними между двумя и более разработчиками. Это проще сказать, чем сделать. Фрагменты программы, написанные разными программистами, не удастся объединить, если только они изначально не были созданы для этой цели. Необходим постоянный диалог между разработчиками и поиск способов разрешения разногласий, которые неизбежны, когда определяется более «легкий» способ выполнения работы. «Коммуникабельный» и «легкий в общении» — это не те личностные черты, которые вы часто обнаружите у программистов-разработчиков. Такие люди не склонны к общению — обычно они пишут программы в одиночестве и по ночам. Это было большой проблемой.
   Одним из людей, которых позвали, чтобы они помогли решить эту проблему, был Чарльз Симоньи. Симоньи — знаменитый ученый-специалист в области компьютеров, который предпочел работать в сфере бизнеса, что иногда выглядит в глазах академических ученых подозрительно. Работая в компании Xerox PARC,Симоньи написал первую полнофункциональную программу — текстовый редактор. Его раздражало отсутствие интереса корпорации Xeroxк маркетингу операционной среды Windowsи компьютерной мыши, которые были изобретены в его лаборатории. Во время деловой поездки в Сиэтл Симоньи без предварительной договоренности нанес визит в Microsoft.Тогда процедура приема на работу в этой корпорации была проще, чем сейчас. Один из «чиновников» (это был Стив Боллмер), просмотрев резюме Симоньи, решил, что ему стоит встретиться с Биллом. Гейтс в это время был на совещании и к тому времени, когда он освободился, Симоньи уже было пора в аэропорт, поэтому Гейтс поехал туда вместе с ним, чтобы побеседовать по дороге. У них сразу установились взаимопонимание и личная симпатия. Вскоре Симоньи получил приглашение работать в Microsoftи принял его.
   Решением, которое Симоньи предложил для проблемы сотрудничества нескольких разработчиков, было учредить новую должность, которую назвали «мастер-программист». Она чем-то напоминала средневековых ремесленников: именно на «мастере» лежала полная ответственность за разработку дизайна программы и ее написание. Под руководством мастера должна была работать команда ассистентов-«подмастерьев». Их задачей была отладка и оптимизация программы.
   В этом был смысл, но возникли сложности из-за типичных личностных особенностей разработчиков программ. Каждый из них хотел быть именно мастером-программистом. Никто не хотел стать «крепостным», как прозвали ассистентов. Поскольку для каждого программного продукта назначался только один мастер-программист (именно это было основным смыслом этой должности), большинство программистов должны были выполнять черную работу.
   Благодаря известной тенденции Microsoftвсе доводить до крайности, идея мастера-программиста очень быстро себя исчерпала. Программные продукты скоро стали такими объемными, что с ними уже не мог в одиночку управиться даже мастер-программист. Была еще одна более фундаментальная проблема: мастер-программист не всегда оказывался способным разработать удачный дизайн программного продукта. Поскольку программы становились все более изощренными, становилось все более важным приспособить их к потребностям клиентов, а эта задача существенно отличалась от собственно программирования. Для одного человека одновременно решать обе эти задачи было непосильным трудом. Конечно, случается, что отличный корректор одновременно оказывается и талантливым драматургом, но все же если вы наняли человека на работу для выполнения одного круга обязанностей, а затем поручаете ему что-то совсем другое — вас, вероятно, будет ждать разочарование.
 
   Титул «мастер-программист» никогда широко не использовался — уж слишком патриархально он звучал даже для компании, переполненной «визжащими доминантными мужскими особями», поэтому название изменили на более нейтральное — «менеджер программы». Теперь именно оно стало стандартным для всей отрасли программного обеспечения, но сегодняшним пониманием обязанностей менеджеров программ мы в основном обязаны создателю электронных таблиц ExcelДжейбу Блюменталю.
   Подобно многим бывшим сотрудникам Microsoft,сделав в этой корпорации солидное состояние, Блюменталь покинул ее, чтобы посвятить себя самым разнообразным занятиям в своей «постмайкрософтовской» карьере. Блюменталь руководит школой обучения параглайдингу — полету на парашютах — в Каскадных горах, а также преподает математику и физику в школе Lakeside,которую он когда-то окончил (Билл Гейтс также выпускник этой школы). Ключевым «озарением» Блюменталя стало то, что менеджерам программы не обязательно знать программирование. Он решил, что основное для этого человека — представить себе, как должен выглядеть и какими свойствами должен обладать будущий программный продукт. Менеджер программы должен написать не сам код программы, а ее спецификацию (в корпорации ее называют для краткости «спек», spec), в которой описываются эти представления. Следующая задача менеджера программы — руководить разработчиками-программистами, чтобы они точно и в срок воплотили спецификацию в программном продукте.
 
   Отношения между менеджерами программы и разработчиками довольно странные: с точки зрения разработчиков, именно они делают реальную, тяжелую и полезную работу, а менеджер программы — это «низшая форма жизни» [74], получающий непонятно за что кучу денег, несущий всякую чушь тип с зализанным пробором, похожий на пресловутого «бос-с-а» из серии карикатур о Дилберте.
   А вот по мнению менеджеров программ, именно они делают творческую работу, а программисты — чисто техническую. Менеджер программы «играет на рояле», разработчики — это те ребята, которые его перетаскивают.
   Учитывая такую разницу в восприятии, совсем не удивительно, что авторитет менеджеров программ достаточно неустойчив. Менеджеры программ дипломатично сравнивают свою работу с попыткой пасти стаю котов. Разработчики (их гораздо больше, чем менеджеров) более открыто выражают свое презрение последним. Их любимая шутка: «Зовите менеджера программы каждый раз, когда возникает задача, соответствующая их уровню компетентности — например, когда нужно заказать пиццу». Разработчик Адам Дэвид Барр вспоминает совещание в Microsoft,на котором докладчику не удавалось показать нужные слайды на большом проекционном экране. «Что, разве нет ни одного менеджера программы под рукой? [75]» — выкрикнул кто-то. Все захихикали.«А что, не хватает еще одного игрока в гольф?» — спросил кто-то еще. Раздался дикий взрыв хохота.
   Еще одна важная должность в Microsoft— это тестер. Необходимость тестеров — это также отражение сложности современного программного обеспечения. Раньше разработчики сами тестировали и отлаживали свои программы. Им помогали в этом бета-тестеры — добровольцы, не работавшие в корпорации, но готовые помочь в проверке предварительных вариантов программного обеспечения и сообщить о его недостатках, чтобы потом получить скидку при покупке готового продукта. Сегодня отладка программ — это такая сложная задача, что для ее решения требуются специальные эксперты. В корпорации Microsoftработают сотни людей, единственная задача которых — искать сбои и недостатки в программах, написанных другими людьми.
   Тестеры разными способами «мучают» программы, например добавляя все новые колонки к электронным таблицам, пока программа не даст сбой, или открывая все новые и новые окна, пока система не «зависнет», или имитируя атаки вирусов и хакеров. В отличие от менеджеров программ тестеры должны разбираться в программировании. Они часто пишут специальные программы для тестирования программных продуктов. Конечно, ни одна из подобных программ не попадает на рынок.
   Есть один пункт, по которому у менеджеров программ и разработчиков единое мнение: и те, и другие смотрят на тестеров свысока. Быть тестером — это все равно что оказаться единственным зубным техником в отделе, где все остальные — дипломированные врачи. Все будут усмехаться: «А, это тот парень, который не сумел поступить в нормальный медицинский институт». Действительно, работа тестера вряд ли может помочь принести уважение и почет. Тестеры сами не исправляют обнаруженные ими сбои и недостатки — они только сообщают о них разработчикам, чтобы те смогли их исправить.
   Хорошо. Вероятно, тестирование не предъявляет таких высоких интеллектуальных требований, как другие виды работ. Что с того? В корпорации Microsoftтакая конкурентная атмосфера, что никто не может себе позволить признаться, что он менее сообразителен и вообще «менее» в чем бы то ни было.Тестеры очень заботятся о своем статусе в корпорации, и на официальном уровне Microsoftстарается, насколько это возможно, не подчеркивать различия между тремя упомянутыми выше должностями и профессиями. «Если вы когда-либо отважитесь даже намекнуть, что тестерам не нужен такой же высокий уровень компетентности, как разработчикам или менеджерам программ, на вас сразу же прикрикнут» [76], — говорит Адам Дэвид Бэн. Менеджеры корпорации и сотрудники отдела персонала настаивают на том, что и разработчики, и менеджеры программ, и тестеры — все одинаково умны, способны к творчеству и амбициозны. Они даже разработали особую «мифологию», которая позволяет объяснить те проявления неравенства, которые невозможно отрицать. Суть ее в том, что у каждой из трех групп сотрудников есть свои особые таланты. Это «разные» таланты, но благодаря мистическому стечению обстоятельств, все они «одинаково важны». Это утверждение, по мнению Барра, полная выдумка и не соответствует действительности. [77]
   Наиболее изощренным является миф о тестерах. Что можно сказать о таланте «обрушивать» Ехсеl? Грант Джордж, вице-президент по тестированию продукции, так говорит об этом: «Наиболее успешные тестеры просто думают по-другому, не так как разработчики и менеджеры программ. Мы постоянно критикуем и высказываем мнение о качестве всего, что мы видим, к чему прикасаемся и с чем входим в контакт или используем в своей повседневной жизни. Мы живем для того, чтобы критиковать и улучшать… Господи, благослови нашу отрасль и Microsoft.Какой замечательный способ использования нашей страсти добиваться во всем отличного качества для совершенствования продукции, которую используют миллионы людей!» [78]
   Джордж не единственный человек, высказывающий подобную точку зрения, которую можно обобщить так: «У тестеров всегда есть свое мнение, а у других людей — не всегда».
 
   Это усиливающееся разделение труда вызвало (или ускорило) изменения политики найма корпорации Microsoft.Немногие люди поступают в университеты, намереваясь стать менеджерами программ или тестерами. Не все люди, которые занимают эти должности, получили дипломы специалистов по компьютерам или программированию. Вы не всегда можете попросить потенциального кандидата на должность менеджера программы написать во время интервью компьютерную программу, потому что некоторые из этих людей — обладатели дипломов филолога — специалиста по английскому языку.
   Итак, как вы определите, можно ли считать непрограммистов «клонами Билла»? Один из способов — использовать задачи, головоломки и гипотетические проблемные ситуации. Для потенциальных менеджеров программ и тестеров, так же как и для легионов агентов по продажам, канцелярских работников и других кандидатов на работу, головоломки стали важным средством оценки их способностей.
   Многие из этих задач — классические логические головоломки, другие вопросы направлены на то, чтобы оценить кандидата на конкретную позицию. Некоторые из вопросов, которые люди со стороны посчитают наиболее эксцентричными, например: «Какой из пятидесяти штатов США следовало бы упразднить? В какую сторону должен поворачиваться ключ в замке автомобиля?» — относятся именно к этой категории. Они в основном проверяют, сумеет ли кандидат найти какое-то решение и внятно его объяснить.
   Джейб любил просить кандидатов на должность менеджера программы нарисовать эскиз дома. Иногда кандидат после этого подходил к доске и рисовал на ней квадрат. Это, по мнению Блюменталя, было одним из худших вариантов ответа: ведь дом мог быть каким угодно. В реальности вы никогда не начнете строить дом, не спросив сначала, кто будет за это платить и сколько денег, места и времени имеется в распоряжении. Кандидат, который начинал рисовать эскиз, не задав все эти вопросы, обычно отвергался.
   В таких задачах самая важная вещь — правильный «алгоритм». Алгоритм — это точный поэтапный метод действий, который лежит в основе любой компьютерной программы. В данном случае на жаргоне интервьюеров это способ, при помощи которого кандидат пытается ответить на общий и сложный вопрос. Первый шаг хорошего алгоритма для ответа на подобные вопросы — попытаться получить дополнительную информацию от интервьюера. Те, кто этого не делает, наказываются. Один из коллег Блюменталя, Джоэл Спольски, обычно прерывал тех, кто начинал с черчения прямоугольников: «Вообще-то, вы позабыли спросить об этом, — говорил он, пока кандидат наносил финальные штрихи на своем плане, — но это дом для семейства пятнадцатиметровых слепых жирафов» [79].

Умные люди, которые не добиваются результата

   Одним из менее значимых достижений Спольски было изобретение им для интервьюирования кандидатов на работу в Microsoftвопроса: «Как вы стали бы изготовлять конфеты M&M's?» Спольски, теперь генеральный директор компании Fog Creek Softwareв Нью-Йорке, одновременно и вдумчивый сторонник, и критик методики интервьюирования, применяемой в Microsoft.
   По мнению Спольски, две основные проблемы, которые должна решать методика интервьюирования: выявлять людей, которые умны, но не добиваются результата,и людей, которые добиваются результата, но не умны. [80]Компаниям, которые работают в высококонкурентной отрасли, нужно стараться не принимать на работу ни тех, ни других.
   «Люди умные, но не добивающиеся результата, обычно обладают ученой степенью и работают в больших компаниях, где никто их не слушает, потому что они абсолютно непрактичны, — объясняет Спольски. — Люди, которые добиваются результата, но не умны, будут делать глупые ошибки, не утруждая себя раздумьями, а потом кому-то придется после них все переделывать».
   Эти два типа людей бывает трудно отличить от тех, кого вам стоит нанять на работу: людей, которые и умны, и добиваются результата.(Меньше проблем с людьми, которые неумны и не добиваются результата,— таких людей обычно легко идентифицировать.)
   Логические головоломки и вопросы на проектирование могут быть полезны, потому что их можно считать моделями проблем, с которыми сталкивается любая компания, работающая в инновационном бизнесе. В отрасли разработки программного обеспечения вам нужно генерировать массу новых идей, решать, какие из них стоит разрабатывать, реализовывать и, наконец, выпускать продукт на рынок.
   То, за чем Спольски следит во время интервью особенно внимательно, — это способность принять окончательное решение. «Иногда кандидат колеблется, меняет свое решение или пытается уйти от трудных вопросов. Иногда он оставляет трудные вопросы без ответа и пытается двигаться дальше. Это нехорошо» [81].
   После стадии «брейн-сторминга», когда у кандидата появляется нескольких идей, он должен выбрать из них самую перспективную. Это тест на критическое мышление. Затем кандидату нужно поработать над дополнительными деталями и рассуждениями, нужными для того, чтобы развить избранную идею и получить полный ответ. Важно, чтобы все недостающие звенья были найдены, а противоречия разрешены.
   «У хороших кандидатов есть способность двигаться вперед, — говорит Спольски, — даже если вы пытаетесь им в этом помешать. Если ваша беседа с кандидатом „зацикливается“, и тут кандидат говорит что-то такое: „Итак, мы можем говорить на эту тему целый день, но нужно что-то делать, поэтому давайте остановимся на решении X“, — это действительно хороший знак» [82].

Ходячий труп

   В Сиэтле был дождливый четверг, когда туда приехал Карл Ташиан. Он отстоял длинную очередь в отеле Marriot,и, наконец, клерк выдал ему ключ от номера и вычеркнул его фамилию из списка. Когда он отправлялся в свой номер, то услышал, как другой кандидат назвал свою фамилию и еще раз услышал скрип ручки, вычеркивающей ее из списка.
   На следующее утро Ташиану пришлось ждать полчаса в холле корпуса 14 комплекса зданий Microsoft.В зоне ожидания была кабинка с компьютером внутри, а на ней объявление крупными буквами: ИССЛЕДУЙ! Но экран компьютера не светился и на мониторе была приклеена записка: НЕ РАБОТАЕТ. На телевизоре, настроенном на канал MSNBC, была еще одна записка: ПОЖАЛУЙСТА, НЕ ПЕРЕКЛЮЧАЙТЕ КАНАЛ.
   Сотрудник отдела персонала Microsoftсообщил Ташиану, что ему предстоит четыре интервью. Первый интервьюер был похож на выходца из Восточной Европы — небритый, в нейлоновом тренировочном костюме. Он не стал тратить драгоценное время компании на любезности, протянул Ташиану карандаш с резинкой и заявил: «Вы начнете с легкой задачи. У вас есть bкоробок и nдолларов. Eсли мне понадобится любаясумма денег от нуля до nдолларов, вам нужно будет передать мне от нуля до bкоробок так, чтобы я получил точнотакую сумму, которую я запросил».
   Ташиана спросили, как он распределит деньги по коробкам для того, чтобы решить задачу, и потом, какие необходимы ограничения для bи n.Ташиан немного подумал и дал верный ответ. Интервьюер потребовал от него «математического доказательства», что именно это верный ответ. «Это алгебраическая и геометрическая прогрессия?» — спросил интервьюер. Ташиан попросил интервьюера уточнить задание, но услышал: «Нет».
   К тому времени, когда у интервьюера иссякли все его каверзные вопросы, Ташиану стало казаться, что он провалился, несмотря на то, что он дал верныйответ. Он также был уверен в том, что не понравился этому интервьюеру.
   По сравнению с этим первым интервью второе и третье показались ему просто легкой прогулкой. Интервьюер номер два был более дружелюбным и даже потратил немало времени, рассказав о целях текущего проекта своей группы. Вопросы третьего интервьюера были такими легкими, что Ташиан даже начал опасаться, не считают ли интервьюеры его туповатым. Когда это интервью закончилось, ему предложили подождать в холле, пока не начнется финальное интервью.
   Через некоторое время снова появился третий интервьюер и сообщил Ташиану, что его начальник, который должен проводить финальное интервью, не вышел сегодня на работу, поэтому четвертого интервью не будет и Ташиан может быть свободен [83].
   Особую структуру процесса интервьюирования Microsoftназывают «пьесой из трех действий» [84]. Первое действие — это обычно отборочное интервью. Специалист по подбору персонала звонит кандидату и беседует с ним тридцать минут. В этом телефонном интервью обычно задаются традиционные вопросы и редко используются сложные головоломки. Иногда могут задать такой вопрос: «Как вы проверите солонку?» Ответы кандидата во время этого интервью определяют, получит ли он приглашение от