[Перевод] Пол Грэм: Над чем я работал

Февраль 2021

image

До колледжа, кроме учебы, я в основном занимался программированием и написанием текстов. Я не писал эссе. Я писал то, что следовало писать (и, вероятно, следует в наши дни) начинающим писателям: небольшие рассказы. Мои рассказы были ужасны. В них почти не было сюжета, только персонажи с сильными чувствами (как мне казалось, эти чувства делали персонажей глубокими).

Первые свои программы я пытался писать на IBM 1401, его у нас в округе использовали для того, что тогда называли «обработкой данных». Это было в 9 классе, так что мне было 13 или 14 лет. Этот 1401 стоял в подвале средней школы, мы с моим другом Ричем Дрейвсом получили разрешение использовать его. Тот подвал был похож на логово бондовского злодея, в котором хранится куча инопланетных устройств — процессоры, жесткие диски, принтер, устройство для чтения карт, и все это под яркими флуоресцентными лампами.

Мы писали на одной из первых версий Фортрана. Программы нужно было набирать на перфокартах, затем складывать их в устройство для чтения карт и нажимать на кнопку, чтобы программа загружалась в память и запускалась. Обычно в результате ее работы что-то печаталось на невероятном громком принтере.


image

IBM 1401

Тот 1401 был для меня загадкой. Я не понимал что с ним можно делать, Оглядываясь назад, ясно, что я особо ничего и не мог. Единственной формой передачи входных данных были перфокарты, а я на них ничего не хранил. В качестве альтернативы можно было писать программы, не полагающиеся на входные данные (вроде приближенных вычислений числа пи), но я не очень хорошо знал математику для этого. Именно поэтому я не удивлен, что не могу вспомнить ни одной своей программы из того времени — потому что они мало чего умели. Лучше всего мне запомнился тот момент, когда я узнал, что программы могут и не завершаться (когда одна из моих не завершилась). Учитывая, что у того компьютера не было ограничений по времени использования, это была не только техническая, но и социальная ошибка — об этом мне сообщил менеджер центра обработки данных.

Все изменилось с появлением микрокомпьютеров. У нас появились компьютеры, стоящие на столе прямо перед нами, они реагировали на нажатия кнопок прямо во время работы, а не перебирали стопку перфокарт и отключались. [1]

Первый мой друг, получивший микрокомпьютер, собрал его сам. Тогда продавались наборы для самостоятельной сборки от Heathkit. Я отчетливо помню, насколько я был впечатлен и как завидовал, наблюдая как мой друг сидел и набирал программы прямо на компьютере.

image

Heathkit H8 Digital Computer Kits

Компьютеры тогда стоили дорого, мне пришлось годами уламывать отца, прежде чем он купил TRS-80 примерно в 1980 году. Золотым стандартом тогда был Apple II, но TRS-80 тоже был довольно хорош.

image

TRS-80

Тогда я действительно начал программировать. Я писал простые игры, разработал программу для оценки траектории полета моих моделей ракет, а также написал текстовый процессор, который мой отец использовал для написания по меньшей мере одной книги. Памяти у компьютера хватало только на 2 страницы текста, так что отец писал две страницы и сразу печатал их, но это было намного лучше, чем работа с пишущей машинкой.

Несмотря на то, что мне нравилось программирование, я не собирался изучать его в колледже. В колледже я собирался заниматься философией, тогда это звучало круче. Школьнику-мне казалось, что философия — это изучение истины в последней инстанции, в то время как в остальных областях занимаются предметными знаниями. Когда я поступил в колледж, я увидел, что в других областях существует такое множество идей, что пространства для абсолютных истин не оставалось. Казалось, что философии оставалось заниматься краевыми случаями, которые в других областях просто игнорировали.

Я не мог выразить это словами, когда мне было 18 лет. Я продолжал ходить на курсы по философии, и они были скучны. Именно поэтому я начал заниматься ИИ.

Об ИИ много говорили в 1980-ых, но мне особую мотивацию придали две вещи: роман Хайнлайна под названием «Луна — суровая хозяйка», в котором использовался умный компьютер по имени Майк, и документальный фильм от PBS, в котором Терри Виноград использовал SHRDLU.

image

SHRDLU

Я не пытался перечитывать роман Хайнлайна, потому что понимаю, что он устарел, но в те годы я погрузился в мир этой книги. Казалось, что появление Майка — лишь вопрос времени, и когда я увидел как Виноград использует SHRDLU, мне показалось, что на его создание уйдет несколько лет. Казалось, что нужно лишь обучить SHRDLU большему количеству слов.

Тогда в Корнелле не было курсов по ИИ, так что мне пришлось учиться самому. Это значило, что мне нужно было выучить Lisp, потому что тогда он был языком ИИ. В то время большинство языков программирования были примитивными, а значит идеи программистов были такими же. По умолчанию в Корнелле все писали на паскалеподобном языке PL/I, он использовался почти повсеместно. Изучение Lisp настолько расширило мое понимание концепции программ, что ограничения я начал понимать лишь спустя годы. Именно этого я и ожидал от колледжа. Этого эффекта не было от занятий в классах, но это нормально. Следующие пару лет я был в ударе. Я понимал что собираюсь делать.

Для своей бакалаврской выпускной работы я занимался реверс-инжинирингом SHRDLU. Боже, как мне нравилось заниматься этой программой. Было приятно писать тот код, но еще более захватывающе было думать о том (сейчас в это трудно поверить, но в 1985 так думали многие), что те программы были действительно умными и покоряли вершины ИИ.

Я учился в Корнелле на программе, в рамках которой не подразумевался выбор специальности. Для получения степени было посещать любые занятия, которые нравились. Я, конечно, выбрал «Искусственный интеллект». Когда я получил на руки диплом, я встревожился наличию этих кавычек. Тогда меня это беспокоило, но теперь мне это кажется до забавного точным (по причинам, которые мне только предстояло узнать).

Я подал документы в 3 аспирантуры: Массачусетского Технологического, Йеля, который тогда славился в области ИИ, и Гарварда — его я посетил поскольку туда пошел Рич Дрейвз, а также там жил Билл Вудс, разработавший парсер для моего клона SHRDLU. Меня приняли только в Гарвард, так что туда я и пошел.

Не помню когда это произошло и было ли это в какой-то конкретный момент, но в первый год обучения я понял, что концепция ИИ — это ложь. Я говорю об ИИ того типа, в котором программе сообщают, что «собака сидит на стуле», а та переводит эти сведения в некое формальное представление и добавляет их в свою базу знаний.

Все эти программы показывали, что существуют подмножества натурального языка — языки формальные. Очень полезные подмножества. Было ясно, что существует огромный разрыв между их возможностями и реальным пониманием естественного языка. В целом, просто обучить SHRDLU большему количеству слов было недостаточно. Методы создания ИИ на основе структур данных, представляющих концепции, не сработал. Его крах, как это часто случается, породил возможности для написания статей о всевозможных заплатках для него, но все это не позволило бы нам создать Майка.

Я стал думать, что из обломков моих планов можно спасти, и вспомнил про Lisp. По своему опыту работы с ним я знал, что этот язык интересен сам по себе, даже в отрыве от ИИ (хотя в то время люди занимались им только в этом контексте). Именно поэтому я решил сосредоточиться на Lisp. Я решил написать книгу о хакерстве на Lisp. Страшно подумать насколько мало я об этом знал, когда начинал писать книгу. Впрочем, нет ничего лучше написания книги, чтобы разобраться в какой-либо теме. Книга о Lisp была опубликована в 1993, но большую ее часть я написал в аспирантуре.

Computer Science — это непростой союз теории и систем. Теории позволяют строить доказательства, а с помощью систем люди строили и создавали. Я хотел создавать. Я с большим уважением относился к теории (на самом деле, подозреваю, что эта половина более прекрасна), но казалось, что создавать что-то будет интереснее.

Проблема работы над системами заключалась в том, что она длилась недолго. Любая программа, написанная сегодня, какой бы хорошей она ни была, устареет в лучшем случае через пару десятилетий. Люди могут вспоминать о вашем ПО в сносках, но пользоваться им никто не будет. Кажется, что это очень безрадостная работа. Только люди, разбирающиеся в истории этой области, могут понять, что на самом деле это здорово.

image

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, я нарисовал примерно в то время).

image

Больше всего мне в Нью-Йорке нравилось, что там жили Идель и Джулианна Вебер. Идель Вебер была художницей, одной из первых начала работать в стиле фотореализма, я посещал ее занятия в Гарварде. Я никогда не видел, чтобы учителя так любили ученики. С ней поддерживали связь большинство бывших студентов, в том числе и я. После переезда в Нью-Йорк я стал де-факто ее студийным ассистентом.

Ей нравилось писать на больших квадратных холстах, шириной от 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 картинок с рубашками. Впрочем, их первые версии тоже были красивыми.

Хоть это и казалось неправильным, это было правильное решение. Создание магазинов для клиентов позволило нам многое узнать о розничной торговле и об использовании нашего ПО. Сначала меня оттолкнул сам «бизнес» — я думал, что нам понадобитс

© Habrahabr.ru