Тестеры разными способами «мучают» программы, например добавляя все новые колонки к электронным таблицам, пока программа не даст сбой, или открывая все новые и новые окна, пока система не «зависнет», или имитируя атаки вирусов и хакеров. В отличие от менеджеров программ тестеры должны разбираться в программировании. Они часто пишут специальные программы для тестирования программных продуктов. Конечно, ни одна из подобных программ не попадает на рынок.
Есть один пункт, по которому у менеджеров программ и разработчиков единое мнение: и те, и другие смотрят на тестеров свысока. Быть тестером — это все равно что оказаться единственным зубным техником в отделе, где все остальные — дипломированные врачи. Все будут усмехаться: «А, это тот парень, который не сумел поступить в нормальный медицинский институт». Действительно, работа тестера вряд ли может помочь принести уважение и почет. Тестеры сами не исправляют обнаруженные ими сбои и недостатки — они только сообщают о них разработчикам, чтобы те смогли их исправить.
Хорошо. Вероятно, тестирование не предъявляет таких высоких интеллектуальных требований, как другие виды работ. Что с того? В корпорации Microsoft такая конкурентная атмосфера, что никто не может себе позволить признаться, что он менее сообразителен и вообще «менее» в чем бы то ни было. Тестеры очень заботятся о своем статусе в корпорации, и на официальном уровне Microsoft старается, насколько это возможно, не подчеркивать различия между тремя упомянутыми выше должностями и профессиями. «Если вы когда-либо отважитесь даже намекнуть, что тестерам не нужен такой же высокий уровень компетентности, как разработчикам или менеджерам программ, на вас сразу же прикрикнут»,[82] — говорит Адам Дэвид Бэн. Менеджеры корпорации и сотрудники отдела персонала настаивают на том, что и разработчики, и менеджеры программ, и тестеры — все одинаково умны, способны к творчеству и амбициозны. Они даже разработали особую «мифологию», которая позволяет объяснить те проявления неравенства, которые невозможно отрицать. Суть ее в том, что у каждой из трех групп сотрудников есть свои особые таланты. Это «разные» таланты, но благодаря мистическому стечению обстоятельств, все они «одинаково важны». Это утверждение, по мнению Барра, полная выдумка и не соответствует действительности.[83]
Наиболее изощренным является миф о тестерах. Что можно сказать о таланте «обрушивать» Ехсеl? Грант Джордж, вице-президент по тестированию продукции, так говорит об этом: «Наиболее успешные тестеры просто думают по-другому, не так как разработчики и менеджеры программ. Мы постоянно критикуем и высказываем мнение о качестве всего, что мы видим, к чему прикасаемся и с чем входим в контакт или используем в своей повседневной жизни. Мы живем для того, чтобы критиковать и улучшать. Господи, благослови нашу отрасль и Microsoft. Какой замечательный способ использования нашей страсти добиваться во всем отличного качества для совершенствования продукции, которую используют миллионы людей!»[84]
Джордж не единственный человек, высказывающий подобную точку зрения, которую можно обобщить так: «У тестеров всегда есть свое мнение, а у других людей — не всегда».
Это усиливающееся разделение труда вызвало (или ускорило) изменения политики найма корпорации Microsoft. Немногие люди поступают в университеты, намереваясь стать менеджерами программ или тестерами. Не все люди, которые занимают эти должности, получили дипломы специалистов по компьютерам или программированию. Вы не всегда можете попросить потенциального кандидата на должность менеджера программы написать во время интервью компьютерную программу, потому что некоторые из этих людей — обладатели дипломов филолога — специалиста по английскому языку.
Итак, как вы определите, можно ли считать непрограммистов «клонами Билла»? Один из способов — использовать задачи, головоломки и гипотетические проблемные ситуации. Для потенциальных менеджеров программ и тестеров, так же как и для легионов агентов по продажам, канцелярских работников и других кандидатов на работу, головоломки стали важным средством оценки их способностей.
Многие из этих задач — классические логические головоломки, другие вопросы направлены на то, чтобы оценить кандидата на конкретную позицию. Некоторые из вопросов, которые люди со стороны посчитают наиболее эксцентричными, например: «Какой из пятидесяти штатов США следовало бы упразднить? В какую сторону должен поворачиваться ключ в замке автомобиля?» — относятся именно к этой категории. Они в основном проверяют, сумеет ли кандидат найти какое-то решение и внятно его объяснить.
Джейб любил просить кандидатов на должность менеджера программы нарисовать эскиз дома. Иногда кандидат после этого подходил к доске и рисовал на ней квадрат. Это, по мнению Блюменталя, было одним из худших вариантов ответа: ведь дом мог быть каким угодно. В реальности вы никогда не начнете строить дом, не спросив сначала, кто будет за это платить и сколько денег, места и времени имеется в распоряжении. Кандидат, который начинал рисовать эскиз, не задав все эти вопросы, обычно отвергался.
В таких задачах самая важная вещь — правильный «алгоритм». Алгоритм — это точный поэтапный метод действий, который лежит в основе любой компьютерной программы. В данном случае на жаргоне интервьюеров это способ, при помощи которого кандидат пытается ответить на общий и сложный вопрос. Первый шаг хорошего алгоритма для ответа на подобные вопросы — попытаться получить дополнительную информацию от интервьюера. Те, кто этого не делает, наказываются. Один из коллег Блюменталя, Джоэл Спольски, обычно прерывал тех, кто начинал с черчения прямоугольников: «Вообще-то, вы позабыли спросить об этом, — говорил он, пока кандидат наносил финальные штрихи на своем плане, — но это дом для семейства пятнадцатиметровых слепых жирафов» .[85]
Умные люди, которые не добиваются результата
Одним из менее значимых достижений Спольски было изобретение им для интервьюирования кандидатов на работу в Microsoft вопроса: «Как вы стали бы изготовлять конфеты M&M's?» Спольски, теперь генеральный директор компании Fog Creek Software в Нью-Йорке, одновременно и вдумчивый сторонник, и критик методики интервьюирования, применяемой в Microsoft.
По мнению Спольски, две основные проблемы, которые должна решать методика интервьюирования: выявлять людей, которые умны, но не добиваются результата, и людей, которые добиваются результата, но не умны. [86] Компаниям, которые работают в высококонкурентной отрасли, нужно стараться не принимать на работу ни тех, ни других.
«Люди умные, но не добивающиеся результата, обычно обладают ученой степенью и работают в больших компаниях, где никто их не слушает, потому что они абсолютно непрактичны, — объясняет Спольски. — Люди, которые добиваются результата, но не умны, будут делать глупые ошибки, не утруждая себя раздумьями, а потом кому-то придется после них все переделывать».
Эти два типа людей бывает трудно отличить от тех, кого вам стоит нанять на работу: людей, которые и умны, и добиваются результата. (Меньше проблем с людьми, которые неумны и не добиваются результата, — таких людей обычно легко идентифицировать.)
Логические головоломки и вопросы на проектирование могут быть полезны, потому что их можно считать моделями проблем, с которыми сталкивается любая компания, работающая в инновационном бизнесе. В отрасли разработки программного обеспечения вам нужно генерировать массу новых идей, решать, какие из них стоит разрабатывать, реализовывать и, наконец, выпускать продукт на рынок.
То, за чем Спольски следит во время интервью особенно внимательно, — это способность принять окончательное решение. «Иногда кандидат колеблется, меняет свое решение или пытается уйти от трудных вопросов. Иногда он оставляет трудные вопросы без ответа и пытается двигаться дальше. Это нехорошо» .[87]