Темой моей магистерской диссертации была разработка наилучшего эвристического подхода к раскраске сложных графов в недетерминированное полиномиальное время (NP-полная задача[18]). Иными словами, как следует решать задачу при неограниченном числе возможностей, чтобы это было быстро и хорошо, но не всегда оптимально? Следует ли применить лучшее решение из доступных на данный момент или же работать бесконечно в поисках абсолютно наилучшего варианта?
Теоретическая информатика задела меня за живое, продемонстрировав ограниченность сегодняшних компьютеров. Я восхищался математиками и специалистами по вычислительной технике Джоном фон Нейманом и Аланом Тьюрингом, а также квантовыми вычислениями – об этом я напишу далее, когда мы перейдем к проблемам искусственного интеллекта и машинного обучения. И если как следует вдуматься, это была отличная школа будущего СЕО – уметь оперативно руководить и находить эффективные решения в условиях ограничений.
Я окончил магистратуру по вычислительной технике в Висконсине и даже поработал на организацию, которую сегодня Microsoft назвала бы независимым поставщиком ПО. Я разрабатывал приложения для СУБД Oracle[19], одновременно заканчивая магистерскую диссертацию. Мне хорошо давалась реляционная алгебра, я стал специалистом по базам данных и в программировании на языке структурированных запросов SQL. Это была эпоха, когда на смену знаковым или текстовым режимам рабочих станций UNIX приходили графические пользовательские интерфейсы вроде Windows. Было начало 90-х, и в то время я даже не задумывался о Microsoft, потому что мы не работали на ПК: я занимался более мощными рабочими станциями.
В общем, в 1990 году я покинул Милуоки и получил свою первую работу в Кремниевой долине, в компании Sun Microsystems. Sun тогда была хозяйкой рынка рабочих станций, к которому внимательно присматривалась Microsoft. В этой компании собрались удивительные таланты – ее основатели Скотт Макнили и Билл Джой, изобретатель Java Джеймс Гослинг, а также Эрик Шмидт, наш вице-президент по разработке ПО, который потом руководил Novell и Google.
Два года, которые я проработал в Sun, пришлись на эпоху великих перемен в компьютерном бизнесе. Sun с завистью рассматривала графический пользовательский интерфейс Microsoft Windows, а Microsoft (с не меньшей завистью) – красивые и мощные 32-битные рабочие станции и операционные системы Sun. И мне снова посчастливилось оказаться в нужное время в нужном месте: Sun дала мне задание поработать над ПО для настольных компьютеров, в частности над программой для обмена электронной почтой. Позже меня командировали в Кембридж, штат Массачусетс, где я несколько месяцев работал с Lotus, подключая их ПО для работы с таблицами к рабочим станциям Sun. И тогда я стал замечать тревожные симптомы. Каждые пару месяцев Sun внедряла новый подход к разработке графических пользовательских интерфейсов. Это означало, что мне приходилось целиком перерабатывать свои программы, а объяснения таких стратегических преобразований становились все менее и менее осмысленными. Я осознал, что, несмотря на наличие феноменальных лидеров и великолепных возможностей, компания переживает трудные времена. Она пытается разработать сильную стратегию в области ПО и придерживаться ее.
К 1992 году я снова оказался на распутье. Мне хотелось создавать программное обеспечение, которое может изменить мир. Еще мне хотелось вернуться в магистратуру и получить степень MBA. Я скучал по Ану, на которой собирался жениться. Она оканчивала факультет архитектуры в Манипале, и мы планировали, что она переедет ко мне в США.
Как и раньше, я не строил далеко идущих планов, но в один прекрасный день раздался звонок из Редмонда, штат Вашингтон, и открыл передо мной новую, неожиданную возможность. Пришло время снова нажать кнопку «Обновить».
На северо-западе Тихоокеанского побережья США царила ноябрьская прохлада, когда я впервые ступил на землю Microsoft, войдя в ничем не примечательный офис с незамысловатым названием «Здание 22». Сегодня, как и в те дни, этот кампус, заросший высокими, как башни, дугласовыми пихтами, почти не виден с проходящего рядом шоссе 520, известного своим понтонным мостом между Сиэтлом и Редмондом. Шел 1992 год. Акции Microsoft только начинали свой эпический взлет, и основателей корпорации Билла Гейтса и Пола Аллена еще не узнавали на улице. Только что вышел Windows 3.1, расчищая дорогу Windows 95 и запуску на рынок величайшего пользовательского продукта. Sony представила CD-ROM, и появился первый сайт, хотя, до того как начался первый всплеск популярности интернета, должна была пройти еще пара лет. TCI разработала цифровой кабель, и Федеральная комиссия по связи США одобрила цифровое радио. На графике продаж ПК в тот период видны признаки грядущего космического взлета. В общем, нельзя было выбрать лучшего момента для входа в индустрию. Уже имелись и ресурсы, и таланты, и идеи, которые боролись за лидерство в этой отрасли.
18
NP-полная задача – в теории алгоритмов задача с ответом «да» или «нет» из класса NP, к которой можно свести любую другую задачу из этого класса за полиномиальное время (то есть при помощи операций, число которых не превышает некоторого полинома в зависимости от размера исходных данных).
19
Oracle Database, или Oracle RDBMS, – объектно-реляционная система управления базами данных (СУБД) компании Oracle.