«Могу честно сказать, что горжусь своей тридцатипятилетней карьерой в компьютерной индустрии, — пишет в своем блоге программист и топ-менеджер Бен Фати. — Я начал свою карьеру необстрелянным инженером в компании NeXT Computer, а ближе к ее концу стал вице-президентом Microsoft. Мне повезло работать с тысячами блестящих людей и научиться чему-то у каждого из них».
Внимание: когда происходили события, описываемые в этом тексте, я не понимал ничего из нижесказанного. Да и вы, когда что-то подобное приключится с вами, тоже поймете это далеко не сразу.
Я был второкурсником, когда впервые записался на курс информатики по совету дяди, который думал, что «за этой историей с компьютерами будущее». В то время я учился на психолога. Не знаю почему. Просто, когда я поступал в университет, мне показалось, что это лучший из возможных вариант высшего образования. Я должен был окончить университет в 17 — слишком рано, чтобы успеть понять, чего я хочу от жизни.
Я на автопилоте учился в университете, отчаянно скучая на психологии. Она походила на ментальную мастурбацию: надо было просто вешать ярлыки на людей и на набор туманных симптомов. Если среднестатистического душевнобольного записать на прием к пяти психологам, он получит шесть разных диагнозов — какие еще нужны доказательства, что психология скорее искусство, чем наука? На таком фоне первое занятие по информатике подействовало на меня как откровение.
Что? У каждой проблемы есть ровно одно решение? И вы хотите сказать, что компьютер сделает именно то, что я велел? А если код не работает, это, скорее всего, моя собственная ошибка? Да, черт возьми! Запишите меня!
Передо мной был мир, суливший куда больше удовольствия, чем размытый мир психологии. И как всякий здравомыслящий шестнадцатилетний человек, я стал параллельно учиться на двух программах — на психолога и на компьютерщика.
Да что общего у этих двух дисциплин — спросите вы. Честно говоря, ничего. Просто так вышло, что я уже почти окончил все курсы, необходимые для диплома бакалавра психологии, и мне было жаль потраченного времени. В конце концов, я все равно должен был вскоре окончить университет и начать работать. С двумя дипломами.
Забавно, что теперь, побыв начальником тысяч людей, поработав еще с десятком тысяч, я порой ловлю себя на том, что вспоминаю занятия по психологии. Теперь, когда я наблюдал по дюжине примеров на каждый симптом, в них вдруг видится смысл. Тогда у меня не было контекста. Я не видел жизни и не мог выстроить системы координат. Без нее все эти психологические теории казались пустословием.
В те времена я был голодным иностранным студентом с учебной визой и без родственников вокруг, так что моим единственным шансом остаться в США жить было найти работодателя, который помог бы мне с грин-картой. Процедура такова: после выпуска иностранный студент может на год задержаться на стажировку. Если вы проявили себя с лучшей стороны, работодатель помогает вам получить визу H-1B, которая является первой ступенькой на пути к грин-карте, гражданству и прочей американской мечте.
Если работодатель решил этого не делать — не повезло, вы отправляетесь обратно на родину. Я был совершенно не заинтересован в том, чтобы возвращаться на родину, раздираемую революцией и бессмысленной войной, — я был призывного возраста и дело бы кончилось тем, что я оказался бы на передовой ирано-иракской войны. Вот уж спасибо, нет!
Так что я отчаянно нуждался в работодателе-спонсоре. Единственной работой, которую мне удалось найти, была позиция менеджера компьютерной лаборатории в местном университете. Не самая подходящая работа, если мечтаешь прорваться в компьютерную индустрию в качестве программиста. Но что поделать, ничего лучше мне не попалось. На дворе стоял 1982 год — разгар войны, нефтяной кризис, рецессия, иранская страсть к захвату заложников, вот это все.
Не стану утомлять вас деталями — уж больно они неприглядны. Я был весь из себя прекрасный, только что прослушал курс по программированию Unix, по искусственному интеллекту, научился программировать на LISP и Prolog, изучил головоломную теорию автоматов — а от меня хотели, чтобы я загружал перфокарты в IBM 1960-х годов выпуска.
Я загружал накопители размером с поднос в устаревшие компьютеры размером с холодильник. Но за это мне должны были дать грин-карту, так что черт с ним, я был согласен.
35 лет спустя и за сотню миллионов километров от тех времен я благодарен судьбе, что мне повезло познакомиться с этим поколением вычислительной техники. Оно, конечно же, вымирало уже тогда, а сейчас вымерло с концами, но именно на таком фоне особенно велик контраст с тем, где мы сейчас.
Просто вдумайтесь. Любой подросток с планшетом или смартфоном может задать любой вопрос и мгновенно получить на него ответ. Вау. Это же просто охренеть. В мои времена (заведу я ностальгическую пластинку) мы ходили в библиотеку и с помощью картотеки находили книжку, в которой, возможно, содержался ответ. Мы же даже не понимаем, как сильно мир продвинулся вперед за последние несколько десятилетий.
Если перемотать еще на 50 лет вперед, учитывая экспоненциальную скорость развития технологий, нас ждут еще более чудесные достижения, которых мы даже представить себе не можем. Я оптимистично смотрю в будущее хотя бы потому, что видел, на что способна эта индустрия в долгосрочной перспективе.
Не поймите меня неправильно, на дистанции отдельных лет не испытываешь практически ничего, кроме раздражения и тоски, — бюрократическая возня и мелочная конкуренция, поиск багов и бессмысленные встречи.
Но на дистанции десятилетий — господи боже! Просто взгляните на последние 10-20 лет с высоты птичьего полета. Насколько же изменилась человеческая жизнь за эти годы!
Я дитя 60-70-х, часть юности проживший в стране третьего мира. Я помню, как надо было идти в отделение государственной телефонной компании и час стоять в очереди, чтобы позвонить за границу. Сегодня кто угодно может связаться с кем угодно прямо сейчас: позвонить, написать, отправить видео или даже чертов стикер — с помощью телефона, вынутого из кармана. И для этого даже не нужен ни IBM на перфокартах, ни умение программировать на «Фортране».
Ничего себе прогресс!
Разумеется, ничего из этого я не понимал. Я просто изо всех сил старался не отстать от лучших умов индустрии. Лишь теперь я вижу плоды всего того, над чем мы работали долгие годы: сетевая конфигурация, стандарты безопасности сети, операционные системы, большие экосистемы, масштабируемость и надежность.
Конечно, у меня по-прежнему есть трудности с тем, чтобы заставить айфон работать с Google Play, когда я прихожу в гости к другу, но как только мы эти проблемы решаем, мы можем выбирать из тысяч фильмов, миллионов песен, сотен трансляций — из соседнего подъезда или с другого конца планеты. 20 лет назад ничего этого не было. Это и есть прогресс, и все мы приложили к нему руку.
Однако вернемся к моей истории. Не было никаких шансов, что местный университет стал бы помогать с грин-картой заведующему компьютерной лабораторией, так что проработал я там недолго, а после уволился в поисках чего-то более стоящего. После трех или четырех попыток — я работал в каких-то недоделанных стартапах и средненьких компаниях, — я нашел место, где смог посвятить себя моей страсти — операционным системам.
И с тех пор я ни разу не оглядывался. 35 лет своей карьеры (я вышел на пенсию в прошлом году) я проработал с операционными системами, сначала как разработчик программного кода для Unix, после как менеджер, глава направления, вице-президент и, в конце концов, CTO.
Несколько лет я провел за написанием драйверов для компьютеров SUN, затем работал над высокоуровневым ПО. Я работал со всеми мыслимыми архитектурами — от «Моторолы» до MIPS и PowerPC, писал системные компоненты, драйверы, подсистемы хранения данных, системы управления виртуальной памятью, низкоуровневый программный код ядра, занимался отладкой и запуском новых систем. Иногда меня даже заносило на заводы, где производилось наше «железо», если того требовала ситуация. В какой-то момент я оказался на Западном побережье, где в итоге занимался в Silicon Graphics разработкой суперкомпьютеров.
Когда я упоминаю об этом в разговоре, люди немедленно говорят: «О, «Парк юрского периода»! Ну, в частности. Silicon Graphics действительно создала компьютеры, которые использовались для обсчета компьютерной графики во множестве голливудских фильмов, включая «Парк юрского периода». Но мы также соревновались с лучшими из лучших (а тогда конкуренция в этой области была невероятно высока) в разработке мощнейших суперкомпьютеров. Тогда-то я и узнал все о компьютерной архитектуре от процессора до операционных систем и вообще системного ПО.
Есть ощущение, что я поработал во множестве тупиковых проектов: суперкомпьютеры, компьютеры UNIX, процессоры RISC — все они оказались на обочине компьютерной эволюции. Раньше я по этому поводу переживал: как так вышло, что я вкалывал на этих геркулесового масштаба проектах только для того, чтобы узнать, что какой-то конкурент вообще упразднил эту задачу, попутно создав новое поколение вычислительных систем?
Сильно позже я сообразил, что это описание подходит почти для всех, кто работает в нашей области. Просто так устроена индустрия — всякая архитектура, всякая находка рано или поздно устаревает. Я участвовал во многих революционных на тот момент проектах, и каждый из них теперь либо музейный экспонат, либо теплое воспоминание. В конце концов, каждое новое поколение учится на ошибках предыдущего. Я рад, что в процессе мне довелось поработать с ярчайшими умами компьютерного мира и поучиться у них.
Самые важные уроки отняли у меня годы. Урок первый: будучи юным инженером, я уволился из NeXT Computer в 1992-м, когда Стив Джобс закрыл мой проект, связанный с компьютером NeXTStep, для которого мы создавали сдвоенный процессор нового поколения. Проект был почти закончен, мы уже были готовы начать производство, на следующей неделе планировался анонс на конференции — и тут его закрыли. Я был в такой ярости, что даже не стал включать эту работу в свое резюме. Стив уговаривал меня остаться, но я был слишком разъярен, чтобы понять, что он был прав — битва за архитектуру процессора была закончена, Intel выиграли.
Стив закрыл все проекты, связанные с железом, и компания целиком сосредоточилась на софте. Разумеется, я уволился, пылая праведным гневом: как смел он закрыть мой проект?! Я не заметил за деревьями леса — процессорная война была закончена, и надо было как можно скорее двигаться дальше, в данном случае в сторону инновационного софта, а не драться за все уменьшающийся кусок рынка процессоров. Стив, разумеется, вернулся в Apple, а что было дальше, знают все.
Так что Стив преподнес мне урок, который я усвоил лишь годы спустя, когда успокоился достаточно, чтобы не переживать за свой проект, а задуматься о том, было ли его решение верным.
Урок Джобса прост: надо выбирать, в каких битвах участвовать, и никогда не ввязываться в сражение, если война уже проиграна.
С тех пор как (спустя годы после увольнения из NeXT Computers) я усвоил эту простую истину, я частенько к ней прибегал и прибегаю, как правило, в ситуациях, которые не имеют никакого отношения к архитектуре процессора.
На более поздних этапах карьеры я провел лет двенадцать в Microsoft, работая над разными версиями Windows. Сейчас, оглядываясь назад, легко заметить, что рынок смартфонов мы проиграли Apple, серверы — Linux; облачные хранилища — Amazon. Но тогда мы были слишком заняты новыми версиями десктопных операционных систем. Словами не выразить, насколько велика инерция большой организации, которая работает над успешным продуктом. Зачастую она даже не замечает надвигающейся угрозы.
Не подумайте, что я здесь жалуюсь на топ-менеджмент Microsoft. В конце концов, я был одним из его представителей, который отвечал за разработку Windows 7 — пожалуй, самой популярной версии Windows. Я горжусь тем, чего мы достигли.
В Microsoft я узнал, насколько трудно создать успешную платформу, которой пользуются миллиарды людей, на которой работают миллионы приложений, тысячи компаний. Чем более открыта она изначально, чем больше ее могут улучшать сами пользователи, тем больше людей начинает дополнять твою платформу и тем сложнее радикально улучшить ее потом.
От Билла Гейтса я научился невероятному вниманию к деталям. Он мог провести 14 часов подряд, обсуждая с десятью разными командами разработчиков двадцать разных тем.
Операционные системы, повышение производительности, интернет, часы, игры, почта, базы данных, браузеры, исследования — да все что угодно. И все эти 14 часов он вникал в детали наравне со специалистами в каждой из областей. Потрясающая способность к сосредоточению.
Одна из моих любимых цитат принадлежит писателю Сэму Харрису (Sam Harris): «Скука есть лишь недостаток внимания». Но больше всего мне нравится ее перевернутая, положительная версия, поскольку она лучше всего выражает то, чему я научился у Билла: «Если уделить достаточно внимания, все что угодно становится интересным!»
Я мог бы написать целый том про то, чему еще научился от множества умных людей, повстречавшихся мне в течение жизни, но это заняло бы слишком много времени — и у меня, чтобы написать, и у вас, чтобы прочесть. К тому же большая часть таких поучений не имеют смысла, пока не проверишь на собственной шкуре.
Пожалуй, два последних совета, которые я могу предложить.
Во-первых, работайте только над тем, что занимает вас без остатка.
Во-вторых, учитесь и разбирайтесь на ходу.
Импровизируйте. Если вам предстоит ехать из Нью-Йорка в Лос Анджелес, не пытайтесь тщательно построить весь маршрут. Просто убедитесь, что едете более-менее на запад, и дальше корректируйте курс по ходу движения. А по пути не переставайте учиться всему, что вам интересно.
И тогда у вас получится замечательное путешествие. Во всяком случае, у меня получилось.