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