Февраль 2021
До колледжа, кроме учебы, я в основном занимался программированием и написанием текстов. Я не писал эссе. Я писал то, что следовало писать (и, вероятно, следует в наши дни) начинающим писателям: небольшие рассказы. Мои рассказы были ужасны. В них почти не было сюжета, только персонажи с сильными чувствами (как мне казалось, эти чувства делали персонажей глубокими).
Первые свои программы я пытался писать на IBM 1401, его у нас в округе использовали для того, что тогда называли «обработкой данных». Это было в 9 классе, так что мне было 13 или 14 лет. Этот 1401 стоял в подвале средней школы, мы с моим другом Ричем Дрейвсом получили разрешение использовать его. Тот подвал был похож на логово бондовского злодея, в котором хранится куча инопланетных устройств – процессоры, жесткие диски, принтер, устройство для чтения карт, и все это под яркими флуоресцентными лампами.
Мы писали на одной из первых версий Фортрана. Программы нужно было набирать на перфокартах, затем складывать их в устройство для чтения карт и нажимать на кнопку, чтобы программа загружалась в память и запускалась. Обычно в результате ее работы что-то печаталось на невероятном громком принтере.
IBM 1401
Тот 1401 был для меня загадкой. Я не понимал что с ним можно делать, Оглядываясь назад, ясно, что я особо ничего и не мог. Единственной формой передачи входных данных были перфокарты, а я на них ничего не хранил. В качестве альтернативы можно было писать программы, не полагающиеся на входные данные (вроде приближенных вычислений числа пи), но я не очень хорошо знал математику для этого. Именно поэтому я не удивлен, что не могу вспомнить ни одной своей программы из того времени – потому что они мало чего умели. Лучше всего мне запомнился тот момент, когда я узнал, что программы могут и не завершаться (когда одна из моих не завершилась). Учитывая, что у того компьютера не было ограничений по времени использования, это была не только техническая, но и социальная ошибка – об этом мне сообщил менеджер центра обработки данных.
Все изменилось с появлением микрокомпьютеров. У нас появились компьютеры, стоящие на столе прямо перед нами, они реагировали на нажатия кнопок прямо во время работы, а не перебирали стопку перфокарт и отключались. [1]
Первый мой друг, получивший микрокомпьютер, собрал его сам. Тогда продавались наборы для самостоятельной сборки от Heathkit. Я отчетливо помню, насколько я был впечатлен и как завидовал, наблюдая как мой друг сидел и набирал программы прямо на компьютере.
Heathkit H8 Digital Computer Kits
Компьютеры тогда стоили дорого, мне пришлось годами уламывать отца, прежде чем он купил TRS-80 примерно в 1980 году. Золотым стандартом тогда был Apple II, но TRS-80 тоже был довольно хорош.
TRS-80
Тогда я действительно начал программировать. Я писал простые игры, разработал программу для оценки траектории полета моих моделей ракет, а также написал текстовый процессор, который мой отец использовал для написания по меньшей мере одной книги. Памяти у компьютера хватало только на 2 страницы текста, так что отец писал две страницы и сразу печатал их, но это было намного лучше, чем работа с пишущей машинкой.
Несмотря на то, что мне нравилось программирование, я не собирался изучать его в колледже. В колледже я собирался заниматься философией, тогда это звучало круче. Школьнику-мне казалось, что философия – это изучение истины в последней инстанции, в то время как в остальных областях занимаются предметными знаниями. Когда я поступил в колледж, я увидел, что в других областях существует такое множество идей, что пространства для абсолютных истин не оставалось. Казалось, что философии оставалось заниматься краевыми случаями, которые в других областях просто игнорировали.
Я не мог выразить это словами, когда мне было 18 лет. Я продолжал ходить на курсы по философии, и они были скучны. Именно поэтому я начал заниматься ИИ.
Об ИИ много говорили в 1980-ых, но мне особую мотивацию придали две вещи: роман Хайнлайна под названием «Луна — суровая хозяйка», в котором использовался умный компьютер по имени Майк, и документальный фильм от PBS, в котором Терри Виноград использовал SHRDLU.
SHRDLU
Я не пытался перечитывать роман Хайнлайна, потому что понимаю, что он устарел, но в те годы я погрузился в мир этой книги. Казалось, что появление Майка – лишь вопрос времени, и когда я увидел как Виноград использует SHRDLU, мне показалось, что на его создание уйдет несколько лет. Казалось, что нужно лишь обучить SHRDLU большему количеству слов.
Тогда в Корнелле не было курсов по ИИ, так что мне пришлось учиться самому. Это значило, что мне нужно было выучить Lisp, потому что тогда он был языком ИИ. В то время большинство языков программирования были примитивными, а значит идеи программистов были такими же. По умолчанию в Корнелле все писали на паскалеподобном языке PL/I, он использовался почти повсеместно. Изучение Lisp настолько расширило мое понимание концепции программ, что ограничения я начал понимать лишь спустя годы. Именно этого я и ожидал от колледжа. Этого эффекта не было от занятий в классах, но это нормально. Следующие пару лет я был в ударе. Я понимал что собираюсь делать.
Для своей бакалаврской выпускной работы я занимался реверс-инжинирингом SHRDLU. Боже, как мне нравилось заниматься этой программой. Было приятно писать тот код, но еще более захватывающе было думать о том (сейчас в это трудно поверить, но в 1985 так думали многие), что те программы были действительно умными и покоряли вершины ИИ.
Я учился в Корнелле на программе, в рамках которой не подразумевался выбор специальности. Для получения степени было посещать любые занятия, которые нравились. Я, конечно, выбрал «Искусственный интеллект». Когда я получил на руки диплом, я встревожился наличию этих кавычек. Тогда меня это беспокоило, но теперь мне это кажется до забавного точным (по причинам, которые мне только предстояло узнать).
Я подал документы в 3 аспирантуры: Массачусетского Технологического, Йеля, который тогда славился в области ИИ, и Гарварда – его я посетил поскольку туда пошел Рич Дрейвз, а также там жил Билл Вудс, разработавший парсер для моего клона SHRDLU. Меня приняли только в Гарвард, так что туда я и пошел.
Не помню когда это произошло и было ли это в какой-то конкретный момент, но в первый год обучения я понял, что концепция ИИ – это ложь. Я говорю об ИИ того типа, в котором программе сообщают, что «собака сидит на стуле», а та переводит эти сведения в некое формальное представление и добавляет их в свою базу знаний.
Все эти программы показывали, что существуют подмножества натурального языка – языки формальные. Очень полезные подмножества. Было ясно, что существует огромный разрыв между их возможностями и реальным пониманием естественного языка. В целом, просто обучить SHRDLU большему количеству слов было недостаточно. Методы создания ИИ на основе структур данных, представляющих концепции, не сработал. Его крах, как это часто случается, породил возможности для написания статей о всевозможных заплатках для него, но все это не позволило бы нам создать Майка.
Я стал думать, что из обломков моих планов можно спасти, и вспомнил про Lisp. По своему опыту работы с ним я знал, что этот язык интересен сам по себе, даже в отрыве от ИИ (хотя в то время люди занимались им только в этом контексте). Именно поэтому я решил сосредоточиться на Lisp. Я решил написать книгу о хакерстве на Lisp. Страшно подумать насколько мало я об этом знал, когда начинал писать книгу. Впрочем, нет ничего лучше написания книги, чтобы разобраться в какой-либо теме. Книга о Lisp была опубликована в 1993, но большую ее часть я написал в аспирантуре.
Computer Science – это непростой союз теории и систем. Теории позволяют строить доказательства, а с помощью систем люди строили и создавали. Я хотел создавать. Я с большим уважением относился к теории (на самом деле, подозреваю, что эта половина более прекрасна), но казалось, что создавать что-то будет интереснее.
Проблема работы над системами заключалась в том, что она длилась недолго. Любая программа, написанная сегодня, какой бы хорошей она ни была, устареет в лучшем случае через пару десятилетий. Люди могут вспоминать о вашем ПО в сносках, но пользоваться им никто не будет. Кажется, что это очень безрадостная работа. Только люди, разбирающиеся в истории этой области, могут понять, что на самом деле это здорово.
Xerox Star 8010 «Dandelion»
В какой-то момент в лаборатории появились несколько лишних компьютеров Xerox Dandelion. Любой желающий поиграться с ним мог его взять. Я сам ненадолго соблазнился, но по нынешним стандартам они были очень медленными, так что какой смысл? Никому они были не нужны, а потому и исчезли. Именно так все и происходило с системами.
Я хотел не просто что-то создавать, а создавать что-то, что будет служить долго.
Будучи неудовлетворенным, я поехал к Ричу Дрейвзу в Институт Карнеги-Меллона, он там учился в аспирантуре. Однажды я заходил в Институт Карнеги, в детстве я там проводил много времени. Я рассматривал картину и до меня дошла мысль, которая кажется очевидной, хотя тогда она меня удивила. Прямо там на стенах висели вещи, которые делались надолго. Картины не устаревали. Возраст некоторых из лучших составлял сотни лет.
Более того, написанием картин можно было зарабатывать на жизнь. Конечно, это не так просто, как написание программ, но я подумал, что трудолюбивому и скромному человеку будет хватать. Более того, художник может быть независимым. У него нет босса и он не нуждается в финансировании исследований.
Мне всегда нравилось смотреть на картины. Мог ли я сам их писать? Тогда я понятия не имел. Я даже представить себе не мог, что это возможно. Умом я понимал, что искусство творят люди – что оно не возникало само по себе, но эти творцы будто принадлежали к другому виду. Они либо жили давно, либо это загадочные гении, о чудачествах которых пишут в Life. Мысль о том, чтобы заняться искусством, казалась невероятной.
Той осенью я начал посещать уроки творчества в Гарварде. Аспиранты могли посещать занятия всех факультетов, а мой научный руководитель Том Читэм был очень спокойным и простым человеком. Даже если он и знал о странных курсах, которые я посещал, они никогда и ничего не говорил.
Итак, я учился в аспирантуре по информатике, планировал стать художником, любил писать на Lisp и писал книгу о нем. Другими словами, как и многие другие аспиранты, я энергично занимался чем угодно, кроме своей диссертации.
Я не видел выхода из этой ситуации. Я не хотел бросать аспирантуру, но что мне оставалось? Я помню как моего друга Роберта Морриса выгнали из Корнелла за то, что он написал интернет-червя в 1988 году – я завидовал, что он нашел столь захватывающий способ бросить аспирантуру.
Однажды в апреле 1990 года все сдвинулось с места. Я столкнулся с профессором Читэмом – он спросил смогу ли я выпуститься в июне. К тому моменту я не написал ни слова, но в тот момент я принял самое быстрое решение в жизни – я решил написать диссертацию примерно за 5 недель до крайнего срока, по возможности переиспользуя фрагменты своей книги «On Lisp». Именно поэтому я без промедления ответил «Думаю, да. Я дам вам материалы для прочтения через несколько дней».
В качестве темы для работы я выбрал приложения продолжений. Оглядываясь назад я понимаю, что мне следовало написать работу о макросах и встроенных языках. В этой области существует целый мир, который почти не исследован. Впрочем, все, чего я хотел – это закончить аспирантуру, и моей наспех написанной диссертации для этого едва хватало.
Попутно я пытался поступить в художественную школу. Я подавал документы Род-Айлендскую школу дизайна и Венецианскую академию изящных искусств (поскольку я полагал, что это старейшая из хороших школ). Меня приняли в Род-Айлендскую, а ответа из Флоренции я так и не дождался, так что я отправился с Провиденс. Я пошел на программу для бакалавров изящных искусств (BFA), а это означало, что по сути я опять пошел в колледж. Это было не так странно, как кажется, поскольку мне было 25, а в художественных школах полно людей разного возраста. В Школе меня посчитали второкурсником и сказали, что мне нужно подготовить фундамент. Фундаментом называли базовые курсы по рисованию, цвету и дизайну.
Ближе к концу лета меня ждал большой сюрприз: пришло письмо из Венецианской академии (оно задержалось из-за того, что было отправлено в английский Кембридж, а не американский) с приглашением сдать вступительные экзамены осенью. До осени оставалось несколько недель. Моя милая хозяйка позволила оставить вещи у нее на чердаке. Я отложил немного денег с консультаций, которыми подрабатывал в аспирантуре, так что мне хватило бы на год скромной жизни. Мне оставалось только выучить итальянский.
Только страньери (иностранцы) должны были сдавать вступительные экзамены. Оглядываясь назад, я понимаю, что видимо это был способ отсеивать иностранцев, потому что в противном случае итальянцы были бы в меньшинстве. В то лето я был в хорошей форме в плане рисования и живописи, но не понимал как сдавать письменный экзамен, Я помню, что ответил на вопрос в эссе, написав о Сезанне – я вытянул интеллектуальный уровень на максимум, который позволял мой ограниченный словарный запас. [2]
Мне было всего 25, и в моей жизни уже проявились интересные закономерности. Я снова стремился поступить в престижное учебное заведение с целью изучить какой-нибудь престижный придет, и я снова был разочарован. Студенты и преподаватели в академии были замечательными, но у них было негласное соглашение – студенты не требовали, чтобы их учили, а академия не требовала, чтобы студенты что-либо изучали. При этом все происходило с условностями ателье из XIX века. У нас действительно стояла печка, которая топилась дровами, и обнаженная модель, которая сидела к ней максимально близко, чтобы не обжечься. Кроме меня почти никто ее не рисовал. Остальные студенты болтали или пытались подражать тому, что видели в американских журналах об искусстве.
Оказалось, что наша модель жила со мной на одной улице. Она зарабатывала на жизнь позированием и изготовлением подделок для местного магазина антиквариата. Она копировала причудливые старые картины из книг, а затем состаривала их. [3]
Во время учебы в академии, по ночам в своей комнате я рисовал натюрморты. Эти картины были маленькими: во-первых, сама комната была маленькой, а во-вторых, я рисовал их на обрывках холста – большего я себе не мог позволить. Рисование натюрмортов отличается от рисования людей (потому что как следует из названия, объекты двигаться не могут). Люди не могут сидеть неподвижно больше 15 минут, и даже в это время они не замирают полностью. Стандартный метод рисования людей – знать как рисовать типичного человека, а затем подстраивать эти знания под того человека, которого вы рисуете. Натюрморт же можно пиксель за пикселем копировать с того, что вы видите. Конечно, не хочется останавливаться на достигнутом, иначе вы получите фотографическую точность – натюрморты интересны именно тем, что они проходят через голову художника. Вам захочется подчеркивать визуальные особенности, которые, например, сообщают о том, что резкая смена цвета в точке описывает край объекта. Тонко подчеркивая такие моменты, вы можете создавать картины, которые будут более реалистичными, чем фотографии – не только в метафорическом, но и в строгом теоретико-информационном смысле. [5]
Мне нравилось рисовать натюрморты, потому что мне было любопытно то, что я вижу. В повседневной жизни мы не задумываемся о том, что мы видим. Большая часть визуального восприятия связана с низкоуровневыми процессами – именно они сообщают вашему мозгу, что «это капля воды», не сообщая подробностей о ее самых светлых и темных областях, или позволяют опознать куст, не сообщая его форму и положение всех листьев. Это особенность мозга, а не ошибка в его работе. В повседневной жизни было бы неудобно отвлекаться на каждый отдельный листик. Но когда вы хотите что-то нарисовать, вам нужно приглядеться, а когда вы это делаете, вам есть на что посмотреть. Вы можете замечать новые и новые детали после попыток нарисовать что-то, что остальные принимают как должное – так же вы можете подмечать новые мысли после нескольких дней попыток написать эссе о том, что все считают очевидным.
Это не единственный способ рисования. Я не уверен на 100%, что он вообще хорош. Впрочем, мне он казался стоящим, а значит нужно было попробовать.
Наш учитель, профессор Уливи, был хорошим человеком. Он видел, что я много работал, и ставил мне хорошие оценки в дневник, который был у каждого студента. Впрочем, академия не учила меня ничему кроме итальянского, а также у меня стали заканчиваться деньги, так что в конце первого года я вернулся в США.
Я хотел вернуться в Род-Айлендскую школу дизайна, но я был разорен, а учиться там было дорого. Из-за этого я решил устроиться на работу на год, а затем продолжить обучение следующей осенью. Я устроился в Interleaf, эта компания занималась разработкой ПО для создания документов. Вроде Microsoft Word? Да, именно. Именно тогда я понял, что дешевое ПО может поглощать ПО высокого уровня. Впрочем, Interleaf оставалось жить еще несколько лет. [5]
Порой в Interleaf делали смелые вещи. Компания была вдохновлена Emacs и создала свой язык для написания сценариев – это был диалект Lisp. Компании нужен был хакер на Lisp, который писал бы на этом языке. То, чем я там занимался, наиболее похоже на нормальную работу из всего, чем я занимался (прошу прощения у своего начальника и коллег – я был плохим сотрудником). Их Lisp представлял собой тонкий слой глазури на огромном торте из Си, а поскольку я его не знал и учить не хотел, большую часть ПО компании я не понимал. К тому же я был ужасно безответственным. Тогда работа программистом подразумевала приход на рабочее место в определенное время. Мне это казалось противоестественным, и сейчас весь мир сходится к моему образу мышления, но тогда из-за этого возникало немало конфликтов. Ближе к концу года большую часть времени я тайком писал «On Lisp» – книга получила контракт на публикацию.
К счастью, мне платили огромные деньги, особенно по меркам студентов-художников. Во Флоренции, после оплаты аренды, мой бюджет составлял 7 долларов на день. Теперь же мне платили в 4 раза больше, даже если я просто сидел на собрании. Живя экономно, мне удалось не только накопить на возвращение в Род-Айлендскую школу дизайна, но и рассчитаться по ссудам на учебу.
В Interleaf я многому научился (хотя в основном понял чего делать не надо). Я узнал, что технологическими компаниями лучше руководить людям, специализирующимся на продуктах, а не продажах (хотя понимание продаж – важный навык, и люди, которые им обладают действительно круты), что если над кодом работает слишком много человек, то в нем накапливаются баги, что дешевый офис будет нерентабелен, если он всех удручает, что запланированные встречи уступают разговорам в коридоре, что большие клиенты-бюрократы могут быть опасным источником денег, и что рабочие время и место для написания кода не обязательно пересекаются с оптимальными.
Но самый важный, урок который я усвоил (он пригодился мне как в Viaweb, так и в Y Combinator) заключается в том, что нет ничего плохого в том, чтобы работать на начальном уровне, даже если это не так престижно. В противном случае кто-то может просто вдавить вас в потолок. Все это значит, что престиж может быть опасен.
Следующей осенью я возвращался в Род-Айлендскую школу дизайна, и я договорился о внештатной работе в конторе, занимавшейся разработкой различных проектов для клиентов – именно на этом я и выживал следующие несколько лет. Когда я вернулся к одному из проектов, кто-то рассказал мне о новом языке, HTML – вроде как он был производной от SGML. Энтузиазм к языкам разметки был издержками профессии в Interleaf, и я их игнорировал, хотя позже этот самый HTML стал важной частью моей жизни.
Осенью 1992 года я вернулся в Провиденс, чтобы продолжить учебу в Школе дизайна. Я только начал вникать в основы, а учеба в академии была просто смешной. Теперь я собирался увидеть на что похожа настоящая художественная школа. Увы, она была скорее похожа на Венецианскую Академию. Конечно, все было куда более организованно (и куда дороже), но стало ясно, что художественная школе не имеет того же отношения к искусству, как медицинская к медицине. По крайней мере, на факультете художников. У модельеров (на него учился мой сосед), кажется, все было куда строже. То же самое касалось иллюстраторов и архитекторов. Но в живописи все было не очень строго. Студенты-художники должны были самовыражаться, что для простых людей означало поиски собственного стиля.
Фирменный стиль – это визуальный эквивалент того, что в бизнесе называют «фишкой»: именно благодаря нему люди могут понять, что эта работа принадлежит вам, а не кому-то другому. Например, когда вы видите картину в мультяшном стиле, вы понимаете, что ее написал Рой Лихтенштейн. Если вы увидите такую картину в квартире менеджера хедж-фонда, то будет ясно, что он заплатил за нее миллионы долларов. Не у всех художников есть свой фирменный стиль, хотя обычно клиенты платят именно за него. [6]
Серьезных студентов тоже было немало: ребята, которые «умели рисовать» в старшей школе, а теперь пришли в лучшую художественную школу в стране, чтобы научиться рисовать еще лучше. Они были сбиты с толку и деморализованы тем, что видели в Род-Айлендской школе дизайна, но они продолжали идти туда, потому что рисовали, Я не был из тех, кто умел рисовать в старшей школе, но я был ближе к этим людям, чем к искателям авторского стиля.
Я многому научился на уроках колористики, но в остальном я самостоятельно учился рисовать, и я мог делать это бесплатно. В 1993 я бросил учебу. Я немного погулял по Провиденсу, а потом моя подруга по колледжу Нэнси Пармет оказала мне большую услугу. Квартира с умеренной арендной платой в доме, которым владела ее мать в Нью-Йорке, пустовала. Хотел ли я туда заехать? Она была ненамного больше моей собственной квартиры, а в Нью-Йорке было много художников. Так что да, я хотел! [7]
Комиксы об Астериксе начинаются в крошечном уголке Галлии, который, как оказывается, не контролируется римлянами. Что-то похожее есть и в Нью-Йорке: если вы приблизите карту Верхнего Ист-Сайда, то увидите крошечный небогатый район (по крайней мере, он был таким в 1993). Он называется Йорквилл, это был мой новый дом. Я стал Нью-Йоркским художником (чисто технически – я рисовал и жил в Нью-Йорке).
Я нервничал из-за денег потому что чувствовал, что Interleaf идет ко дну. Фриланс на Lisp попадался редко, и я не хотел писать на другом языке – в те дни это был бы С++, если бы мне повезло. У меня был безошибочный нюх на финансовые возможности, так что я решил написать еще одну книгу о Lisp. Это была более простая и популярная книга, которую можно использовать как учебник. Я представлял себе как экономно живу на гонорары и провожу все свое время за рисованием (рисунок для обложки этой книги, ANSI Common Lisp, я нарисовал примерно в то время).
Больше всего мне в Нью-Йорке нравилось, что там жили Идель и Джулианна Вебер. Идель Вебер была художницей, одной из первых начала работать в стиле фотореализма, я посещал ее занятия в Гарварде. Я никогда не видел, чтобы учителя так любили ученики. С ней поддерживали связь большинство бывших студентов, в том числе и я. После переезда в Нью-Йорк я стал де-факто ее студийным ассистентом.
Ей нравилось писать на больших квадратных холстах, шириной от 4 до 5 футов. Однажды в конце 1994 года, когда я растягивал одного из этих монстров, по радио рассказывали что-то об одном известном фондовом менеджере. Он был ненамного старше меня и был очень богат. Мне вдруг пришла в голову мысль: почему бы мне не стать богатым? Тогда я смогу работать над чем захочу.
Попутно я все больше узнавал о недавно появившейся всемирной паутине. Роберт Моррис показал мне ее в Кембридже, потом он перешел в аспирантуру Гарварда. Мне казалось, что интернет будет очень важен. Я видел что графические пользовательские интерфейсы сделали для популярности компьютеров. Казалось, что сеть сделает то же самое для интернета.
Если я хотел разбогатеть, то это был поезд, подходящий к станции. Я был прав в сути, но ошибся с идеей. Я решил, что нужно создать компанию для размещения художественных галерей в интернете. Прочитав множество заявок в Y Combinator, я могу сказать, что это худшая идея для стартапа. Художественные галереи не хотели выходить в интернет и до сих пор не хотят, даже самые модные. Их продажи работают иначе. Я написал ПО для создания сайтов для галерей, а Роберт написал несколько программ для изменения размеров изображения и настройки HTTP-сервера, отдававшего страницы. Потом мы пытались заключить договоры с галереями. Сказать, что это было сложно – ничего не сказать. Даже раздавать наш продукт было сложно. Несколько галерей разрешили нам сделать для них сайты бесплатно, но никто нам не платил.
Потом начали появляться интернет-магазины и я понял, что от сайтов галерей они отличалиь только наличием кнопки заказа. Мы уже знали как создавать все эти впечатляющие «интернет-магазины».
Итак, летом 1995 года, после того как я передал издателям готовую рукопись ANSI Common Lisp, мы начали пытаться писать ПО для создания интернет-магазинов. Сначала это должно быть ПО для настольных компьютеров, а значит для Windows. Это была тревожная перспектива – мы не умели писать программы для Windows и не хотели учиться. Мы жили в мире Unix. Но мы все же решили написать прототип конструктора магазина под Unix. Роберт написал корзину, а я написал генератор сайтов – конечно, на Lisp.
Мы работали в квартире Роберта в Кембридже. Его соседа там подолгу не было, я в это время спал на его месте. Почему-то не было ни корпуса кровати, ни простыней, только матрас на полу. Однажды утром, когда я лежал на этом матрасе, меня посетила идея, из-за которой я свернулся буквой «Г». Что если мы будем запускать ПО на сервере и позволим пользователям управлять им, нажимая на ссылки? Тогда нам не нужно было бы ничего писать для клиентских компьютеров. Мы могли бы создавать сайты на том же сервере, с которого они отдавались. Пользователям не понадобится ничего, кроме браузера.
Такое ПО сейчас называется веб-приложением и распространено повсеместно, но тогда было непонятно возможно ли это вообще. Чтобы выяснить, мы решили создать версию нашего конструктора интернет-магазинов, которой можно было бы управлять через браузер. Пару дней спустя, 12 августа, у нас появилась рабочая версия. Пользовательский интерфейс был ужасен, но стало ясно, что можно создать магазин через браузер – без клиентского ПО или ввода команд в терминале сервера.
Мы почувствовали, что у нас что-то получается. У нас было видение ПО нового поколения, которое должно было работать таким образом. Больше не были нужны версии, порты и все такое. В Interleaf была целая команда релиз-инженеров, и они работали не меньше разработчиков. Теперь же ПО можно было обновлять прямо на сервере.
Когда нам удалось развернуть свое ПО в сети, мы основали компанию. Она называлась Viaweb и мы получили свое первое официальное финансирование – 10 000 долларов от Джулианна, мужа Идель. В обмен на деньги, помощь с юридическими вопросами и советы по ведению бизнеса, мы передали ему 10% компании. Десять лет спустя эта сделка стала образцом для Y Combinator. Мы знали, что основателям нужно нечто подобное, потому что сами нуждались в этом.
В то время мой баланс был отрицательным, поскольку имевшаяся у меня тысяча (или около того) долларов уравновешивалась моими долгами по налогам (откладывал ли я деньги, которые зарабатывал за консультации Interleaf? Нет, не откладывал). Итак, несмотря на то, что Роберт получал стипендию для аспирантов, мне нужно было начальное финансирование на жизнь.
Изначально мы планировали запуститься в сентябре, но по мере работы над ПО амбиции росли. В конце концов нам удалось создать WYSIWYG-конструктор сайтов, которые должны были выглядеть как статические после генерации (за исключением того, что все ссылки вели не на статические страницы, а замыкания в хеш-таблице на сервере).
Изучение искусств помогло, поскольку главная задача разработчика интернет-магазина – сделать так, чтобы все солидно выглядело для пользователя, а ключом к этому являются высокие стандарты. Если правильно сверстать страницы и подобрать цвета и шрифты, то можно сделать так, что парень, управляющий магазином из своей спальни, будет солиднее большой компании.
(Если вам любопытно почему мой сайт выглядит столь старомодно – он сделан с помощью этого самого ПО. Сегодня он может казаться неуклюжим, но в 1996 он был передовым.)
В сентябре Роберт восстал. «Мы работаем над этим проектом уже месяц, но он все еще не завершен», – сказал он. В ретроспективе это особенно забавно, потому что он работал над ним и три года спустя. Но я решил, что стоит нанять еще программистов и спросил Роберта о крутых ребятах в его аспирантуре. Он порекомендовал Тревора Блэквелла, что сначала удивило меня, поскольку он стремился все сводить в стопку записок, которую всюду носил с собой. Но Роберт, как всегда, был прав. Тревор невероятно эффективно писал код.
Работать с Робертом и Тревором было очень весело. Это два человека с самыми независимыми умами, которых я знаю, причем они совершенно разные. Если заглянуть в голову к Роберту, то у него там все выглядит как в церкви в Новой Англии, а у Тревора там излишества австрийского рококо.
Мы открылись с 6 магазинами в январе 1996. Хорошо, что мы выждали несколько месяцев, потому что хоть тогда мы и боялись, что опаздываем, на самом деле было слишком рано. Тогда в прессе много писали об электронной коммерции, но не многие хотели заводить свои интернет-магазины. [8]
Наше ПО состояло из трех основных частей: редактора для создания сайтов, который писал я, корзины для покупок, которую писал Роберт и менеджера для отслеживания заказов и статистики, который писал Тревор. В свое время наш продукт был одним из лучших универсальных конструкторов сайтов. Я писал код лаконично и мне не приходилось подключать свои программы к чему-либо, кроме проектов Роберта и Тревора, так что работать над всем этим было довольно весело. Если бы следующие 3 года мне нужно было только работать над этим ПО, это было бы самое легкое время в моей жизни. К сожалению, нужно было делать и много другого, что получалось у меня хуже написания кода, а потому следующие три года были самыми напряженными.
Во второй половине 90-ых было много стартапов, занимавшихся разработкой ПО для электронной коммерции. Мы были полны решимости создать Microsoft Word, а не Interleaf. Для этого наш продукт должен был быть простым в использовании и недорогим. Нам повезло, что мы сами были бедными, это заставило нас удешевить Viaweb еще сильнее. Мы брали 100 долларов в месяц за небольшой магазин и 300 за большой. Эта низкая цены была одновременно соблазном и бременем для конкурентов, но мы установили ее не из-за разумных соображений. Мы понятия не имели какие бизнесы нам платят и как они это делают. 300 долларов в месяц казались нам большими деньгами.
Много правильных решений мы приняли случайно. Например, мы делали то, что сейчас называют "немасштабируемыми решениями", хотя тогда мы это описали бы как «нечто настолько неубедительное, что мы идем на отчаянные меры для привлечения пользователей». Самым распространенным таким проявлением было создание магазинов для клиентов. Это казалось нам особенно унизительным, ведь вся суть существования нашего ПО заключалась в предоставлении людям возможности создавать свои магазины. Но мы были готовы на все, чтобы получить пользователей.
Мы узнали о розничной торговле больше, чем хотели бы, Например, если у нас была небольшая фотография рубашки (а по нынешним меркам все картинки тогда были маленькими), то лучше было иметь крупный план воротника, чем кадр со всей рубашкой. Помню как узнал об этом, потому что это означало, что мне придется переделать 30 картинок с рубашками. Впрочем, их первые версии тоже были красивыми.
Хоть это и казалось неправильным, это было правильное решение. Создание магазинов для клиентов позволило нам многое узнать о розничной торговле и об использовании нашего ПО. Сначала меня оттолкнул сам «бизнес» – я думал, что нам понадобится «человек из бизнеса», который бы всем руководил, но как только мы начали привлекать пользователей я изменился так же, как после рождения детей. Чего бы ни хотели пользователи, я был в их власти. Может быть однажды к нам пришло бы настолько много пользователей, что я больше не мог бы делать для них картинки с рубашками, но в тоже время не было ничего более важного.
Была и другая вещь, которую я тогда не понял. Я не осознавал, что темп роста — главное испытание для стартапа. У нас было около 70 магазинов в конце 1996 года и около 500 в конце 1997. Я ошибочно думал, что решает абсолютное количество пользователей. Это важно с точки зрения ваших доходов – если их не будет хватать, вы можете выйти из бизнеса. Но в долгосрочной перспективе темп роста выправляет абсолютное число пользователей. Если бы мы были стартапом, который я консультировал в Y Combinator, я бы сказал так: хватит нервничать, у вас все хорошо. У вас семикратный прирост каждый год, просто не нанимайте слишком много людей, тогда ваш бизнес станет прибыльным, а вы сможете контролировать свою судьбу.
Увы, я нанял много людей. Отчасти из-за того, что таким было желание наших инвесторов, а отчасти из-за того, что во времена интернет-пузыря многие так делали. Таким образом, мы не достигли безубыточности вплоть до сделки с Yahoo в 1998 году. Это, в свою очередь, означало, что мы были во власти инвесторов на протяжении всего срока жизни компании. А поскольку и мы, и наши инвесторы, были новичками в стартапах, в результате творился беспорядок даже по меркам стартапов.
Когда мы ушли под Yahoo, пришло большое облегчение. В целом, акции Viaweb были ценными. Они представляли собой долю в быстрорастущем бизнесе. Но для меня все это было не слишком ценно. Я понятия не имел как оценивать бизнес, но я слишком хорошо чувствовал околосмертные переживания, которые, кажется, наступали каждые несколько месяцев. С тех пор, как мы начали, я не изменил существенно свой аспирантский стиль жизни. Поэтому когда нас купила Yahoo, это был переход из грязи в князи. Поскольку мы переезжали в Калифорнию, я купил желтый VW GTI 1998 года выпуска. Думаю, кожаные сидения этой машины были моим наиболее роскошным имущуством.
В следующем году, с лета 1998 по лето 1999, наверное выдался наименее продуктивный отрезок моей жизни. Тогда я этого не осознавал, но я очень устал от усилий и стрессов, связанных с запуском Viaweb. Какое-то время после переезда в Калифорнию я пытался действовать по-прежнему. Я программировал до трех часов ночи, но усталость вместе с преждевременно состарившейся корпоративной культурой Yahoo и мрачным офисом в Санта-Кларе постепенно меня добили. Через несколько месяцев мне стало очень неприятно, как во времена работы в Interleaf.
Yahoo раздали нам много опционов после покупки. Тогда я думал, что Yahoo очень переоценена, так что я удивился когда узнал, что цена акций к следующему году выросла в 5 раз. Я продержался до получения первых опционов и ушел летом 1999 года. Я так давно ничего не рисовал, что почти забыл, зачем я все это делал. 4 года мой мозг был забит разработкой ПО и рубашками. Я напомнил себе, что делал все это, чтобы разбогатеть и иметь возможность рисовать. Я разбогател, а значит нужно было заняться рисованием.
Когда я сказал, что ухожу, мой босс в Yahoo долго беседовал со мной о моих планах. Я рассказал ему о том, какие картины хочу нарисовать. Тогда я был тронут его интересом. Теперь я понимаю, что ему просто казалось, что я лгу. Тогда мои опционы стоили примерно 2 миллиона долларов. Если бы я просто оставил эти деньги, их хватило бы для основания нового стартапа, а для этого мог бы взять с собой других людей. В те годы интернет-пузырь был на пике, и Yahoo была эпицентром той эпохи. Мой босс на тот момент был миллиардером. Уход из Yahoo с целью основания нового стартапа казался ему безумным, но при этом амбициозным планом.
Но я действительно уходил, чтобы рисовать, и я сразу взялся за это. Терять время было нельзя. Я и так прожег 4 года, чтобы разбогатеть. Теперь, когда я разговариваю с основателями, которые уходят после продажи своей компании, я всегда даю один совет: возьмите отпуск. Вот что я должен был сделать, просто уйти куда-нибудь и месяц или два и ничего не делать, но эта идея мне никогда не приходила в голову.
Я пытался рисовать, но похоже, что у меня не было ни энергии, ни амбиций. Отчасти проблема заключалась в том, что я почти никого не знал в Калифорнии. Я усугубил ее, купив прекрасный дом в Калифорнии с замечательным видом, который находился за много миль от моих любимых мест. Я продержался несколько месяцев, а затем в отчаянии вернулся в Нью-Йорк. Вы будете удивлены, если не знаете о том, как организован контроль за арендой жилья в Нью-Йорке, потому что квартира была запечатана и похожа на гробницу моей старой жизни. По крайней мере, Идель все еще была в Нью-Йорке, и там были и другие люди, которые пытались рисовать, хотя я никого из них не знал.
Когда я вернулся в Нью-Йорк, я начал жить по-прежнему, только теперь я был богат. Это было именно настолько странно, как и звучит. Я делал все как раньше, хотя появились и новые возможности. Если я уставал от пеших прогулок, мне нужно было лишь поднять руку (если не шел дождь), чтобы меня подобрало такси. Теперь, когда я проходил мимо очаровательных ресторанов, я мог зайти и заказать обед. Какое-то время это было захватывающе. Рисование стало получаться лучше. Я экспериментировал с новым методом рисования натюрмортов: сначала я рисовал картину как обычно, затем фотографировал ее, распечатывал, размещал ее на холсте, а затем использовал как подмалевок для второй картины, написанной с этих же объектов (которые, как я надеялся, не сгнивали за это время).
Попутно я искал квартиру, которую мог бы купить. Теперь я действительно мог выбирать в каком районе жить. Я пытался узнать где в Нью-Йорке находится Кембридж. После нескольких визитов в настоящий Кембридж я понял, что его там нет. Эх.
Примерно в это же время, весной 2000 года, у меня появилась идея. Из нашего опыта с Viaweb стало ясно, что будущее за веб-приложениями. Почему бы не создать веб-приложение для создания веб-приложений? Почему бы не дать людям возможность редактировать код на нашем сервере через браузер, а затем размещать в сети получившиеся приложения? [9] Пользователи могли бы запускать на серверах всевозможные сервисы, которые эти приложения могли бы использовать просто с помощью запросов к API: совершение и прием звонков, обработка изображений, прием платежей с кредитных карт и т.д.
Я был так взволнован этой идеей, что не мог думать ни о чем другом. Факт, что за этим будущее, казался очевидным. Я не очень хотел создавать новую компанию, но было ясно, что эту идею нужно будет воплотить как единое целое, так что я решил переехать в Кембридж и взяться за нее. Я надеялся заманить Роберта поработать со мной над этим проектом, но он теперь был постдоком в MIT. Несмотря на то, что когда я приглашал его в прошлый раз, он заработал много денег, также он потерял немало времени. Хоть он и соглашался с тем, что идея может сработать, он категорически отказался работать над ней.
Хм. Что ж, значит мне предстояло все сделать самому. Я нанял Дэна Гиффина, который работал в Viaweb, и двух студентов, которые искали работу на лето, и мы взялись за дело. Теперь ясно, что наш проект впору разбить на 20 компаний и несколько проектов с открытым исходным кодом. Язык для разработки приложений, конечно, был диалектом Lisp. Впрочем, я не был настолько наивен, чтобы полагать, что смогу продвинуть Lisp среди широких масс. Мы скрывали скобки, как это делал Дилан.
К тому времени Viaweb можно было назвать провайдером прикладных услуг (ASP). Это название прожило недолго, его заменили на «Software as a service» (ПО как услуга), но новую компанию я все равно назвал Aspra.
Я начал работать на конструктором приложений, Дэн занимался сетевой инфраструктурой, а двое старшекурсников работали над первыми двумя сервисами (для изображений и звонков). Примерно в середине лента я понял, что на самом деле не хочу управлять компаний – особенно небольшой, которая, как казалось, такой и должна быть. Мне больше не нужны были деньги, так зачем я это делал? Если мое видение должно было быть реализовано в виде компании, то к черту это видение. Я бы создал его небольшую часть в виде проекта с открытым исходным кодом.
К моему удивлению, время на этот проект не было потрачено зря. После запуска Y Combinator я часто видел стартапы, работающие с частями этой новой архитектуры, было полезно потратить время на размышления и даже попробовать что-то написать на эту тему.
В итоге проект с открытым исходным кодом, которым я занимался, стал новой версией Lisp, скобки которой и скрывать не хотелось. Многие люди, пишущие код на Lisp, мечтают создать новый Lisp. Отчасти дело в том, что одна из отличительных черт этого языка заключается в множестве его диалектов, а отчасти в том, что где-то в нашем сознании существует платоническая форма Lisp, от которой идут все диалекты. К концу лета мы с Дэном взялись за работу над новым диалектом Lisp, который мы назвали Arc, в новом доме, который я купил в Кембридже.
Следующей весной прогремел гром. Меня пригласили выступить на конференции по Lisp, я рассказывал как мы писали на нем в Viaweb. Я разместил постскрипт этого выступления на paulgraham.com, который создал задолго до Viaweb, но совсем не использовал. Однажды страница с выступлением набрала 30 000 просмотров. Что, черт возьми, произошло? По URL-ссылкам стало ясно, что кто-то разместил мое выступление на Slashdot [10]
Вау, подумал я, у меня есть аудитория. Если я что-то напишу и выложу в сеть, любой может это прочитать, Сейчас это кажется очевидным, но тогда это было удивительно, В эпоху печати существовал узкий канал для передачи сведений читателям, охраняемый свирепыми монстрами – редакторами. Привлечь аудиторию к своему тексту можно было лишь опубликовав его в виде книги, в газете или в журнале. Теперь же кто угодно мог публиковать что угодно.
Все это было возможно с 1993, но никто об этом не задумывался. Я был тесно связан с развитием инфраструктуры интернета, писал тексты, но даже мне понадобилось 8 лет, чтобы прийти к этой мысли. Затем мне потребовалось еще несколько лет, чтобы осознать последствия. Это значило, что грядет новое поколение эссе. [11]
В эпоху печати каналов для публикации эссе было очень мало. За исключением нескольких общепризнанных мыслителей, ходивших на правильные вечеринки в Нью-Йорке, публиковать эссе разрешалось только специалистам, пишущим о своей деятельности. Многие эссе так и не были написаны из-за отсутствия каналов для их публикации. Канал появился, и я собирался писать. [12]
Я работал над несколькими разными вещами, но когда я начал публиковать эссе в интернете, наступил поворотный момент, С тех пор чем бы я ни занимался, я знал, что всегда буду писать эссе.
Я знал, что поначалу сфера онлайн-эссе будет маргинальной. В социальном плане эти тексты больше походили на тирады психов с GeoCities, чем на благородные и красиво набранные тексты из The New Yorker. Но к этому моменту я знал достаточно, чтобы это обнадеживало, а не пугало.
Одна из самых заметных закономерностей, которые я замечал в своей жизни – это то, насколько хорошо (по крайней мере для меня) работать над тем, что не считается престижным. Натюрморт всегда был наименее престижным видом живописи. Когда мы начинали, всем казалось, что Viaweb и Y Combinator никому не нужны. Незнакомцы до сих пор удивляются, когда я говорю, что пишу эссе и собираюсь опубликовать его на своем сайте. Даже Lisp, который считается интеллектуально престижным (примерно как латынь) кажется просто модным.
Дело не в том, что непрестижные работы хороши сами по себе. Но если вы понимаете, что вас тянет к какой-то работе, несмотря на ее проблемы с престижем, это говорит о том, что в ней есть что-то правильное, и что у вас правильные мотивы. Неправильные мотивы – большая проблема для амбициозных людей. Если что-то и может сбить вас с верного пути, то это желание произвести впечатление на людей. Таким образом, хоть работа над непрестижными вещами и не гарантирует, что вы на правильном пути, по крайней мере он гарантирует, что вы не на популярном неправильном пути.
В течение нескольких следующих лет я написал множество эссе на самые разные темы. O'Reilly издали их сборник под названием «Хакеры и художники», после одного эссе о них. Также я работал над фильтрами спама и продолжал рисовать. Я приглашал друзей на ужин по вечерам в четверг, что научило меня готовить для группы людей. Позже я купил в Кембридже еще одно здание, бывшую леденцовую фабрику (и как позже оказалось, бывшую порностудию) для использования в качестве офиса.
Однажды в октябре 2003 года у меня дома проходила большая вечеринка. Это была отличная идея моей подруги Марии Дэниэлс, она однажды приходила на ужин в четверг. Три разных хозяина приглашали гостей на вечеринки. Таким образом, на каждого гостя две трети других гостей будут незнакомцами, которых те хотели бы узнать. Одним из гостей была незнакомая мне девушка, которая мне очень понравилась: Джессика Ливингстон. Пару дней спустя я пригласил ее на свидание.
Джессика отвечала за маркетинг в Бостонском инвестиционном банке. Руководство этого банка было уверено в том, что разбирается в стартапах, но в следующем году, когда Джессика встретилась с моими друзьями из мира стартапов, она была удивлена, насколько все расходилось с реальностью. Также ее удивили их яркие и красочные рассказы. Поэтому она решила написать книгу-сборник интервью с основателями стартапов.
Когда у банка начались финансовые трудности и им пришлось сократить половину штата, Джессика начала искать новую работу. В начале 2005 года она прошла собеседование на маркетинговую должность в Бостонской венчурной фирме. Им потребовалось несколько недель на принятие решения, и за это время я начал рассказывать ей обо всем, что нужно знать о венчурном капитале. Что компании нужно делать много небольших инвестиций вместо нескольких гигантских, что им следует финансировать более молодых и близких к технологиям основателей, а не MBA, что нужно оставлять основателей на позиции генерального директора и так далее.
Один из моих приемов для написания эссе – выступление с докладом. Перспектива встать перед группой людей и рассказать им о чем-то, что не потратит их время зря, была большим стимулом для воображения. Когда Гарвардское компьютерное сообщество (компьютерный клуб бакалавров) попросил меня выступить с докладом, я решил, что расскажу им о создании стартапов. Может быть, им удастся избежать худшей из ошибок, что мы сделали.
Итак, я выступил с этим докладом. Я сказал, что лучшими источниками финансирования для стартапов могут быть основатели успешных стартапов, поскольку они также могут помочь советом. Тогда казалось, что все слушатели выжидающе смотрят на меня. В ужасе от перспективы, что мой почтовый ящик будет завален бизнес-планами (если бы я только знал), я выпалил: «Но только не я!» и продолжил доклад. Но потом мне пришло в голову, что стоит перестать откладывать это дело и стать бизнес-ангелом. Я хотел заняться этим еще во времена нашей сделки с Yahoo, с тех пор прошло 7 лет, а я не сделал ни одной инвестиции.
Попутно мы с Тревором и Робертом планировали проекты, над которыми могли бы работать вместе. Я скучал по работе с ними и казалось, что можно найти то, над чем мы могли бы сотрудничать.
Когда мы с Джессикой шли домой после ужина 11 марта на углу улиц Гарден и Уокер, эти три нити сошлись. К черту венчурных инвесторов, которые так долго принимали решение. Мы решили открыть собственную инвестиционную фирму и воплотить в жизнь идеи, о которых говорили. Я профинансировал бы эту компанию, а Джессика могла бы уйти со своей работы и начать работать с нами, а Роберт и Тревор стали бы нашими партнерами. [13]
Незнание снова сработало в нашу пользу. Мы понятия не имели как быть бизнес-ангелами, а в 2005 еще не было Рона Конвея, у которого можно было бы учиться. Мы просто сделали очевидный выбор, а некоторые из наших решений оказались новыми.
Y Combinator состоит из нескольких компонентов, и мы не сразу сформулировали их все. В первую очередь мы стали фирмой-ангелом. Тогда эти два слова не стыковались. Тогда были венчурные фирмы, чья работа заключалась исключительно в инвестировании, но они делали только крупные инвестиции в миллионы долларов. И были ангелы, которые делали небольшие инвестиции, но это были люди, которые обычно были сосредоточены на других вещах и инвестировали на стороне. Никто из них не мог достаточно помогать основателям в начале пути. Мы знали, насколько беспомощными могут быть основатели, потому что помнили как сами были беспомощны. Например, Джулиан в свое время сделал то, что казалось нам волшебством – основал компанию. Мы прекрасно писали ПО, а законное оформление, акции и прочее – что это вообще такое? Мы собирались заниматься не просто посевными инвестициями, мы хотели делать все то, что Джулиан сделал для нас.
YC изначально не был фондом. Компания была не слишком затратной, так что мы финансировали ее собственными средствами. У 99% читателей это вопросов не вызовет, а профессиональные инвесторы подумали «Вау, значит они забрали себе всю прибыль». Опять же, это произошло не из-за проницательности с нашей стороны. Мы не знали как устроены венчурные фирмы. Нам никогда и в голову не приходило собрать фонд, а если бы пришло, то мы бы не знали с чего начать. [14]
Главная отличительная черта YC – это пакетная модель, мы финансировали сразу несколько стартапов два раза в год, а затем три месяца пытались интенсивно им помогать. Это получилось не только неявно, но и явно из-за того, что мы мало знали об инвестировании. Нам нужно было получить опыт. Мы подумали – что может быть лучше, чем финансировать сразу несколько стартапов? Мы знали, что летом студенты получают временную работу в технологических компаниях. Почему бы не организовать летнюю программу, где вместо этого запускали бы стартапы? Мы не чувствовали себя виноватыми в том, что в некотором смысле являемся фальшивыми инвесторами, поскольку они в том же смысле являлись фальшивыми основателями. Вероятно, нам не предстояло заработать на этом много денег, но мы могли попрактиковаться в инвестициях, а ребята, с которыми мы будем работать, проведут лето интереснее, чем работая в Microsoft.
В качестве штаб-квартиры мы использовали принадлежавшее мне здание в Кембридже. Мы все ужинали там раз в неделю (по вторникам, потому что в четверг я готовил ужины), а после ужина приглашали экспертов по стартапам для выступления.
Мы знали, что студенты решают вопрос о летней работе за считанные дни, так что мы придумали летнюю программу для основателей. Я разместил объявление о ней на своем сайте и приглашал студентов подавать заявки. Я никогда не думал, что написание эссе позволит создать «поток сделок», как это делают инвесторы, но все сработало. [15] В итоге мы получили 225 заявок на участие в Летней программе для основателей и обнаружили, что многие из подавших заявки либо закончили учебу, либо вот-вот заканчивали. Вся эта история с летней программой стала казаться более серьезной, чем мы предполагали.
Мы пригласили 20 из 225 групп на очные собеседования, и в 8 из них мы решили инвестировать. Это была впечатляющая группа. В первый поток вошли Reddit, Джастин Кан и Эммет Шир, которые впоследствии основали Twitch, Аарон Шварц, который уже помог написать спецификацию RSS и через несколько лет станет мучеником за «открытый доступ», и Сэм Альтман, который позже стал вторым президентом YC. Не думаю, что первый поток был хорош только благодаря удаче. Нужно было проявить смелость, чтобы записаться на такую программу вместо работы в солидном месте вроде Microsoft или Goldman Sachs.
Сделка для стартапов была основана на сочетании сделки, которую мы заключили с Джулианом (10 тысяч долларов за 10%), и того, что, по словам Роберта, получили аспиранты Массачусетского технологического института на лето (6 тысяч долларов). Мы инвестировали 6 тысяч долларов на основателя, что в среднем означало 12 тысяч в обмен на 6%. Это должно было быть справедливо, потому что это вдвое лучше сделки, которую мы заключили в свое время. Плюс то лето действительно жарким, и Джессика организовала основателям бесплатные кондиционеры. [16]
Вскоре я понял, что мы наткнулись на способ увеличения финансирования стартапов. Пакетное финансирование для нас было удобнее, посколька оно позволяло что-то делать для большого количества стартапов одновременно, а также им самим было полезнее работать в группах. Это также решало одну из самых больших проблем, с которой сталкиваются основатели: изоляция. Теперь у основателей были не только обычные коллеги, но и коллеги, которые понимали их проблемы и делились методами их решения.
С ростом YC мы начали замечать и другие преимущества роста. Выпускники стали сплоченным сообществом, они стремились помогать друг другу и стартапам в нынешних группах, потому что помнили каково было им самим. Мы также заметили, что стартапы становились клиентами друг друга. Раньше мы в шутку говорили о «ВВП Y Combinator», но теперь в этом все меньше и меньше шутки. Теперь многие стартапы получают первых клиентов среди своих товарищей по группе.
Изначально я не планировал делать YC своей основной и полноценной работой. Я собирался заниматься тремя вещами: писать код, писать эссе и работать в YC. По мере роста YC, я все больше вовлекался в его дела, и в итоге он стал отнимать больше трети моего внимания. Но первые несколько лет я мог спокойно заниматься другими делами.
Летом 2006 года мы с Робертом начали работу над новой версией ARC. Она была довольно быстрой, поскольку компилировалась в Scheme. Чтобы проверить работоспособность этого языка, я написал на нем Hacker News. Изначально это должен был быть агрегатор новостей для основателей стартапов, он назывался Startup News, но уже через несколько месяцев я устал читать исключительно о стартапах. К тому же, мы не хотели обращаться к основателям стартапов. Мы хотели достучаться до будущих основателей. Так что я изменил название на Hacker News, а темой могло стать все, что интересовало интеллектуальное любопытство.
HN, безусловно, был полезен для YC, но он стал большим источником стресса для меня. Если бы мне нужно было только выбирать основателей и помогать им, жизнь была бы очень легкой, Но это значило бы, что HN был ошибкой. В то время я был похож на человека, испытывающего боль во время марафона не из-за усталости и напряжения, а из-за волдыря от неподходящей обуви. Когда я сталкивался с неотложными проблемами во времена работы с YC, они с вероятностью 60% относились к HN и 40%, что ко всему остальному вместе взятому. [17]
Помимо HN, я написал все внутренне ПО для YC на Arc. Но пока я продолжал писать на Arc, я постепенно перестал работать над самим языком. Отчасти из-за нехватки времени, а отчасти из-за того, что от него зависела инфраструктура. Так что теперь у меня было два проекта: эссе и YC.
YC не был похож на работу, которой я занимался раньше. Я больше не мог выбирать над чем работать, проблемы сами приходили ко мне. Каждые 6 месяцев появлялась новая партия стартапов, и их проблемы (какими бы они ни были) становились нашими. Это было увлекательно, поскольку их задачи были разнообразны, а хорошие основатели были очень продуктивны. Если бы вы хотели узнать о стартапах как можно больше в сжатые сроки, то способа лучше просто нет.
Были и части работы, которые мне не нравились. Споры между соучредителями, попытки выявить ложь, борьба с людьми, грубо обращающихся со стартапами и так далее. Но я много работал и над тем, что мне не нравилось. Мне преследовала мысль Кевина Хейла: «Никто не работает больше, чем начальник». Это была и описательная мысль, и предписание, и меня пугала вторая ее сущность. Я хотел, чтобы YC был успешен, а если то, как я работаю, описывает верхнюю планку работы всех остальных, то мне лучше работать очень усердно.
Однажды в 2010 году в Калифорнию приезжал Роберт Моррис, и он сделал нечто удивительное – дал мне непрошеный совет. Я такое от него помню лишь однажды. Однажды в Viaweb я согнулся пополам из-за камня в почке, и Роберт решил, что ему стоит отвезти меня в больницу. Именно такие поводы нужны были Роберту для того, чтобы дать непрошеный совет. Так что я очень хорошо запомнил его слова: «Знаешь, ты должен убедиться, что YCombinator – не последнее твое крутое дело».
Тогда я не понимал что он имел в виду, но скоро до меня дошло, что он советует мне уйти. Этот совет казался странным, поскольку у YC все шло отлично. Если что-то и случалось реже, чем непрошенные советы от Роберта, то это его ошибки. Это заставило меня задуматься. Действительно, на той траектории YC стал бы последним моим делом, потому что он сам отнимал очень много моего внимания. Он уже поглотил Arc и начал поглощать эссе. Либо YC должен был стать делом моей жизни, либо мне нужно было уйти. И я решился.
Летом 2012 года у моей мамы случился инсульт, причиной которого стал тромб, вызванный раком прямой кишки. Инсульт уничтожил ее равновесие и мы поместили ее в дом престарелых, но она хотела выбраться из него и вернуться домой. Мы с сестрой были полны решимости помочь ей в этом. Я часто летал в Орегон, чтобы навестить маму, и на этих рейсах у меня было много времени для размышлений. На одном из них я понял, что готов передать YC кому-то другому.
Я спросил Джессику не хочет ли она стать президентом, но она отказалась, так что мы решили нанять Сэма Альтмана. Мы поговорили с Робертом и Тревором и договорились о полной смене караула. До этого момента YC контролировался LLC, основанным нами вчетвером. Мы хотели, чтобы YC жил долго, а значит нельзя было отдать управление основателям. Так что если Сэм согласится, то мы дали бы ему возможность реорганизовать YC. Мы с Робертом ушли бы на пенсию, А Джессика и Тревор стали обычными партнерами.
Когда мы спросили Сэма хочет ли он стать президентом YC, он сперва ответил отрицательно. Ох хотел запустить стартап по производству ядерных реакторов. Я продолжал настаивать, и в октябре 2013 он наконец согласился. Мы решили, что он возьмет на себя управление, начиная с потока зимы 2014 года. До конца 2013 года я передавал Сэму все больше полномочий – отчасти, чтобы он мог освоить эту работу, а отчасти, потому что я был сосредоточен на своей матери, у которой вернулся рак.
Мама умерла 15 января 2014 года. Мы знали, что этот момент был близок, но когда это случилось, было тяжело.
Я продолжал работать в YC до марта, чтобы помочь стартапам добраться до демо-дня, а затем проверял результаты (я все еще общаюсь с выпускниками и новичками, работающими над тем, что меня интересует, но на это уходит всего несколько часов в неделю).
Что мне делать дальше? В совете Роберта ничего об этом не говорилось. Я хотел заняться чем-то другим, так что вернулся к рисованию. Я хотел увидеть чего смогу добиться, если сосредоточусь на этом. Итак, на следующий день, после ухода из YC, я начал рисовать. Я был не в форме и мне потребовалось время, чтобы ее вернуть, но это было увлекательно. [18]
Большую часть 2014 года я провел за рисованием. Мне никогда не удавалось работать так непрерывно, и я должен был стать лучше, чем раньше. Я был не слишком крут, но все же лучше. Затем в ноябре, прямо посреди работы над картиной, я выдохся. До этого момента мне всегда было интересно увидеть какой получится картина, над которой я работал, но внезапно завершение этой показалось мне рутинной работой. Я перестал работать над этой картиной, почистил кисти, и больше этим не занимался – по крайней мере, пока.
Я понимаю, что звучит слабо. Но напоминаю – это игра с нулевой суммой. Если вы можете выбрать над чем работать и выбрали не лучший (или просто не очень хороший) проект для себя, то он будет мешать другому проекту. А в 50 появилась неплохая упущенная ранее возможность бездельничать.
Я снова начал писать эссе и написал кучу новых текстов в течение следующих нескольких месяцев. Я даже написал пару статей, не касавшихся стартапов. Затем в марте 2015 года я снова начал работать над Lisp.
Отличительная черта Lisp заключается в том, что его ядро – это интерпретатор языка, написанный на нем самом. Изначально он не задумывался как язык программирования в привычном понимании. Он должен был быть формальной моделью вычислений, альтернативой машине Тьюринга. Если вы хотите написать интерпретатор для языка, какой минимальный набор предопределенных операторов вам нужен? Lisp, который изобрел (или, вернее, открыл) Джон Маккарти, является ответом на этот вопрос. [19]
Маккарти не понимал, что этот Lisp можно было использовать для программирования на компьютерах, пока это не предложил его студент – Стив Рассел. Рассел перевел интерпретатор Маккарти на машинный язык IBM 1704, и с этого момента Lisp стал языком программирования в привычном понимании этого слова. Но его происхождение как модели вычислений придало ему силу и элегантность, с которыми другие языки не могли сравниться. Именно это привлекало меня в колледже, хотя я не понимал почему.
Lisp Маккарти 1960 года не умел ничего кроме интерпретации выражений. Ему не хватало многих вещей, которые хочется иметь в языке программирования. Их пришлось добавить, а когда они появились, то они не были определены с помощью аксиоматического подхода Маккарти. Тогда это было невозможно. Маккарти тестировал свой интерпретатор вручную, моделируя выполнение программ. Он приближался к пределу интерпретаторов, которые можно было протестировать таким образом – там была ошибка, которую Маккарти не заметил. Чтобы протестировать более сложный интерпретатор, его нужно было запустить, а тогдашние компьютеры были недостаточно мощными.
Теперь же они достаточно мощны. Вы можете использовать аксиоматический подход Маккарти, пока не определите полноценный язык программирования. И покуда ваши изменения, вносимые в Lisp Маккарти, сохраняют принцип того, что он был открыт, а не изобретен, вы можете создать полноценный язык с этим качеством. Сделать это конечно сложнее, чем говорить, но если это возможно – почему не попробовать? Я решил попробовать. На это ушло 4 года, с 26 марта 2015 года по 12 октября 2019. К счастью, у меня была четко определенная цель, иначе трудно было бы этим так долго заниматься.
Я написал новый Lisp, названный Bel, на Arc. Может показаться, что тут есть противоречие, но это показатель того, что мне пришлось прибегнуть к хитрости, чтобы заставить все работать. С помощью ряда уловок, мне удалось написать нечто максимально близкое к работоспособному интерпретатору языка, написанному на этом же языке. Он не слишком быстр, но достаточно быстр для тестов.
Большую часть того времени я запрещал себе писать эссе, иначе я никогда бы не закончил, В конце 2015 года я выделил 3 месяца на написание эссе, и когда я вернулся к работе над Bel, я едва мог понимать код. Не потому, что он был плохо написан, просто программа была запутанной. Когда вы работаете над интерпретатором для языка, написанным на этом же языке, сложно отслеживать что и на каком уровне происходит, ошибки могут быть зашифрованы до момента их получения.
Так что я больше не писал эссе, пока не закончил работу над Bel. В эти годы могло казаться, что я ничего не делаю, хотя я работал больше, чем когда-либо. Иногда после нескольких часов борьбы с жуткими багами я заходил на HN или в Твиттер и видел посты вроде «А пол Грэм еще пишет код?»
Работа над Bel была сложной, но она приносила удовлетворение. Я работал над ним так интенсивно, что у меня в голове постоянно были куски кода, и я мог писать больше и больше. Я помню как в солнечный день в 2015 году ходил со своими мальчиками на пляж и думал как решить проблему с продолжениями, наблюдая как ребята играют в волнах прибоя. Я помню этот момент, потому что был встревожен его новизной. Хорошо, что в следующие несколько лет у меня было больше таких моментов.
Летом 2016 года мы переехали в Англию. Мы хотели, чтобы наши дети получили опыт проживания в другой стране, а поскольку по рождению я был гражданином Великобритании, этот выбор был очевидным. Мы хотели побыть там всего год, но нам так понравилось, что мы решили остаться. Большая часть Bel была написана в Англии.
Осенью 2019 я закончил работу над Bel. Как и оригинальный Lisp Маккарти, это скорее спецификация, чем реализация, и как и Lisp Маккарти – это спецификация, выраженная в коде.
Теперь я снова мог вернуться к написанию эссе. Я охватил кучу интересных мне тем. Я продолжил писать эссе до 2020 года, а потом снова стал думать над чем я мог бы работать. Как выбрать чем заниматься? А как я раньше делал этот выбор? Я написал для себя эссе, чтобы ответить на эти вопросы и был удивлен насколько длинным и запутанным получился ответ. Я подумал, что если он удивил меня, человека, который все это прожил, то насколько интересно это будет другим людям? Может этот текст вдохновит и других людей, чья жизнь столь беспорядочна? Я написал для них более развернутую версию, чтобы другие люди могли ее прочитать – и это ее последнее предложение.
[1] В моем опыте пользования ПК пропущена одна эпоха: машины с разделением времени и интерактивными ОС. Я перешел от перфокарт сразу к микрокомпьютерам, что сделало последние менее захватывающими.
[2] Значение итальянских слов, обозначающих общие понятия, можно предсказать по их английским аналогам (за исключением ловушек вроде Polluzione). Различаются только повседневные слова. Если вы свяжете какое-то количество общих понятий и простых глаголов, вы сможете немного продвинуться в изучении итальянского.
[3] Я жил на Пьяцце Сан-Феличе 4, так что мои прогулки до Академии проходили по всей старой Флоренции: мимо Питти, через Мост, мимо Орсанмикеле, между Дуомо и Баптистерием, затем по улице Виа Риказоли до площади Сан Марко. Я видел улицы Флоренции в самых разных состояниях: от темных зимних вечеров, когда они были пусты, до жарких летних дней, когда улицы заполнены туристами.
[4] Конечно, вы можете рисовать людей как натюрморты, если хотите (и если они готовы). Такой портрет, вероятно, является вершиной натюрморта, хотя долгая неподвижность вызывает у натурщиков болезненные выражения.
[5] Interleaf была одной из многих компаний, у которой были умные люди, которые создавали крутые технологии, но все это было раздавлено законом Мура. В 1990-ые экспоненциальный рост мощности процессоров (например, от Intel) сковал компании, выпускающие специализированное программное и аппаратное обеспечение.
[6] Искатели фирменного стиля из Род-Айлендской школы дизайна – не обязательно наемники. Все дорогое становится крутым, а все, что кажется крутым, вскоре станет дорогим.
[7] Технически, аренда у квартиры не контролировалась, а была стабилизирована, но все эти вещи понятны только жителям Нью-Йорка. Суть в том, что она была очень дешевой, ниже половины от рыночной стоимости.
[8] Большую часть ПО можно выпускать после завершения разработки, но если вы работаете над конструктором интернет-магазинов и у вас нет пользователей, то все не так просто. Перед публичным запуском нам пришлось провести частный запуск, то есть набрать ограниченную группу пользователей и убедиться, что они получают приличные магазины.
[9] У нас был редактор кода в Viaweb, который позволял создавать свои собственные стили страниц. Пользовали этого не знали, но под капотом они редактировали выражения на Лиспе. Но это не был редактор приложений, поскольку код запускался при создании сайтов продавцами, а не при их посещении покупателями.
[10] Это был первый пример такого опыта, который позже стал привычным. То же самое произошло, когда я прочитал комментарии и обнаружил там множество разгневанных людей. Как я только мог утверждать, что Лисп лучше других языков? Разве они не были Тьюринг-полны? Люди, которые видят реакции на мои эссе, порой говорят, что им меня жаль. Я не преувеличиваю, когда говорю, что так было с самого начала. Все это приходит с распространением. Эссе рассказывают людям о том, чего они еще не знают, а людям это не нравится.
[11] Конечно, в 90-е люди много чего выкладывали в интернет, но выложить в интернет и опубликовать – это разные вещи. Публикация подразумевает, что вы рассматриваете интернет-версию как основную.
[12] Есть один общий урок, который мы извлекли из опыта работы с YCombinator: обычаи будут ограничивать вас долгое время после того, как исчезнут вызвавшие их условия. Когда-то обычные практики венчурных инвестиций, как и приемы написания эссе, были основаны на реальных ограничениях. Запускать стартапы стоило дороже, а потому это происходило редко. Теперь они могли быть дешевыми и распространенными, но обычаи венчурных капиталистов отражали порядки старого мира, так же как обычаи написания эссе по-прежнему отражали обычаи старой эпохи печати.
Все это значит, что люди с независимым мышлением (то есть менее подверженные влиянию обычаев) будут иметь преимущество в быстро меняющихся областях (где обычаи будут с большей вероятностью устаревать);
Интересные момент: не всегда можно предсказать какие поля будут затронуты быстрыми переменами. Очевидно, что это справедливо для ПО и венчурных инвестиций, но кто мог подумать про написание эссе?
[13] Название YCombinator не было изначальным. Сначала мы назвали компанию Cambridge Seed. Мы хотели избавиться от названия с региональной привязкой на случай, если кто-то из Кремниевой Долины нас скопирует, так что мы переименовали компанию в честь одного из самых классных приемов в лямбда-исчислении: Y-комбинатора.
Я выбрал оранжевый как наш основной цвет, потому что он теплый, и потому что его не использовали другие венчурные фонды. В 2005 все венчурные фонды использовали строгие цвета: темно-бордовый, темно-синий и зеленый, потому что они пытались привлечь внимание ограниченных партнеров, а не основателей. Логотип YC – это внутренняя шутка. Логотип Viaweb представлял собой белую букву V в красном круге, так что я логотип YC – это белая буква Y в оранжевом квадрате.
[14] Начиная с 2009 года, YC пару лет был фондом, но потом он настолько разросся, что я больше не мог финансировать его самостоятельно. Впрочем, после покупки Heroku, у нас было достаточно денег, чтобы вернуться к самофинансированию.
[15] Мне никогда не нравился термин «поток сделок», потому что он подразумевает, что количество новых стартапов в любой момент времени фиксировано. Это ложь, и цель YC – опровергнуть это утверждение, помогая основывать стартапы, которых в противном случае не существовало бы.
[16] Джессика рассказывала, что все они были разных форм и размеров, потому что был огромный спрос на кондиционеры, а ей нужно было найти все, что можно было. Все они были тяжелее, чем она могла бы нести на себе.
[17] Еще одна проблема HN – странный краевой случай, который возникает, когда вы пишете эссе и ведете форум. Когда вы ведете форум, предполагается, что вы видите если не все беседы вообще, то все беседы с вашим участием. Когда вы пишете эссе, люди постят на форумах весьма вольные и неверные их интерпретации. По отдельности эти явления утомительны, но терпимы, а вместе – губительны. На неверные интерпретации нужно реагировать, потому что предположение о том, что вы присутствуете в разговоре, подразумевает отказ от ответа на неверное толкование, ставшее популярным, и означает признание его правильности. С другой стороны, это ободряет: любой, кто захочет сразиться с вами, будет чувствовать, что у него есть шанс.
[18] Самое печальное в уходе из YC было то, что больше мы не работали с Джессикой. Мы работали над YC почти все время, что были знакомы, и мы не пытались и не хотели отделять эту работу от нашей личной жизни. Этот уход был похож на вырывание глубоко укоренившегося дерева.
[19] Один из способов разделить концепции изобретения и открытия – поговорить о пришельцах. Любая достаточно развитая инопланетная цивилизация наверняка знает о теореме Пифагора. Верю (хоть и с меньшей уверенностью), что они слышали о Лиспе из статьи Маккарти 1960 года.
Но если это и так, то нет оснований предполагать, что это предел известного им языка. Вероятно, пришельцам будут нужны числа, ошибки и ввод/вывод. Так что существует по меньшей мере один вариант того, что Лисп Маккарти был открытием.
Спасибо Тревору Блэквеллу, Джону Коллисону, Патрику Коллисону, Дэниелу Гаклу, Ральфу Хазеллу, Джессике Ливингстон, Роберту Моррису и Харджу Таггару за чтение черновиков этого текста.
Следите за новостями YC Startup Library на русском в телеграм-канале или в фейсбуке.
До колледжа, кроме учебы, я в основном занимался программированием и написанием текстов. Я не писал эссе. Я писал то, что следовало писать (и, вероятно, следует в наши дни) начинающим писателям: небольшие рассказы. Мои рассказы были ужасны. В них почти не было сюжета, только персонажи с сильными чувствами (как мне казалось, эти чувства делали персонажей глубокими).
Первые свои программы я пытался писать на IBM 1401, его у нас в округе использовали для того, что тогда называли «обработкой данных». Это было в 9 классе, так что мне было 13 или 14 лет. Этот 1401 стоял в подвале средней школы, мы с моим другом Ричем Дрейвсом получили разрешение использовать его. Тот подвал был похож на логово бондовского злодея, в котором хранится куча инопланетных устройств – процессоры, жесткие диски, принтер, устройство для чтения карт, и все это под яркими флуоресцентными лампами.
Мы писали на одной из первых версий Фортрана. Программы нужно было набирать на перфокартах, затем складывать их в устройство для чтения карт и нажимать на кнопку, чтобы программа загружалась в память и запускалась. Обычно в результате ее работы что-то печаталось на невероятном громком принтере.
IBM 1401
Тот 1401 был для меня загадкой. Я не понимал что с ним можно делать, Оглядываясь назад, ясно, что я особо ничего и не мог. Единственной формой передачи входных данных были перфокарты, а я на них ничего не хранил. В качестве альтернативы можно было писать программы, не полагающиеся на входные данные (вроде приближенных вычислений числа пи), но я не очень хорошо знал математику для этого. Именно поэтому я не удивлен, что не могу вспомнить ни одной своей программы из того времени – потому что они мало чего умели. Лучше всего мне запомнился тот момент, когда я узнал, что программы могут и не завершаться (когда одна из моих не завершилась). Учитывая, что у того компьютера не было ограничений по времени использования, это была не только техническая, но и социальная ошибка – об этом мне сообщил менеджер центра обработки данных.
Все изменилось с появлением микрокомпьютеров. У нас появились компьютеры, стоящие на столе прямо перед нами, они реагировали на нажатия кнопок прямо во время работы, а не перебирали стопку перфокарт и отключались. [1]
Первый мой друг, получивший микрокомпьютер, собрал его сам. Тогда продавались наборы для самостоятельной сборки от Heathkit. Я отчетливо помню, насколько я был впечатлен и как завидовал, наблюдая как мой друг сидел и набирал программы прямо на компьютере.
Heathkit H8 Digital Computer Kits
Компьютеры тогда стоили дорого, мне пришлось годами уламывать отца, прежде чем он купил TRS-80 примерно в 1980 году. Золотым стандартом тогда был Apple II, но TRS-80 тоже был довольно хорош.
TRS-80
Тогда я действительно начал программировать. Я писал простые игры, разработал программу для оценки траектории полета моих моделей ракет, а также написал текстовый процессор, который мой отец использовал для написания по меньшей мере одной книги. Памяти у компьютера хватало только на 2 страницы текста, так что отец писал две страницы и сразу печатал их, но это было намного лучше, чем работа с пишущей машинкой.
Несмотря на то, что мне нравилось программирование, я не собирался изучать его в колледже. В колледже я собирался заниматься философией, тогда это звучало круче. Школьнику-мне казалось, что философия – это изучение истины в последней инстанции, в то время как в остальных областях занимаются предметными знаниями. Когда я поступил в колледж, я увидел, что в других областях существует такое множество идей, что пространства для абсолютных истин не оставалось. Казалось, что философии оставалось заниматься краевыми случаями, которые в других областях просто игнорировали.
Я не мог выразить это словами, когда мне было 18 лет. Я продолжал ходить на курсы по философии, и они были скучны. Именно поэтому я начал заниматься ИИ.
Об ИИ много говорили в 1980-ых, но мне особую мотивацию придали две вещи: роман Хайнлайна под названием «Луна — суровая хозяйка», в котором использовался умный компьютер по имени Майк, и документальный фильм от PBS, в котором Терри Виноград использовал SHRDLU.
SHRDLU
Я не пытался перечитывать роман Хайнлайна, потому что понимаю, что он устарел, но в те годы я погрузился в мир этой книги. Казалось, что появление Майка – лишь вопрос времени, и когда я увидел как Виноград использует SHRDLU, мне показалось, что на его создание уйдет несколько лет. Казалось, что нужно лишь обучить SHRDLU большему количеству слов.
Тогда в Корнелле не было курсов по ИИ, так что мне пришлось учиться самому. Это значило, что мне нужно было выучить Lisp, потому что тогда он был языком ИИ. В то время большинство языков программирования были примитивными, а значит идеи программистов были такими же. По умолчанию в Корнелле все писали на паскалеподобном языке PL/I, он использовался почти повсеместно. Изучение Lisp настолько расширило мое понимание концепции программ, что ограничения я начал понимать лишь спустя годы. Именно этого я и ожидал от колледжа. Этого эффекта не было от занятий в классах, но это нормально. Следующие пару лет я был в ударе. Я понимал что собираюсь делать.
Для своей бакалаврской выпускной работы я занимался реверс-инжинирингом SHRDLU. Боже, как мне нравилось заниматься этой программой. Было приятно писать тот код, но еще более захватывающе было думать о том (сейчас в это трудно поверить, но в 1985 так думали многие), что те программы были действительно умными и покоряли вершины ИИ.
Я учился в Корнелле на программе, в рамках которой не подразумевался выбор специальности. Для получения степени было посещать любые занятия, которые нравились. Я, конечно, выбрал «Искусственный интеллект». Когда я получил на руки диплом, я встревожился наличию этих кавычек. Тогда меня это беспокоило, но теперь мне это кажется до забавного точным (по причинам, которые мне только предстояло узнать).
Я подал документы в 3 аспирантуры: Массачусетского Технологического, Йеля, который тогда славился в области ИИ, и Гарварда – его я посетил поскольку туда пошел Рич Дрейвз, а также там жил Билл Вудс, разработавший парсер для моего клона SHRDLU. Меня приняли только в Гарвард, так что туда я и пошел.
Не помню когда это произошло и было ли это в какой-то конкретный момент, но в первый год обучения я понял, что концепция ИИ – это ложь. Я говорю об ИИ того типа, в котором программе сообщают, что «собака сидит на стуле», а та переводит эти сведения в некое формальное представление и добавляет их в свою базу знаний.
Все эти программы показывали, что существуют подмножества натурального языка – языки формальные. Очень полезные подмножества. Было ясно, что существует огромный разрыв между их возможностями и реальным пониманием естественного языка. В целом, просто обучить SHRDLU большему количеству слов было недостаточно. Методы создания ИИ на основе структур данных, представляющих концепции, не сработал. Его крах, как это часто случается, породил возможности для написания статей о всевозможных заплатках для него, но все это не позволило бы нам создать Майка.
Я стал думать, что из обломков моих планов можно спасти, и вспомнил про Lisp. По своему опыту работы с ним я знал, что этот язык интересен сам по себе, даже в отрыве от ИИ (хотя в то время люди занимались им только в этом контексте). Именно поэтому я решил сосредоточиться на Lisp. Я решил написать книгу о хакерстве на Lisp. Страшно подумать насколько мало я об этом знал, когда начинал писать книгу. Впрочем, нет ничего лучше написания книги, чтобы разобраться в какой-либо теме. Книга о Lisp была опубликована в 1993, но большую ее часть я написал в аспирантуре.
Computer Science – это непростой союз теории и систем. Теории позволяют строить доказательства, а с помощью систем люди строили и создавали. Я хотел создавать. Я с большим уважением относился к теории (на самом деле, подозреваю, что эта половина более прекрасна), но казалось, что создавать что-то будет интереснее.
Проблема работы над системами заключалась в том, что она длилась недолго. Любая программа, написанная сегодня, какой бы хорошей она ни была, устареет в лучшем случае через пару десятилетий. Люди могут вспоминать о вашем ПО в сносках, но пользоваться им никто не будет. Кажется, что это очень безрадостная работа. Только люди, разбирающиеся в истории этой области, могут понять, что на самом деле это здорово.
Xerox Star 8010 «Dandelion»
В какой-то момент в лаборатории появились несколько лишних компьютеров Xerox Dandelion. Любой желающий поиграться с ним мог его взять. Я сам ненадолго соблазнился, но по нынешним стандартам они были очень медленными, так что какой смысл? Никому они были не нужны, а потому и исчезли. Именно так все и происходило с системами.
Я хотел не просто что-то создавать, а создавать что-то, что будет служить долго.
Будучи неудовлетворенным, я поехал к Ричу Дрейвзу в Институт Карнеги-Меллона, он там учился в аспирантуре. Однажды я заходил в Институт Карнеги, в детстве я там проводил много времени. Я рассматривал картину и до меня дошла мысль, которая кажется очевидной, хотя тогда она меня удивила. Прямо там на стенах висели вещи, которые делались надолго. Картины не устаревали. Возраст некоторых из лучших составлял сотни лет.
Более того, написанием картин можно было зарабатывать на жизнь. Конечно, это не так просто, как написание программ, но я подумал, что трудолюбивому и скромному человеку будет хватать. Более того, художник может быть независимым. У него нет босса и он не нуждается в финансировании исследований.
Мне всегда нравилось смотреть на картины. Мог ли я сам их писать? Тогда я понятия не имел. Я даже представить себе не мог, что это возможно. Умом я понимал, что искусство творят люди – что оно не возникало само по себе, но эти творцы будто принадлежали к другому виду. Они либо жили давно, либо это загадочные гении, о чудачествах которых пишут в Life. Мысль о том, чтобы заняться искусством, казалась невероятной.
Той осенью я начал посещать уроки творчества в Гарварде. Аспиранты могли посещать занятия всех факультетов, а мой научный руководитель Том Читэм был очень спокойным и простым человеком. Даже если он и знал о странных курсах, которые я посещал, они никогда и ничего не говорил.
Итак, я учился в аспирантуре по информатике, планировал стать художником, любил писать на Lisp и писал книгу о нем. Другими словами, как и многие другие аспиранты, я энергично занимался чем угодно, кроме своей диссертации.
Я не видел выхода из этой ситуации. Я не хотел бросать аспирантуру, но что мне оставалось? Я помню как моего друга Роберта Морриса выгнали из Корнелла за то, что он написал интернет-червя в 1988 году – я завидовал, что он нашел столь захватывающий способ бросить аспирантуру.
Однажды в апреле 1990 года все сдвинулось с места. Я столкнулся с профессором Читэмом – он спросил смогу ли я выпуститься в июне. К тому моменту я не написал ни слова, но в тот момент я принял самое быстрое решение в жизни – я решил написать диссертацию примерно за 5 недель до крайнего срока, по возможности переиспользуя фрагменты своей книги «On Lisp». Именно поэтому я без промедления ответил «Думаю, да. Я дам вам материалы для прочтения через несколько дней».
В качестве темы для работы я выбрал приложения продолжений. Оглядываясь назад я понимаю, что мне следовало написать работу о макросах и встроенных языках. В этой области существует целый мир, который почти не исследован. Впрочем, все, чего я хотел – это закончить аспирантуру, и моей наспех написанной диссертации для этого едва хватало.
Попутно я пытался поступить в художественную школу. Я подавал документы Род-Айлендскую школу дизайна и Венецианскую академию изящных искусств (поскольку я полагал, что это старейшая из хороших школ). Меня приняли в Род-Айлендскую, а ответа из Флоренции я так и не дождался, так что я отправился с Провиденс. Я пошел на программу для бакалавров изящных искусств (BFA), а это означало, что по сути я опять пошел в колледж. Это было не так странно, как кажется, поскольку мне было 25, а в художественных школах полно людей разного возраста. В Школе меня посчитали второкурсником и сказали, что мне нужно подготовить фундамент. Фундаментом называли базовые курсы по рисованию, цвету и дизайну.
Ближе к концу лета меня ждал большой сюрприз: пришло письмо из Венецианской академии (оно задержалось из-за того, что было отправлено в английский Кембридж, а не американский) с приглашением сдать вступительные экзамены осенью. До осени оставалось несколько недель. Моя милая хозяйка позволила оставить вещи у нее на чердаке. Я отложил немного денег с консультаций, которыми подрабатывал в аспирантуре, так что мне хватило бы на год скромной жизни. Мне оставалось только выучить итальянский.
Только страньери (иностранцы) должны были сдавать вступительные экзамены. Оглядываясь назад, я понимаю, что видимо это был способ отсеивать иностранцев, потому что в противном случае итальянцы были бы в меньшинстве. В то лето я был в хорошей форме в плане рисования и живописи, но не понимал как сдавать письменный экзамен, Я помню, что ответил на вопрос в эссе, написав о Сезанне – я вытянул интеллектуальный уровень на максимум, который позволял мой ограниченный словарный запас. [2]
Мне было всего 25, и в моей жизни уже проявились интересные закономерности. Я снова стремился поступить в престижное учебное заведение с целью изучить какой-нибудь престижный придет, и я снова был разочарован. Студенты и преподаватели в академии были замечательными, но у них было негласное соглашение – студенты не требовали, чтобы их учили, а академия не требовала, чтобы студенты что-либо изучали. При этом все происходило с условностями ателье из XIX века. У нас действительно стояла печка, которая топилась дровами, и обнаженная модель, которая сидела к ней максимально близко, чтобы не обжечься. Кроме меня почти никто ее не рисовал. Остальные студенты болтали или пытались подражать тому, что видели в американских журналах об искусстве.
Оказалось, что наша модель жила со мной на одной улице. Она зарабатывала на жизнь позированием и изготовлением подделок для местного магазина антиквариата. Она копировала причудливые старые картины из книг, а затем состаривала их. [3]
Во время учебы в академии, по ночам в своей комнате я рисовал натюрморты. Эти картины были маленькими: во-первых, сама комната была маленькой, а во-вторых, я рисовал их на обрывках холста – большего я себе не мог позволить. Рисование натюрмортов отличается от рисования людей (потому что как следует из названия, объекты двигаться не могут). Люди не могут сидеть неподвижно больше 15 минут, и даже в это время они не замирают полностью. Стандартный метод рисования людей – знать как рисовать типичного человека, а затем подстраивать эти знания под того человека, которого вы рисуете. Натюрморт же можно пиксель за пикселем копировать с того, что вы видите. Конечно, не хочется останавливаться на достигнутом, иначе вы получите фотографическую точность – натюрморты интересны именно тем, что они проходят через голову художника. Вам захочется подчеркивать визуальные особенности, которые, например, сообщают о том, что резкая смена цвета в точке описывает край объекта. Тонко подчеркивая такие моменты, вы можете создавать картины, которые будут более реалистичными, чем фотографии – не только в метафорическом, но и в строгом теоретико-информационном смысле. [5]
Мне нравилось рисовать натюрморты, потому что мне было любопытно то, что я вижу. В повседневной жизни мы не задумываемся о том, что мы видим. Большая часть визуального восприятия связана с низкоуровневыми процессами – именно они сообщают вашему мозгу, что «это капля воды», не сообщая подробностей о ее самых светлых и темных областях, или позволяют опознать куст, не сообщая его форму и положение всех листьев. Это особенность мозга, а не ошибка в его работе. В повседневной жизни было бы неудобно отвлекаться на каждый отдельный листик. Но когда вы хотите что-то нарисовать, вам нужно приглядеться, а когда вы это делаете, вам есть на что посмотреть. Вы можете замечать новые и новые детали после попыток нарисовать что-то, что остальные принимают как должное – так же вы можете подмечать новые мысли после нескольких дней попыток написать эссе о том, что все считают очевидным.
Это не единственный способ рисования. Я не уверен на 100%, что он вообще хорош. Впрочем, мне он казался стоящим, а значит нужно было попробовать.
Наш учитель, профессор Уливи, был хорошим человеком. Он видел, что я много работал, и ставил мне хорошие оценки в дневник, который был у каждого студента. Впрочем, академия не учила меня ничему кроме итальянского, а также у меня стали заканчиваться деньги, так что в конце первого года я вернулся в США.
Я хотел вернуться в Род-Айлендскую школу дизайна, но я был разорен, а учиться там было дорого. Из-за этого я решил устроиться на работу на год, а затем продолжить обучение следующей осенью. Я устроился в Interleaf, эта компания занималась разработкой ПО для создания документов. Вроде Microsoft Word? Да, именно. Именно тогда я понял, что дешевое ПО может поглощать ПО высокого уровня. Впрочем, Interleaf оставалось жить еще несколько лет. [5]
Порой в Interleaf делали смелые вещи. Компания была вдохновлена Emacs и создала свой язык для написания сценариев – это был диалект Lisp. Компании нужен был хакер на Lisp, который писал бы на этом языке. То, чем я там занимался, наиболее похоже на нормальную работу из всего, чем я занимался (прошу прощения у своего начальника и коллег – я был плохим сотрудником). Их Lisp представлял собой тонкий слой глазури на огромном торте из Си, а поскольку я его не знал и учить не хотел, большую часть ПО компании я не понимал. К тому же я был ужасно безответственным. Тогда работа программистом подразумевала приход на рабочее место в определенное время. Мне это казалось противоестественным, и сейчас весь мир сходится к моему образу мышления, но тогда из-за этого возникало немало конфликтов. Ближе к концу года большую часть времени я тайком писал «On Lisp» – книга получила контракт на публикацию.
К счастью, мне платили огромные деньги, особенно по меркам студентов-художников. Во Флоренции, после оплаты аренды, мой бюджет составлял 7 долларов на день. Теперь же мне платили в 4 раза больше, даже если я просто сидел на собрании. Живя экономно, мне удалось не только накопить на возвращение в Род-Айлендскую школу дизайна, но и рассчитаться по ссудам на учебу.
В Interleaf я многому научился (хотя в основном понял чего делать не надо). Я узнал, что технологическими компаниями лучше руководить людям, специализирующимся на продуктах, а не продажах (хотя понимание продаж – важный навык, и люди, которые им обладают действительно круты), что если над кодом работает слишком много человек, то в нем накапливаются баги, что дешевый офис будет нерентабелен, если он всех удручает, что запланированные встречи уступают разговорам в коридоре, что большие клиенты-бюрократы могут быть опасным источником денег, и что рабочие время и место для написания кода не обязательно пересекаются с оптимальными.
Но самый важный, урок который я усвоил (он пригодился мне как в Viaweb, так и в Y Combinator) заключается в том, что нет ничего плохого в том, чтобы работать на начальном уровне, даже если это не так престижно. В противном случае кто-то может просто вдавить вас в потолок. Все это значит, что престиж может быть опасен.
Следующей осенью я возвращался в Род-Айлендскую школу дизайна, и я договорился о внештатной работе в конторе, занимавшейся разработкой различных проектов для клиентов – именно на этом я и выживал следующие несколько лет. Когда я вернулся к одному из проектов, кто-то рассказал мне о новом языке, HTML – вроде как он был производной от SGML. Энтузиазм к языкам разметки был издержками профессии в Interleaf, и я их игнорировал, хотя позже этот самый HTML стал важной частью моей жизни.
Осенью 1992 года я вернулся в Провиденс, чтобы продолжить учебу в Школе дизайна. Я только начал вникать в основы, а учеба в академии была просто смешной. Теперь я собирался увидеть на что похожа настоящая художественная школа. Увы, она была скорее похожа на Венецианскую Академию. Конечно, все было куда более организованно (и куда дороже), но стало ясно, что художественная школе не имеет того же отношения к искусству, как медицинская к медицине. По крайней мере, на факультете художников. У модельеров (на него учился мой сосед), кажется, все было куда строже. То же самое касалось иллюстраторов и архитекторов. Но в живописи все было не очень строго. Студенты-художники должны были самовыражаться, что для простых людей означало поиски собственного стиля.
Фирменный стиль – это визуальный эквивалент того, что в бизнесе называют «фишкой»: именно благодаря нему люди могут понять, что эта работа принадлежит вам, а не кому-то другому. Например, когда вы видите картину в мультяшном стиле, вы понимаете, что ее написал Рой Лихтенштейн. Если вы увидите такую картину в квартире менеджера хедж-фонда, то будет ясно, что он заплатил за нее миллионы долларов. Не у всех художников есть свой фирменный стиль, хотя обычно клиенты платят именно за него. [6]
Серьезных студентов тоже было немало: ребята, которые «умели рисовать» в старшей школе, а теперь пришли в лучшую художественную школу в стране, чтобы научиться рисовать еще лучше. Они были сбиты с толку и деморализованы тем, что видели в Род-Айлендской школе дизайна, но они продолжали идти туда, потому что рисовали, Я не был из тех, кто умел рисовать в старшей школе, но я был ближе к этим людям, чем к искателям авторского стиля.
Я многому научился на уроках колористики, но в остальном я самостоятельно учился рисовать, и я мог делать это бесплатно. В 1993 я бросил учебу. Я немного погулял по Провиденсу, а потом моя подруга по колледжу Нэнси Пармет оказала мне большую услугу. Квартира с умеренной арендной платой в доме, которым владела ее мать в Нью-Йорке, пустовала. Хотел ли я туда заехать? Она была ненамного больше моей собственной квартиры, а в Нью-Йорке было много художников. Так что да, я хотел! [7]
Комиксы об Астериксе начинаются в крошечном уголке Галлии, который, как оказывается, не контролируется римлянами. Что-то похожее есть и в Нью-Йорке: если вы приблизите карту Верхнего Ист-Сайда, то увидите крошечный небогатый район (по крайней мере, он был таким в 1993). Он называется Йорквилл, это был мой новый дом. Я стал Нью-Йоркским художником (чисто технически – я рисовал и жил в Нью-Йорке).
Я нервничал из-за денег потому что чувствовал, что Interleaf идет ко дну. Фриланс на Lisp попадался редко, и я не хотел писать на другом языке – в те дни это был бы С++, если бы мне повезло. У меня был безошибочный нюх на финансовые возможности, так что я решил написать еще одну книгу о Lisp. Это была более простая и популярная книга, которую можно использовать как учебник. Я представлял себе как экономно живу на гонорары и провожу все свое время за рисованием (рисунок для обложки этой книги, ANSI Common Lisp, я нарисовал примерно в то время).
Больше всего мне в Нью-Йорке нравилось, что там жили Идель и Джулианна Вебер. Идель Вебер была художницей, одной из первых начала работать в стиле фотореализма, я посещал ее занятия в Гарварде. Я никогда не видел, чтобы учителя так любили ученики. С ней поддерживали связь большинство бывших студентов, в том числе и я. После переезда в Нью-Йорк я стал де-факто ее студийным ассистентом.
Ей нравилось писать на больших квадратных холстах, шириной от 4 до 5 футов. Однажды в конце 1994 года, когда я растягивал одного из этих монстров, по радио рассказывали что-то об одном известном фондовом менеджере. Он был ненамного старше меня и был очень богат. Мне вдруг пришла в голову мысль: почему бы мне не стать богатым? Тогда я смогу работать над чем захочу.
Попутно я все больше узнавал о недавно появившейся всемирной паутине. Роберт Моррис показал мне ее в Кембридже, потом он перешел в аспирантуру Гарварда. Мне казалось, что интернет будет очень важен. Я видел что графические пользовательские интерфейсы сделали для популярности компьютеров. Казалось, что сеть сделает то же самое для интернета.
Если я хотел разбогатеть, то это был поезд, подходящий к станции. Я был прав в сути, но ошибся с идеей. Я решил, что нужно создать компанию для размещения художественных галерей в интернете. Прочитав множество заявок в Y Combinator, я могу сказать, что это худшая идея для стартапа. Художественные галереи не хотели выходить в интернет и до сих пор не хотят, даже самые модные. Их продажи работают иначе. Я написал ПО для создания сайтов для галерей, а Роберт написал несколько программ для изменения размеров изображения и настройки HTTP-сервера, отдававшего страницы. Потом мы пытались заключить договоры с галереями. Сказать, что это было сложно – ничего не сказать. Даже раздавать наш продукт было сложно. Несколько галерей разрешили нам сделать для них сайты бесплатно, но никто нам не платил.
Потом начали появляться интернет-магазины и я понял, что от сайтов галерей они отличалиь только наличием кнопки заказа. Мы уже знали как создавать все эти впечатляющие «интернет-магазины».
Итак, летом 1995 года, после того как я передал издателям готовую рукопись ANSI Common Lisp, мы начали пытаться писать ПО для создания интернет-магазинов. Сначала это должно быть ПО для настольных компьютеров, а значит для Windows. Это была тревожная перспектива – мы не умели писать программы для Windows и не хотели учиться. Мы жили в мире Unix. Но мы все же решили написать прототип конструктора магазина под Unix. Роберт написал корзину, а я написал генератор сайтов – конечно, на Lisp.
Мы работали в квартире Роберта в Кембридже. Его соседа там подолгу не было, я в это время спал на его месте. Почему-то не было ни корпуса кровати, ни простыней, только матрас на полу. Однажды утром, когда я лежал на этом матрасе, меня посетила идея, из-за которой я свернулся буквой «Г». Что если мы будем запускать ПО на сервере и позволим пользователям управлять им, нажимая на ссылки? Тогда нам не нужно было бы ничего писать для клиентских компьютеров. Мы могли бы создавать сайты на том же сервере, с которого они отдавались. Пользователям не понадобится ничего, кроме браузера.
Такое ПО сейчас называется веб-приложением и распространено повсеместно, но тогда было непонятно возможно ли это вообще. Чтобы выяснить, мы решили создать версию нашего конструктора интернет-магазинов, которой можно было бы управлять через браузер. Пару дней спустя, 12 августа, у нас появилась рабочая версия. Пользовательский интерфейс был ужасен, но стало ясно, что можно создать магазин через браузер – без клиентского ПО или ввода команд в терминале сервера.
Мы почувствовали, что у нас что-то получается. У нас было видение ПО нового поколения, которое должно было работать таким образом. Больше не были нужны версии, порты и все такое. В Interleaf была целая команда релиз-инженеров, и они работали не меньше разработчиков. Теперь же ПО можно было обновлять прямо на сервере.
Когда нам удалось развернуть свое ПО в сети, мы основали компанию. Она называлась Viaweb и мы получили свое первое официальное финансирование – 10 000 долларов от Джулианна, мужа Идель. В обмен на деньги, помощь с юридическими вопросами и советы по ведению бизнеса, мы передали ему 10% компании. Десять лет спустя эта сделка стала образцом для Y Combinator. Мы знали, что основателям нужно нечто подобное, потому что сами нуждались в этом.
В то время мой баланс был отрицательным, поскольку имевшаяся у меня тысяча (или около того) долларов уравновешивалась моими долгами по налогам (откладывал ли я деньги, которые зарабатывал за консультации Interleaf? Нет, не откладывал). Итак, несмотря на то, что Роберт получал стипендию для аспирантов, мне нужно было начальное финансирование на жизнь.
Изначально мы планировали запуститься в сентябре, но по мере работы над ПО амбиции росли. В конце концов нам удалось создать WYSIWYG-конструктор сайтов, которые должны были выглядеть как статические после генерации (за исключением того, что все ссылки вели не на статические страницы, а замыкания в хеш-таблице на сервере).
Изучение искусств помогло, поскольку главная задача разработчика интернет-магазина – сделать так, чтобы все солидно выглядело для пользователя, а ключом к этому являются высокие стандарты. Если правильно сверстать страницы и подобрать цвета и шрифты, то можно сделать так, что парень, управляющий магазином из своей спальни, будет солиднее большой компании.
(Если вам любопытно почему мой сайт выглядит столь старомодно – он сделан с помощью этого самого ПО. Сегодня он может казаться неуклюжим, но в 1996 он был передовым.)
В сентябре Роберт восстал. «Мы работаем над этим проектом уже месяц, но он все еще не завершен», – сказал он. В ретроспективе это особенно забавно, потому что он работал над ним и три года спустя. Но я решил, что стоит нанять еще программистов и спросил Роберта о крутых ребятах в его аспирантуре. Он порекомендовал Тревора Блэквелла, что сначала удивило меня, поскольку он стремился все сводить в стопку записок, которую всюду носил с собой. Но Роберт, как всегда, был прав. Тревор невероятно эффективно писал код.
Работать с Робертом и Тревором было очень весело. Это два человека с самыми независимыми умами, которых я знаю, причем они совершенно разные. Если заглянуть в голову к Роберту, то у него там все выглядит как в церкви в Новой Англии, а у Тревора там излишества австрийского рококо.
Мы открылись с 6 магазинами в январе 1996. Хорошо, что мы выждали несколько месяцев, потому что хоть тогда мы и боялись, что опаздываем, на самом деле было слишком рано. Тогда в прессе много писали об электронной коммерции, но не многие хотели заводить свои интернет-магазины. [8]
Наше ПО состояло из трех основных частей: редактора для создания сайтов, который писал я, корзины для покупок, которую писал Роберт и менеджера для отслеживания заказов и статистики, который писал Тревор. В свое время наш продукт был одним из лучших универсальных конструкторов сайтов. Я писал код лаконично и мне не приходилось подключать свои программы к чему-либо, кроме проектов Роберта и Тревора, так что работать над всем этим было довольно весело. Если бы следующие 3 года мне нужно было только работать над этим ПО, это было бы самое легкое время в моей жизни. К сожалению, нужно было делать и много другого, что получалось у меня хуже написания кода, а потому следующие три года были самыми напряженными.
Во второй половине 90-ых было много стартапов, занимавшихся разработкой ПО для электронной коммерции. Мы были полны решимости создать Microsoft Word, а не Interleaf. Для этого наш продукт должен был быть простым в использовании и недорогим. Нам повезло, что мы сами были бедными, это заставило нас удешевить Viaweb еще сильнее. Мы брали 100 долларов в месяц за небольшой магазин и 300 за большой. Эта низкая цены была одновременно соблазном и бременем для конкурентов, но мы установили ее не из-за разумных соображений. Мы понятия не имели какие бизнесы нам платят и как они это делают. 300 долларов в месяц казались нам большими деньгами.
Много правильных решений мы приняли случайно. Например, мы делали то, что сейчас называют "немасштабируемыми решениями", хотя тогда мы это описали бы как «нечто настолько неубедительное, что мы идем на отчаянные меры для привлечения пользователей». Самым распространенным таким проявлением было создание магазинов для клиентов. Это казалось нам особенно унизительным, ведь вся суть существования нашего ПО заключалась в предоставлении людям возможности создавать свои магазины. Но мы были готовы на все, чтобы получить пользователей.
Мы узнали о розничной торговле больше, чем хотели бы, Например, если у нас была небольшая фотография рубашки (а по нынешним меркам все картинки тогда были маленькими), то лучше было иметь крупный план воротника, чем кадр со всей рубашкой. Помню как узнал об этом, потому что это означало, что мне придется переделать 30 картинок с рубашками. Впрочем, их первые версии тоже были красивыми.
Хоть это и казалось неправильным, это было правильное решение. Создание магазинов для клиентов позволило нам многое узнать о розничной торговле и об использовании нашего ПО. Сначала меня оттолкнул сам «бизнес» – я думал, что нам понадобится «человек из бизнеса», который бы всем руководил, но как только мы начали привлекать пользователей я изменился так же, как после рождения детей. Чего бы ни хотели пользователи, я был в их власти. Может быть однажды к нам пришло бы настолько много пользователей, что я больше не мог бы делать для них картинки с рубашками, но в тоже время не было ничего более важного.
Была и другая вещь, которую я тогда не понял. Я не осознавал, что темп роста — главное испытание для стартапа. У нас было около 70 магазинов в конце 1996 года и около 500 в конце 1997. Я ошибочно думал, что решает абсолютное количество пользователей. Это важно с точки зрения ваших доходов – если их не будет хватать, вы можете выйти из бизнеса. Но в долгосрочной перспективе темп роста выправляет абсолютное число пользователей. Если бы мы были стартапом, который я консультировал в Y Combinator, я бы сказал так: хватит нервничать, у вас все хорошо. У вас семикратный прирост каждый год, просто не нанимайте слишком много людей, тогда ваш бизнес станет прибыльным, а вы сможете контролировать свою судьбу.
Увы, я нанял много людей. Отчасти из-за того, что таким было желание наших инвесторов, а отчасти из-за того, что во времена интернет-пузыря многие так делали. Таким образом, мы не достигли безубыточности вплоть до сделки с Yahoo в 1998 году. Это, в свою очередь, означало, что мы были во власти инвесторов на протяжении всего срока жизни компании. А поскольку и мы, и наши инвесторы, были новичками в стартапах, в результате творился беспорядок даже по меркам стартапов.
Когда мы ушли под Yahoo, пришло большое облегчение. В целом, акции Viaweb были ценными. Они представляли собой долю в быстрорастущем бизнесе. Но для меня все это было не слишком ценно. Я понятия не имел как оценивать бизнес, но я слишком хорошо чувствовал околосмертные переживания, которые, кажется, наступали каждые несколько месяцев. С тех пор, как мы начали, я не изменил существенно свой аспирантский стиль жизни. Поэтому когда нас купила Yahoo, это был переход из грязи в князи. Поскольку мы переезжали в Калифорнию, я купил желтый VW GTI 1998 года выпуска. Думаю, кожаные сидения этой машины были моим наиболее роскошным имущуством.
В следующем году, с лета 1998 по лето 1999, наверное выдался наименее продуктивный отрезок моей жизни. Тогда я этого не осознавал, но я очень устал от усилий и стрессов, связанных с запуском Viaweb. Какое-то время после переезда в Калифорнию я пытался действовать по-прежнему. Я программировал до трех часов ночи, но усталость вместе с преждевременно состарившейся корпоративной культурой Yahoo и мрачным офисом в Санта-Кларе постепенно меня добили. Через несколько месяцев мне стало очень неприятно, как во времена работы в Interleaf.
Yahoo раздали нам много опционов после покупки. Тогда я думал, что Yahoo очень переоценена, так что я удивился когда узнал, что цена акций к следующему году выросла в 5 раз. Я продержался до получения первых опционов и ушел летом 1999 года. Я так давно ничего не рисовал, что почти забыл, зачем я все это делал. 4 года мой мозг был забит разработкой ПО и рубашками. Я напомнил себе, что делал все это, чтобы разбогатеть и иметь возможность рисовать. Я разбогател, а значит нужно было заняться рисованием.
Когда я сказал, что ухожу, мой босс в Yahoo долго беседовал со мной о моих планах. Я рассказал ему о том, какие картины хочу нарисовать. Тогда я был тронут его интересом. Теперь я понимаю, что ему просто казалось, что я лгу. Тогда мои опционы стоили примерно 2 миллиона долларов. Если бы я просто оставил эти деньги, их хватило бы для основания нового стартапа, а для этого мог бы взять с собой других людей. В те годы интернет-пузырь был на пике, и Yahoo была эпицентром той эпохи. Мой босс на тот момент был миллиардером. Уход из Yahoo с целью основания нового стартапа казался ему безумным, но при этом амбициозным планом.
Но я действительно уходил, чтобы рисовать, и я сразу взялся за это. Терять время было нельзя. Я и так прожег 4 года, чтобы разбогатеть. Теперь, когда я разговариваю с основателями, которые уходят после продажи своей компании, я всегда даю один совет: возьмите отпуск. Вот что я должен был сделать, просто уйти куда-нибудь и месяц или два и ничего не делать, но эта идея мне никогда не приходила в голову.
Я пытался рисовать, но похоже, что у меня не было ни энергии, ни амбиций. Отчасти проблема заключалась в том, что я почти никого не знал в Калифорнии. Я усугубил ее, купив прекрасный дом в Калифорнии с замечательным видом, который находился за много миль от моих любимых мест. Я продержался несколько месяцев, а затем в отчаянии вернулся в Нью-Йорк. Вы будете удивлены, если не знаете о том, как организован контроль за арендой жилья в Нью-Йорке, потому что квартира была запечатана и похожа на гробницу моей старой жизни. По крайней мере, Идель все еще была в Нью-Йорке, и там были и другие люди, которые пытались рисовать, хотя я никого из них не знал.
Когда я вернулся в Нью-Йорк, я начал жить по-прежнему, только теперь я был богат. Это было именно настолько странно, как и звучит. Я делал все как раньше, хотя появились и новые возможности. Если я уставал от пеших прогулок, мне нужно было лишь поднять руку (если не шел дождь), чтобы меня подобрало такси. Теперь, когда я проходил мимо очаровательных ресторанов, я мог зайти и заказать обед. Какое-то время это было захватывающе. Рисование стало получаться лучше. Я экспериментировал с новым методом рисования натюрмортов: сначала я рисовал картину как обычно, затем фотографировал ее, распечатывал, размещал ее на холсте, а затем использовал как подмалевок для второй картины, написанной с этих же объектов (которые, как я надеялся, не сгнивали за это время).
Попутно я искал квартиру, которую мог бы купить. Теперь я действительно мог выбирать в каком районе жить. Я пытался узнать где в Нью-Йорке находится Кембридж. После нескольких визитов в настоящий Кембридж я понял, что его там нет. Эх.
Примерно в это же время, весной 2000 года, у меня появилась идея. Из нашего опыта с Viaweb стало ясно, что будущее за веб-приложениями. Почему бы не создать веб-приложение для создания веб-приложений? Почему бы не дать людям возможность редактировать код на нашем сервере через браузер, а затем размещать в сети получившиеся приложения? [9] Пользователи могли бы запускать на серверах всевозможные сервисы, которые эти приложения могли бы использовать просто с помощью запросов к API: совершение и прием звонков, обработка изображений, прием платежей с кредитных карт и т.д.
Я был так взволнован этой идеей, что не мог думать ни о чем другом. Факт, что за этим будущее, казался очевидным. Я не очень хотел создавать новую компанию, но было ясно, что эту идею нужно будет воплотить как единое целое, так что я решил переехать в Кембридж и взяться за нее. Я надеялся заманить Роберта поработать со мной над этим проектом, но он теперь был постдоком в MIT. Несмотря на то, что когда я приглашал его в прошлый раз, он заработал много денег, также он потерял немало времени. Хоть он и соглашался с тем, что идея может сработать, он категорически отказался работать над ней.
Хм. Что ж, значит мне предстояло все сделать самому. Я нанял Дэна Гиффина, который работал в Viaweb, и двух студентов, которые искали работу на лето, и мы взялись за дело. Теперь ясно, что наш проект впору разбить на 20 компаний и несколько проектов с открытым исходным кодом. Язык для разработки приложений, конечно, был диалектом Lisp. Впрочем, я не был настолько наивен, чтобы полагать, что смогу продвинуть Lisp среди широких масс. Мы скрывали скобки, как это делал Дилан.
К тому времени Viaweb можно было назвать провайдером прикладных услуг (ASP). Это название прожило недолго, его заменили на «Software as a service» (ПО как услуга), но новую компанию я все равно назвал Aspra.
Я начал работать на конструктором приложений, Дэн занимался сетевой инфраструктурой, а двое старшекурсников работали над первыми двумя сервисами (для изображений и звонков). Примерно в середине лента я понял, что на самом деле не хочу управлять компаний – особенно небольшой, которая, как казалось, такой и должна быть. Мне больше не нужны были деньги, так зачем я это делал? Если мое видение должно было быть реализовано в виде компании, то к черту это видение. Я бы создал его небольшую часть в виде проекта с открытым исходным кодом.
К моему удивлению, время на этот проект не было потрачено зря. После запуска Y Combinator я часто видел стартапы, работающие с частями этой новой архитектуры, было полезно потратить время на размышления и даже попробовать что-то написать на эту тему.
В итоге проект с открытым исходным кодом, которым я занимался, стал новой версией Lisp, скобки которой и скрывать не хотелось. Многие люди, пишущие код на Lisp, мечтают создать новый Lisp. Отчасти дело в том, что одна из отличительных черт этого языка заключается в множестве его диалектов, а отчасти в том, что где-то в нашем сознании существует платоническая форма Lisp, от которой идут все диалекты. К концу лета мы с Дэном взялись за работу над новым диалектом Lisp, который мы назвали Arc, в новом доме, который я купил в Кембридже.
Следующей весной прогремел гром. Меня пригласили выступить на конференции по Lisp, я рассказывал как мы писали на нем в Viaweb. Я разместил постскрипт этого выступления на paulgraham.com, который создал задолго до Viaweb, но совсем не использовал. Однажды страница с выступлением набрала 30 000 просмотров. Что, черт возьми, произошло? По URL-ссылкам стало ясно, что кто-то разместил мое выступление на Slashdot [10]
Вау, подумал я, у меня есть аудитория. Если я что-то напишу и выложу в сеть, любой может это прочитать, Сейчас это кажется очевидным, но тогда это было удивительно, В эпоху печати существовал узкий канал для передачи сведений читателям, охраняемый свирепыми монстрами – редакторами. Привлечь аудиторию к своему тексту можно было лишь опубликовав его в виде книги, в газете или в журнале. Теперь же кто угодно мог публиковать что угодно.
Все это было возможно с 1993, но никто об этом не задумывался. Я был тесно связан с развитием инфраструктуры интернета, писал тексты, но даже мне понадобилось 8 лет, чтобы прийти к этой мысли. Затем мне потребовалось еще несколько лет, чтобы осознать последствия. Это значило, что грядет новое поколение эссе. [11]
В эпоху печати каналов для публикации эссе было очень мало. За исключением нескольких общепризнанных мыслителей, ходивших на правильные вечеринки в Нью-Йорке, публиковать эссе разрешалось только специалистам, пишущим о своей деятельности. Многие эссе так и не были написаны из-за отсутствия каналов для их публикации. Канал появился, и я собирался писать. [12]
Я работал над несколькими разными вещами, но когда я начал публиковать эссе в интернете, наступил поворотный момент, С тех пор чем бы я ни занимался, я знал, что всегда буду писать эссе.
Я знал, что поначалу сфера онлайн-эссе будет маргинальной. В социальном плане эти тексты больше походили на тирады психов с GeoCities, чем на благородные и красиво набранные тексты из The New Yorker. Но к этому моменту я знал достаточно, чтобы это обнадеживало, а не пугало.
Одна из самых заметных закономерностей, которые я замечал в своей жизни – это то, насколько хорошо (по крайней мере для меня) работать над тем, что не считается престижным. Натюрморт всегда был наименее престижным видом живописи. Когда мы начинали, всем казалось, что Viaweb и Y Combinator никому не нужны. Незнакомцы до сих пор удивляются, когда я говорю, что пишу эссе и собираюсь опубликовать его на своем сайте. Даже Lisp, который считается интеллектуально престижным (примерно как латынь) кажется просто модным.
Дело не в том, что непрестижные работы хороши сами по себе. Но если вы понимаете, что вас тянет к какой-то работе, несмотря на ее проблемы с престижем, это говорит о том, что в ней есть что-то правильное, и что у вас правильные мотивы. Неправильные мотивы – большая проблема для амбициозных людей. Если что-то и может сбить вас с верного пути, то это желание произвести впечатление на людей. Таким образом, хоть работа над непрестижными вещами и не гарантирует, что вы на правильном пути, по крайней мере он гарантирует, что вы не на популярном неправильном пути.
В течение нескольких следующих лет я написал множество эссе на самые разные темы. O'Reilly издали их сборник под названием «Хакеры и художники», после одного эссе о них. Также я работал над фильтрами спама и продолжал рисовать. Я приглашал друзей на ужин по вечерам в четверг, что научило меня готовить для группы людей. Позже я купил в Кембридже еще одно здание, бывшую леденцовую фабрику (и как позже оказалось, бывшую порностудию) для использования в качестве офиса.
Однажды в октябре 2003 года у меня дома проходила большая вечеринка. Это была отличная идея моей подруги Марии Дэниэлс, она однажды приходила на ужин в четверг. Три разных хозяина приглашали гостей на вечеринки. Таким образом, на каждого гостя две трети других гостей будут незнакомцами, которых те хотели бы узнать. Одним из гостей была незнакомая мне девушка, которая мне очень понравилась: Джессика Ливингстон. Пару дней спустя я пригласил ее на свидание.
Джессика отвечала за маркетинг в Бостонском инвестиционном банке. Руководство этого банка было уверено в том, что разбирается в стартапах, но в следующем году, когда Джессика встретилась с моими друзьями из мира стартапов, она была удивлена, насколько все расходилось с реальностью. Также ее удивили их яркие и красочные рассказы. Поэтому она решила написать книгу-сборник интервью с основателями стартапов.
Когда у банка начались финансовые трудности и им пришлось сократить половину штата, Джессика начала искать новую работу. В начале 2005 года она прошла собеседование на маркетинговую должность в Бостонской венчурной фирме. Им потребовалось несколько недель на принятие решения, и за это время я начал рассказывать ей обо всем, что нужно знать о венчурном капитале. Что компании нужно делать много небольших инвестиций вместо нескольких гигантских, что им следует финансировать более молодых и близких к технологиям основателей, а не MBA, что нужно оставлять основателей на позиции генерального директора и так далее.
Один из моих приемов для написания эссе – выступление с докладом. Перспектива встать перед группой людей и рассказать им о чем-то, что не потратит их время зря, была большим стимулом для воображения. Когда Гарвардское компьютерное сообщество (компьютерный клуб бакалавров) попросил меня выступить с докладом, я решил, что расскажу им о создании стартапов. Может быть, им удастся избежать худшей из ошибок, что мы сделали.
Итак, я выступил с этим докладом. Я сказал, что лучшими источниками финансирования для стартапов могут быть основатели успешных стартапов, поскольку они также могут помочь советом. Тогда казалось, что все слушатели выжидающе смотрят на меня. В ужасе от перспективы, что мой почтовый ящик будет завален бизнес-планами (если бы я только знал), я выпалил: «Но только не я!» и продолжил доклад. Но потом мне пришло в голову, что стоит перестать откладывать это дело и стать бизнес-ангелом. Я хотел заняться этим еще во времена нашей сделки с Yahoo, с тех пор прошло 7 лет, а я не сделал ни одной инвестиции.
Попутно мы с Тревором и Робертом планировали проекты, над которыми могли бы работать вместе. Я скучал по работе с ними и казалось, что можно найти то, над чем мы могли бы сотрудничать.
Когда мы с Джессикой шли домой после ужина 11 марта на углу улиц Гарден и Уокер, эти три нити сошлись. К черту венчурных инвесторов, которые так долго принимали решение. Мы решили открыть собственную инвестиционную фирму и воплотить в жизнь идеи, о которых говорили. Я профинансировал бы эту компанию, а Джессика могла бы уйти со своей работы и начать работать с нами, а Роберт и Тревор стали бы нашими партнерами. [13]
Незнание снова сработало в нашу пользу. Мы понятия не имели как быть бизнес-ангелами, а в 2005 еще не было Рона Конвея, у которого можно было бы учиться. Мы просто сделали очевидный выбор, а некоторые из наших решений оказались новыми.
Y Combinator состоит из нескольких компонентов, и мы не сразу сформулировали их все. В первую очередь мы стали фирмой-ангелом. Тогда эти два слова не стыковались. Тогда были венчурные фирмы, чья работа заключалась исключительно в инвестировании, но они делали только крупные инвестиции в миллионы долларов. И были ангелы, которые делали небольшие инвестиции, но это были люди, которые обычно были сосредоточены на других вещах и инвестировали на стороне. Никто из них не мог достаточно помогать основателям в начале пути. Мы знали, насколько беспомощными могут быть основатели, потому что помнили как сами были беспомощны. Например, Джулиан в свое время сделал то, что казалось нам волшебством – основал компанию. Мы прекрасно писали ПО, а законное оформление, акции и прочее – что это вообще такое? Мы собирались заниматься не просто посевными инвестициями, мы хотели делать все то, что Джулиан сделал для нас.
YC изначально не был фондом. Компания была не слишком затратной, так что мы финансировали ее собственными средствами. У 99% читателей это вопросов не вызовет, а профессиональные инвесторы подумали «Вау, значит они забрали себе всю прибыль». Опять же, это произошло не из-за проницательности с нашей стороны. Мы не знали как устроены венчурные фирмы. Нам никогда и в голову не приходило собрать фонд, а если бы пришло, то мы бы не знали с чего начать. [14]
Главная отличительная черта YC – это пакетная модель, мы финансировали сразу несколько стартапов два раза в год, а затем три месяца пытались интенсивно им помогать. Это получилось не только неявно, но и явно из-за того, что мы мало знали об инвестировании. Нам нужно было получить опыт. Мы подумали – что может быть лучше, чем финансировать сразу несколько стартапов? Мы знали, что летом студенты получают временную работу в технологических компаниях. Почему бы не организовать летнюю программу, где вместо этого запускали бы стартапы? Мы не чувствовали себя виноватыми в том, что в некотором смысле являемся фальшивыми инвесторами, поскольку они в том же смысле являлись фальшивыми основателями. Вероятно, нам не предстояло заработать на этом много денег, но мы могли попрактиковаться в инвестициях, а ребята, с которыми мы будем работать, проведут лето интереснее, чем работая в Microsoft.
В качестве штаб-квартиры мы использовали принадлежавшее мне здание в Кембридже. Мы все ужинали там раз в неделю (по вторникам, потому что в четверг я готовил ужины), а после ужина приглашали экспертов по стартапам для выступления.
Мы знали, что студенты решают вопрос о летней работе за считанные дни, так что мы придумали летнюю программу для основателей. Я разместил объявление о ней на своем сайте и приглашал студентов подавать заявки. Я никогда не думал, что написание эссе позволит создать «поток сделок», как это делают инвесторы, но все сработало. [15] В итоге мы получили 225 заявок на участие в Летней программе для основателей и обнаружили, что многие из подавших заявки либо закончили учебу, либо вот-вот заканчивали. Вся эта история с летней программой стала казаться более серьезной, чем мы предполагали.
Мы пригласили 20 из 225 групп на очные собеседования, и в 8 из них мы решили инвестировать. Это была впечатляющая группа. В первый поток вошли Reddit, Джастин Кан и Эммет Шир, которые впоследствии основали Twitch, Аарон Шварц, который уже помог написать спецификацию RSS и через несколько лет станет мучеником за «открытый доступ», и Сэм Альтман, который позже стал вторым президентом YC. Не думаю, что первый поток был хорош только благодаря удаче. Нужно было проявить смелость, чтобы записаться на такую программу вместо работы в солидном месте вроде Microsoft или Goldman Sachs.
Сделка для стартапов была основана на сочетании сделки, которую мы заключили с Джулианом (10 тысяч долларов за 10%), и того, что, по словам Роберта, получили аспиранты Массачусетского технологического института на лето (6 тысяч долларов). Мы инвестировали 6 тысяч долларов на основателя, что в среднем означало 12 тысяч в обмен на 6%. Это должно было быть справедливо, потому что это вдвое лучше сделки, которую мы заключили в свое время. Плюс то лето действительно жарким, и Джессика организовала основателям бесплатные кондиционеры. [16]
Вскоре я понял, что мы наткнулись на способ увеличения финансирования стартапов. Пакетное финансирование для нас было удобнее, посколька оно позволяло что-то делать для большого количества стартапов одновременно, а также им самим было полезнее работать в группах. Это также решало одну из самых больших проблем, с которой сталкиваются основатели: изоляция. Теперь у основателей были не только обычные коллеги, но и коллеги, которые понимали их проблемы и делились методами их решения.
С ростом YC мы начали замечать и другие преимущества роста. Выпускники стали сплоченным сообществом, они стремились помогать друг другу и стартапам в нынешних группах, потому что помнили каково было им самим. Мы также заметили, что стартапы становились клиентами друг друга. Раньше мы в шутку говорили о «ВВП Y Combinator», но теперь в этом все меньше и меньше шутки. Теперь многие стартапы получают первых клиентов среди своих товарищей по группе.
Изначально я не планировал делать YC своей основной и полноценной работой. Я собирался заниматься тремя вещами: писать код, писать эссе и работать в YC. По мере роста YC, я все больше вовлекался в его дела, и в итоге он стал отнимать больше трети моего внимания. Но первые несколько лет я мог спокойно заниматься другими делами.
Летом 2006 года мы с Робертом начали работу над новой версией ARC. Она была довольно быстрой, поскольку компилировалась в Scheme. Чтобы проверить работоспособность этого языка, я написал на нем Hacker News. Изначально это должен был быть агрегатор новостей для основателей стартапов, он назывался Startup News, но уже через несколько месяцев я устал читать исключительно о стартапах. К тому же, мы не хотели обращаться к основателям стартапов. Мы хотели достучаться до будущих основателей. Так что я изменил название на Hacker News, а темой могло стать все, что интересовало интеллектуальное любопытство.
HN, безусловно, был полезен для YC, но он стал большим источником стресса для меня. Если бы мне нужно было только выбирать основателей и помогать им, жизнь была бы очень легкой, Но это значило бы, что HN был ошибкой. В то время я был похож на человека, испытывающего боль во время марафона не из-за усталости и напряжения, а из-за волдыря от неподходящей обуви. Когда я сталкивался с неотложными проблемами во времена работы с YC, они с вероятностью 60% относились к HN и 40%, что ко всему остальному вместе взятому. [17]
Помимо HN, я написал все внутренне ПО для YC на Arc. Но пока я продолжал писать на Arc, я постепенно перестал работать над самим языком. Отчасти из-за нехватки времени, а отчасти из-за того, что от него зависела инфраструктура. Так что теперь у меня было два проекта: эссе и YC.
YC не был похож на работу, которой я занимался раньше. Я больше не мог выбирать над чем работать, проблемы сами приходили ко мне. Каждые 6 месяцев появлялась новая партия стартапов, и их проблемы (какими бы они ни были) становились нашими. Это было увлекательно, поскольку их задачи были разнообразны, а хорошие основатели были очень продуктивны. Если бы вы хотели узнать о стартапах как можно больше в сжатые сроки, то способа лучше просто нет.
Были и части работы, которые мне не нравились. Споры между соучредителями, попытки выявить ложь, борьба с людьми, грубо обращающихся со стартапами и так далее. Но я много работал и над тем, что мне не нравилось. Мне преследовала мысль Кевина Хейла: «Никто не работает больше, чем начальник». Это была и описательная мысль, и предписание, и меня пугала вторая ее сущность. Я хотел, чтобы YC был успешен, а если то, как я работаю, описывает верхнюю планку работы всех остальных, то мне лучше работать очень усердно.
Однажды в 2010 году в Калифорнию приезжал Роберт Моррис, и он сделал нечто удивительное – дал мне непрошеный совет. Я такое от него помню лишь однажды. Однажды в Viaweb я согнулся пополам из-за камня в почке, и Роберт решил, что ему стоит отвезти меня в больницу. Именно такие поводы нужны были Роберту для того, чтобы дать непрошеный совет. Так что я очень хорошо запомнил его слова: «Знаешь, ты должен убедиться, что YCombinator – не последнее твое крутое дело».
Тогда я не понимал что он имел в виду, но скоро до меня дошло, что он советует мне уйти. Этот совет казался странным, поскольку у YC все шло отлично. Если что-то и случалось реже, чем непрошенные советы от Роберта, то это его ошибки. Это заставило меня задуматься. Действительно, на той траектории YC стал бы последним моим делом, потому что он сам отнимал очень много моего внимания. Он уже поглотил Arc и начал поглощать эссе. Либо YC должен был стать делом моей жизни, либо мне нужно было уйти. И я решился.
Летом 2012 года у моей мамы случился инсульт, причиной которого стал тромб, вызванный раком прямой кишки. Инсульт уничтожил ее равновесие и мы поместили ее в дом престарелых, но она хотела выбраться из него и вернуться домой. Мы с сестрой были полны решимости помочь ей в этом. Я часто летал в Орегон, чтобы навестить маму, и на этих рейсах у меня было много времени для размышлений. На одном из них я понял, что готов передать YC кому-то другому.
Я спросил Джессику не хочет ли она стать президентом, но она отказалась, так что мы решили нанять Сэма Альтмана. Мы поговорили с Робертом и Тревором и договорились о полной смене караула. До этого момента YC контролировался LLC, основанным нами вчетвером. Мы хотели, чтобы YC жил долго, а значит нельзя было отдать управление основателям. Так что если Сэм согласится, то мы дали бы ему возможность реорганизовать YC. Мы с Робертом ушли бы на пенсию, А Джессика и Тревор стали обычными партнерами.
Когда мы спросили Сэма хочет ли он стать президентом YC, он сперва ответил отрицательно. Ох хотел запустить стартап по производству ядерных реакторов. Я продолжал настаивать, и в октябре 2013 он наконец согласился. Мы решили, что он возьмет на себя управление, начиная с потока зимы 2014 года. До конца 2013 года я передавал Сэму все больше полномочий – отчасти, чтобы он мог освоить эту работу, а отчасти, потому что я был сосредоточен на своей матери, у которой вернулся рак.
Мама умерла 15 января 2014 года. Мы знали, что этот момент был близок, но когда это случилось, было тяжело.
Я продолжал работать в YC до марта, чтобы помочь стартапам добраться до демо-дня, а затем проверял результаты (я все еще общаюсь с выпускниками и новичками, работающими над тем, что меня интересует, но на это уходит всего несколько часов в неделю).
Что мне делать дальше? В совете Роберта ничего об этом не говорилось. Я хотел заняться чем-то другим, так что вернулся к рисованию. Я хотел увидеть чего смогу добиться, если сосредоточусь на этом. Итак, на следующий день, после ухода из YC, я начал рисовать. Я был не в форме и мне потребовалось время, чтобы ее вернуть, но это было увлекательно. [18]
Большую часть 2014 года я провел за рисованием. Мне никогда не удавалось работать так непрерывно, и я должен был стать лучше, чем раньше. Я был не слишком крут, но все же лучше. Затем в ноябре, прямо посреди работы над картиной, я выдохся. До этого момента мне всегда было интересно увидеть какой получится картина, над которой я работал, но внезапно завершение этой показалось мне рутинной работой. Я перестал работать над этой картиной, почистил кисти, и больше этим не занимался – по крайней мере, пока.
Я понимаю, что звучит слабо. Но напоминаю – это игра с нулевой суммой. Если вы можете выбрать над чем работать и выбрали не лучший (или просто не очень хороший) проект для себя, то он будет мешать другому проекту. А в 50 появилась неплохая упущенная ранее возможность бездельничать.
Я снова начал писать эссе и написал кучу новых текстов в течение следующих нескольких месяцев. Я даже написал пару статей, не касавшихся стартапов. Затем в марте 2015 года я снова начал работать над Lisp.
Отличительная черта Lisp заключается в том, что его ядро – это интерпретатор языка, написанный на нем самом. Изначально он не задумывался как язык программирования в привычном понимании. Он должен был быть формальной моделью вычислений, альтернативой машине Тьюринга. Если вы хотите написать интерпретатор для языка, какой минимальный набор предопределенных операторов вам нужен? Lisp, который изобрел (или, вернее, открыл) Джон Маккарти, является ответом на этот вопрос. [19]
Маккарти не понимал, что этот Lisp можно было использовать для программирования на компьютерах, пока это не предложил его студент – Стив Рассел. Рассел перевел интерпретатор Маккарти на машинный язык IBM 1704, и с этого момента Lisp стал языком программирования в привычном понимании этого слова. Но его происхождение как модели вычислений придало ему силу и элегантность, с которыми другие языки не могли сравниться. Именно это привлекало меня в колледже, хотя я не понимал почему.
Lisp Маккарти 1960 года не умел ничего кроме интерпретации выражений. Ему не хватало многих вещей, которые хочется иметь в языке программирования. Их пришлось добавить, а когда они появились, то они не были определены с помощью аксиоматического подхода Маккарти. Тогда это было невозможно. Маккарти тестировал свой интерпретатор вручную, моделируя выполнение программ. Он приближался к пределу интерпретаторов, которые можно было протестировать таким образом – там была ошибка, которую Маккарти не заметил. Чтобы протестировать более сложный интерпретатор, его нужно было запустить, а тогдашние компьютеры были недостаточно мощными.
Теперь же они достаточно мощны. Вы можете использовать аксиоматический подход Маккарти, пока не определите полноценный язык программирования. И покуда ваши изменения, вносимые в Lisp Маккарти, сохраняют принцип того, что он был открыт, а не изобретен, вы можете создать полноценный язык с этим качеством. Сделать это конечно сложнее, чем говорить, но если это возможно – почему не попробовать? Я решил попробовать. На это ушло 4 года, с 26 марта 2015 года по 12 октября 2019. К счастью, у меня была четко определенная цель, иначе трудно было бы этим так долго заниматься.
Я написал новый Lisp, названный Bel, на Arc. Может показаться, что тут есть противоречие, но это показатель того, что мне пришлось прибегнуть к хитрости, чтобы заставить все работать. С помощью ряда уловок, мне удалось написать нечто максимально близкое к работоспособному интерпретатору языка, написанному на этом же языке. Он не слишком быстр, но достаточно быстр для тестов.
Большую часть того времени я запрещал себе писать эссе, иначе я никогда бы не закончил, В конце 2015 года я выделил 3 месяца на написание эссе, и когда я вернулся к работе над Bel, я едва мог понимать код. Не потому, что он был плохо написан, просто программа была запутанной. Когда вы работаете над интерпретатором для языка, написанным на этом же языке, сложно отслеживать что и на каком уровне происходит, ошибки могут быть зашифрованы до момента их получения.
Так что я больше не писал эссе, пока не закончил работу над Bel. В эти годы могло казаться, что я ничего не делаю, хотя я работал больше, чем когда-либо. Иногда после нескольких часов борьбы с жуткими багами я заходил на HN или в Твиттер и видел посты вроде «А пол Грэм еще пишет код?»
Работа над Bel была сложной, но она приносила удовлетворение. Я работал над ним так интенсивно, что у меня в голове постоянно были куски кода, и я мог писать больше и больше. Я помню как в солнечный день в 2015 году ходил со своими мальчиками на пляж и думал как решить проблему с продолжениями, наблюдая как ребята играют в волнах прибоя. Я помню этот момент, потому что был встревожен его новизной. Хорошо, что в следующие несколько лет у меня было больше таких моментов.
Летом 2016 года мы переехали в Англию. Мы хотели, чтобы наши дети получили опыт проживания в другой стране, а поскольку по рождению я был гражданином Великобритании, этот выбор был очевидным. Мы хотели побыть там всего год, но нам так понравилось, что мы решили остаться. Большая часть Bel была написана в Англии.
Осенью 2019 я закончил работу над Bel. Как и оригинальный Lisp Маккарти, это скорее спецификация, чем реализация, и как и Lisp Маккарти – это спецификация, выраженная в коде.
Теперь я снова мог вернуться к написанию эссе. Я охватил кучу интересных мне тем. Я продолжил писать эссе до 2020 года, а потом снова стал думать над чем я мог бы работать. Как выбрать чем заниматься? А как я раньше делал этот выбор? Я написал для себя эссе, чтобы ответить на эти вопросы и был удивлен насколько длинным и запутанным получился ответ. Я подумал, что если он удивил меня, человека, который все это прожил, то насколько интересно это будет другим людям? Может этот текст вдохновит и других людей, чья жизнь столь беспорядочна? Я написал для них более развернутую версию, чтобы другие люди могли ее прочитать – и это ее последнее предложение.
Примечания
[1] В моем опыте пользования ПК пропущена одна эпоха: машины с разделением времени и интерактивными ОС. Я перешел от перфокарт сразу к микрокомпьютерам, что сделало последние менее захватывающими.
[2] Значение итальянских слов, обозначающих общие понятия, можно предсказать по их английским аналогам (за исключением ловушек вроде Polluzione). Различаются только повседневные слова. Если вы свяжете какое-то количество общих понятий и простых глаголов, вы сможете немного продвинуться в изучении итальянского.
[3] Я жил на Пьяцце Сан-Феличе 4, так что мои прогулки до Академии проходили по всей старой Флоренции: мимо Питти, через Мост, мимо Орсанмикеле, между Дуомо и Баптистерием, затем по улице Виа Риказоли до площади Сан Марко. Я видел улицы Флоренции в самых разных состояниях: от темных зимних вечеров, когда они были пусты, до жарких летних дней, когда улицы заполнены туристами.
[4] Конечно, вы можете рисовать людей как натюрморты, если хотите (и если они готовы). Такой портрет, вероятно, является вершиной натюрморта, хотя долгая неподвижность вызывает у натурщиков болезненные выражения.
[5] Interleaf была одной из многих компаний, у которой были умные люди, которые создавали крутые технологии, но все это было раздавлено законом Мура. В 1990-ые экспоненциальный рост мощности процессоров (например, от Intel) сковал компании, выпускающие специализированное программное и аппаратное обеспечение.
[6] Искатели фирменного стиля из Род-Айлендской школы дизайна – не обязательно наемники. Все дорогое становится крутым, а все, что кажется крутым, вскоре станет дорогим.
[7] Технически, аренда у квартиры не контролировалась, а была стабилизирована, но все эти вещи понятны только жителям Нью-Йорка. Суть в том, что она была очень дешевой, ниже половины от рыночной стоимости.
[8] Большую часть ПО можно выпускать после завершения разработки, но если вы работаете над конструктором интернет-магазинов и у вас нет пользователей, то все не так просто. Перед публичным запуском нам пришлось провести частный запуск, то есть набрать ограниченную группу пользователей и убедиться, что они получают приличные магазины.
[9] У нас был редактор кода в Viaweb, который позволял создавать свои собственные стили страниц. Пользовали этого не знали, но под капотом они редактировали выражения на Лиспе. Но это не был редактор приложений, поскольку код запускался при создании сайтов продавцами, а не при их посещении покупателями.
[10] Это был первый пример такого опыта, который позже стал привычным. То же самое произошло, когда я прочитал комментарии и обнаружил там множество разгневанных людей. Как я только мог утверждать, что Лисп лучше других языков? Разве они не были Тьюринг-полны? Люди, которые видят реакции на мои эссе, порой говорят, что им меня жаль. Я не преувеличиваю, когда говорю, что так было с самого начала. Все это приходит с распространением. Эссе рассказывают людям о том, чего они еще не знают, а людям это не нравится.
[11] Конечно, в 90-е люди много чего выкладывали в интернет, но выложить в интернет и опубликовать – это разные вещи. Публикация подразумевает, что вы рассматриваете интернет-версию как основную.
[12] Есть один общий урок, который мы извлекли из опыта работы с YCombinator: обычаи будут ограничивать вас долгое время после того, как исчезнут вызвавшие их условия. Когда-то обычные практики венчурных инвестиций, как и приемы написания эссе, были основаны на реальных ограничениях. Запускать стартапы стоило дороже, а потому это происходило редко. Теперь они могли быть дешевыми и распространенными, но обычаи венчурных капиталистов отражали порядки старого мира, так же как обычаи написания эссе по-прежнему отражали обычаи старой эпохи печати.
Все это значит, что люди с независимым мышлением (то есть менее подверженные влиянию обычаев) будут иметь преимущество в быстро меняющихся областях (где обычаи будут с большей вероятностью устаревать);
Интересные момент: не всегда можно предсказать какие поля будут затронуты быстрыми переменами. Очевидно, что это справедливо для ПО и венчурных инвестиций, но кто мог подумать про написание эссе?
[13] Название YCombinator не было изначальным. Сначала мы назвали компанию Cambridge Seed. Мы хотели избавиться от названия с региональной привязкой на случай, если кто-то из Кремниевой Долины нас скопирует, так что мы переименовали компанию в честь одного из самых классных приемов в лямбда-исчислении: Y-комбинатора.
Я выбрал оранжевый как наш основной цвет, потому что он теплый, и потому что его не использовали другие венчурные фонды. В 2005 все венчурные фонды использовали строгие цвета: темно-бордовый, темно-синий и зеленый, потому что они пытались привлечь внимание ограниченных партнеров, а не основателей. Логотип YC – это внутренняя шутка. Логотип Viaweb представлял собой белую букву V в красном круге, так что я логотип YC – это белая буква Y в оранжевом квадрате.
[14] Начиная с 2009 года, YC пару лет был фондом, но потом он настолько разросся, что я больше не мог финансировать его самостоятельно. Впрочем, после покупки Heroku, у нас было достаточно денег, чтобы вернуться к самофинансированию.
[15] Мне никогда не нравился термин «поток сделок», потому что он подразумевает, что количество новых стартапов в любой момент времени фиксировано. Это ложь, и цель YC – опровергнуть это утверждение, помогая основывать стартапы, которых в противном случае не существовало бы.
[16] Джессика рассказывала, что все они были разных форм и размеров, потому что был огромный спрос на кондиционеры, а ей нужно было найти все, что можно было. Все они были тяжелее, чем она могла бы нести на себе.
[17] Еще одна проблема HN – странный краевой случай, который возникает, когда вы пишете эссе и ведете форум. Когда вы ведете форум, предполагается, что вы видите если не все беседы вообще, то все беседы с вашим участием. Когда вы пишете эссе, люди постят на форумах весьма вольные и неверные их интерпретации. По отдельности эти явления утомительны, но терпимы, а вместе – губительны. На неверные интерпретации нужно реагировать, потому что предположение о том, что вы присутствуете в разговоре, подразумевает отказ от ответа на неверное толкование, ставшее популярным, и означает признание его правильности. С другой стороны, это ободряет: любой, кто захочет сразиться с вами, будет чувствовать, что у него есть шанс.
[18] Самое печальное в уходе из YC было то, что больше мы не работали с Джессикой. Мы работали над YC почти все время, что были знакомы, и мы не пытались и не хотели отделять эту работу от нашей личной жизни. Этот уход был похож на вырывание глубоко укоренившегося дерева.
[19] Один из способов разделить концепции изобретения и открытия – поговорить о пришельцах. Любая достаточно развитая инопланетная цивилизация наверняка знает о теореме Пифагора. Верю (хоть и с меньшей уверенностью), что они слышали о Лиспе из статьи Маккарти 1960 года.
Но если это и так, то нет оснований предполагать, что это предел известного им языка. Вероятно, пришельцам будут нужны числа, ошибки и ввод/вывод. Так что существует по меньшей мере один вариант того, что Лисп Маккарти был открытием.
Спасибо Тревору Блэквеллу, Джону Коллисону, Патрику Коллисону, Дэниелу Гаклу, Ральфу Хазеллу, Джессике Ливингстон, Роберту Моррису и Харджу Таггару за чтение черновиков этого текста.
Следите за новостями YC Startup Library на русском в телеграм-канале или в фейсбуке.