(эссе 2018 года)
Всем привет! Много чего произошло с тех пор, как я, 18 лет назад, писал посты в блоге об эргономичных стульях Aeron. Некоторые из тех записей настолько старые, что уже сами могут идти получать первое высшее.
О, и еще: скоро Stack Overflow исполняется 10 лет! Вау! Поэтому я решил, что в честь такого события неплохо было бы собрать нашу старую команду и повспоминать что да как было. Хочу рассказать вам обо всем, что происходило, но больше всего хочу по полочкам разложить историю развития Stack Overflow. Оглядываясь назад, гораздо проще сказать, что мы сделали правильно, а где конкретно накосячили. Поэтому я попытаюсь осветить все хорошее и не очень в серии постов.
И еще: через несколько недель мы запустим Stack Overflow Teams, самое большое обновление за историю существования нашей системы, и оно будет очень крутое. Расскажу поподробнее в следующем посте!
Сегодня будет часть первая. Хочу немного рассказать о том, чем занимались разработчики сайта до появления Stack Overflow, зачем вообще он создавался, какими были ранние версии.
Когда интернет только зарождался, существовала система Usenet, которая позволяла создавать примитивные дискуссионные форумы. Когда у программистов возникали проблемы с кодом, они могли задать вопрос на форуме Usenet (так-то они назывались новостными группами, а не форумами (хотя к новостям не имели никакого отношения — на Usenet их просто не было)).
Как только появилась всемирная паутина, с технической точки зрения Usenet моментально ушел в отставку. Мы, программисты, сразу же переключились на тысячи и тысячи веб-форумов, где и стали задавать свои вопросы.
Один из крупнейших на то время форумов назывался Experts Exchange. В финансовом отношении первая версия этого сайта не была успешной. Как оказалось, они обанкротились в 2001 году. Впоследствии новые владельцы приобрели их активы и воскресили сайт с помощью очень хитрой бизнес-схемы: они брали деньги за ответы.
Их бизнес действительно пошел в гору, но это вызвало и некоторые затруднения.
Проблема номер один заключалась в том, что программисты искали нужную им информацию в Google, а не на Experts Exchange. А Google показывает только бесплатные, открытые веб-сайты, а не те, за доступ к которым нужно платить. Поэтому владельцы сайта решили схитрить: когда к ним стучался товарищ-робот Google, сайт выдавал полноценные вопросы и ответы на них, а когда на ту же страницу пытались попасть простые смертные, то получали зашифрованные ответы и инструкцию по оплате доступа к ним (если правильно помню, на то время за год нужно было отдать 250$). Большая часть программистов после этого на сайт не возвращалась.
Вторая проблема заключалась в том, что сайт EE (Experts Exchange) все же мог выдать вам бесплатную подписку, но при условии, что Вы ответили на определенное количество вопросов. Как оказалось, главные желающие обзавестись этой подпиской были далеко не лучшие программисты в мире, и, чтобы не платить, они для галочки писали довольно бесполезные “советы”. Качество ответов на сайте снизилось.
В течение продолжительного времени (лет пять точно) программисты нарывались на ЕЕ в поисковике, кликали, обнаруживали, что сайт платный, плевались и продолжали дальше искать бесплатные ответы на свои вопросы.
И я все думал, неужели так сложно управлять дискуссионным форумом в интернете? Ради смеха написал один такой в Visual Basic за выходные (Не шучу, кстати. Поэтому я люблю говорить «Да я за выходные в VB это сделаю», когда разработчики жалуются, что им нужен год, чтобы ввести какую-нибудь фичу). Поэтому я и решил, что когда-нибудь найдется один среди девяти миллионов умных программистов, который решит уделать EE и создаст бесплатный форум, — это лишь вопрос времени.
И знаете, что? Никто не пошевелился. А я все ждал и ждал.
Вот что еще я написал за выходные (ну ладно, за две недели. Тихо там, дай поврать красиво) — доску объявлений для этого блога. И за первый месяц работы мы продали мест на 90000$. Ура! Так я начал размышлять, а что, если мы слепим два концепта воедино: заменим EE бесплатным сайтом, а платить за него будем размещением информации о вакансиях? Таким образом мы сможем избавиться от нехорошего EE и позволим разработчикам спокойно выполнять свою работу.
Тем временем я все продолжал думать: “Блин, ну это же так очевидно, кто-то должен придумать что-то эдакое”.
Но не тут-то было.
Я решил обратиться к одному из программистов Fog Creek (теперь Glitch), рассказал про свою идею, на что он мне выдал: “ну да, задумка классная, но мне нравится работать с FogBugz”.
А время все шло.
И вот наконец, в начале 2008 года, разработчик/блогер Джефф Этвуд связался со мной и сказал: «Эй, Джоэл, я тут подумываю бросить свою работу и стать профессиональным блогером. Ты вот блогер — что посоветуешь?».
На что я ему ответил: «Джефф, у меня есть идея получше» и рассказал про свою затею совместить доску объявлений с сайтом вопросов-ответов для разработчиков. Заняло это у меня больше недели, но в конце концов я его уговорил. Мы начали обсуждать способы сделать наш сайт крутым. Джефф начал работу над кодом в апреле 2008 года, привлек к проекту еще двух программистов (Джеффа и Джаррода, которые все еще в нашей компании), и втроем они смогли запустить махину под названием Stack Overflow в сентябре 2008 года.
Так и началась эпоха Stack Overflow.
Сайт Stack Overflow был лучше, потому что был бесплатным, но также обладал кучей «нововведений» (беру в кавычки, потому что мы их стащили у других первопроходцев сети), что делало его очень, очень хорошим источником ответов на вопросы программистов.
Мы хотели, чтобы наш сайт был как игра с бонусами за ответы на вопросы, поэтому мы ввели систему репутаций. Чем больше отвечаешь, тем больше бонусов получаешь. Подобная система существовала на Slashdot и Reddit.
Зарабатывая репутацию, вы также получаете привилегии модератора на сайте. Таким образом получается, что сайт модерирует сам себя, что очень даже круто.
Вместо того, чтобы сажать программистов Java на один форум, а специалистов C++ на другой, мы просто скинули всех в одну песочницу и включили возможность добавлять теги к вопросам. Эту идею мы утащили у flickr (помнит еще кто flickr?), который, если не ошибаюсь, стащил ее у del.icio.us (уже не существует)… Поди там разбери, но смысл в том, что теги были в моде и позволяли Stack Overflow эффективно функционировать.
Самое главное, мы поняли, что вопрос задает один человек, а ответы просматриваются тысячами. Поэтому мы решили оптимизировать систему так, чтобы она была удобна не для одного, а для многих людей. У нас буквально один вопрос может иметь тысячу просмотров. Поэтому мы решили сортировать ответы системой голосов. И по этой же причине мы оптимизируем вопросы и ответы так, чтобы они могли быть полезными и другим людям.
Любопытно, что когда мы с Джеффом запустили проект, нам было как-то все равно станет ли это бизнесом, будет ли приносить он много прибыли. Создавали мы Stack Overflow потому, что сеть была в то время поганая. Мы полагали, что доска объявлений будет оплачивать нам счета, и параллельно мы принесем что-то хорошее в интернет, и именно это нас мотивировало на работу — на все остальное было плевать.
Конечно, все вышло гораздо масштабнее, чем мы предполагали. В компании на сегодняшний день работают 250 сотрудников, она приносит прибыль и позволила миллионам людей научиться кодировать и разбираться в новом, супер-сложном мире API и фреймворков, в котором мы живем. А мы ведь просто хотели сделать интернет лучше.
Я встретил много людей, которые открывали бизнес, просто потому что того хотели. Пол Грэм как-то сравнил это с игрой в дочки-матери. Им было все равно, что это за бизнес, — они просто хотели «быть предпринимателями». Что странно, ведь быть бизнесменом, на самом деле, не так и классно. Очень сложно преодолеть необычайные трудности, боль и стресс, которые связаны с открытием собственного дела, если у Вас нет сверхчеловеческой мотивации помочь миру.
Предприниматель становится успешным тогда, когда ему очень хочется, чтобы что-то эдакое существовало, а так как этого нет, то он будет горбатиться до тех пор, пока оно не появится. Когда мы запускали Stack Overflow, мы не ставили перед собой задачу открыть крупный бизнес; мы просто хотели, чтобы у разработчиков была возможность к кому-то обратиться за помощью, а у других была возможность блеснуть умом, давая советы.
На этом первая глава заканчивается. Мне еще есть, что вам рассказать. Следующая часть будет о том, как благодаря малой толике игрофикации Stack Overflow дела компании пошли в гору.
Перевод: Елизавета Фурсова
Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя платные онлайн-курсы SkillFactory:
- Курс по Machine Learning (12 недель)
- Курс «Профессия Data Scientist» (24 месяца)
- Курс «Профессия Data Analyst» (18 месяцев)
- Курс «Python для веб-разработки» (9 месяцев)
Tortortor
тот редкий случай когда перевод приятно читать. даже не знаю чья тут заслуга, автора или переводчика. скорее всего оба хороши.