Ровно 18 лет назад я запустил ВКонтакте — свою первую крупную компанию. Ниже — история о том, как это произошло.
Я окончил Санкт-Петербургский университет летом 2006 года. Я хотел поддерживать связь со своими бывшими однокурсниками, но я знал, что это будет трудно без веб-сайта, где все могли бы найти друг друга. Поэтому в конце августа 2006 года я поставил себе цель — создать социальную сеть для студентов и выпускников университета за четыре недели.
Я был довольно хорош в кодировании. В 12 лет я создавал веб-игры с векторной анимацией и звуковыми эффектами. В 13 лет меня уже просили преподавать старшим детям Pascal (язык программирования) в летних лагерях для программистов.
И все же, планировать построить полноценную социальную сеть за четыре недели было самонадеянно. Чтобы сделать ситуацию еще хуже, я решил не использовать готовые сторонние модули. Я хотел создать все с нуля: от профилей и личных сообщений до фотоальбомов и поиска.
Задача казалась слишком большой для понимания. С чего мне вообще начать? Тогда мой брат Николай жил в Германии. Николай — блестящий математик и алгоритмический программист, но он всегда считал веб-разработку ниже своего достоинства. В то время он был сосредоточен на своей математической диссертации в Университете Макса Планка в Бонне. Он отказался помогать с кодом, но дал совет: «Сначала напиши код для авторизации пользователя», — сказал он. «Ты справишься».
Это имело смысл. Я начал со страницы входа, которая генерировала идентификаторы сеансов. Затем сеансы можно было использовать для идентификации пользователей, показа им страниц их профилей и разрешения редактировать их. Даже процесс регистрации мог подождать: я вручную заполнил записи для первых нескольких пользователей в базе данных.
Вот тогда я впервые ясно понял: каждая сложная задача — это просто комбинация многих простых. Если разбить большой проект на управляемые части и расположить их в правильном порядке, то можно сделать что угодно. Теоретически. На практике вы также сталкиваетесь со всевозможными техническими препятствиями, которые проверяют вашу настойчивость.
В сентябре 2006 года я обычно писал код 20 часов подряд, ел один раз и спал 10 часов. После рабочего дня я варил себе ведро пасты и съедал его с щедрым количеством сыра. Никакой другой еды не требовалось. Мне было все равно, день или ночь на улице. Социальные связи прекращали свое существование. Все, что имело значение, — это код.
Я старался сделать каждую часть своего проекта безупречной, и это заняло время. Зацикленность на деталях не помогла мне сделать все за четыре недели. Но то, что я был единственным членом команды, позволило мне минимизировать время, затрачиваемое на внутреннюю коммуникацию. И поскольку я знал каждую строку кода наизусть, я мог быстрее находить и исправлять ошибки.
10 октября 2006 года у меня была запущена бета-версия социальной сети. Я назвал ее ВКонтакте (ВК), что означает «в контакте». На ее создание у меня ушло шесть недель вместо четырех. Но результат того стоил. Пользователи, которых я пригласил из своего предыдущего проекта — студенческого портала, который я создавал с 2003 года, — регистрировались тысячами и начали приглашать друзей.
Я продолжал быстро добавлять новые функции, и конкуренты с трудом догоняли. Несколько месяцев спустя я нанял еще одного разработчика. К тому времени у VK уже был миллион участников. Через семь лет число пользователей VK достигло 100 миллионов в месяц. В тот момент меня уволило правление VK, поэтому я покинул компанию, чтобы полностью сосредоточиться на Telegram.
Этот опыт единоличного создания первой версии VK в 2006 году был настолько ценным, что определил мою карьеру. Как единственный член команды по продукту, я должен был выполнять работу front-end разработчика, back-end разработчика, UX/UI дизайнера, системного администратора и менеджера по продукту — все одновременно. Я должен был понять основы всех этих профессий. Я узнал мельчайшие детали того, как работает социальная сеть.
Я также узнал, что в этом мире нет сложных задач — только множество маленьких, которые выглядят страшно, когда их объединяют. Разделите большую задачу на более мелкие части, организуйте их в правильной последовательности — и «вы справитесь».
Я окончил Санкт-Петербургский университет летом 2006 года. Я хотел поддерживать связь со своими бывшими однокурсниками, но я знал, что это будет трудно без веб-сайта, где все могли бы найти друг друга. Поэтому в конце августа 2006 года я поставил себе цель — создать социальную сеть для студентов и выпускников университета за четыре недели.
Я был довольно хорош в кодировании. В 12 лет я создавал веб-игры с векторной анимацией и звуковыми эффектами. В 13 лет меня уже просили преподавать старшим детям Pascal (язык программирования) в летних лагерях для программистов.
И все же, планировать построить полноценную социальную сеть за четыре недели было самонадеянно. Чтобы сделать ситуацию еще хуже, я решил не использовать готовые сторонние модули. Я хотел создать все с нуля: от профилей и личных сообщений до фотоальбомов и поиска.
Задача казалась слишком большой для понимания. С чего мне вообще начать? Тогда мой брат Николай жил в Германии. Николай — блестящий математик и алгоритмический программист, но он всегда считал веб-разработку ниже своего достоинства. В то время он был сосредоточен на своей математической диссертации в Университете Макса Планка в Бонне. Он отказался помогать с кодом, но дал совет: «Сначала напиши код для авторизации пользователя», — сказал он. «Ты справишься».
Это имело смысл. Я начал со страницы входа, которая генерировала идентификаторы сеансов. Затем сеансы можно было использовать для идентификации пользователей, показа им страниц их профилей и разрешения редактировать их. Даже процесс регистрации мог подождать: я вручную заполнил записи для первых нескольких пользователей в базе данных.
Вот тогда я впервые ясно понял: каждая сложная задача — это просто комбинация многих простых. Если разбить большой проект на управляемые части и расположить их в правильном порядке, то можно сделать что угодно. Теоретически. На практике вы также сталкиваетесь со всевозможными техническими препятствиями, которые проверяют вашу настойчивость.
В сентябре 2006 года я обычно писал код 20 часов подряд, ел один раз и спал 10 часов. После рабочего дня я варил себе ведро пасты и съедал его с щедрым количеством сыра. Никакой другой еды не требовалось. Мне было все равно, день или ночь на улице. Социальные связи прекращали свое существование. Все, что имело значение, — это код.
Я старался сделать каждую часть своего проекта безупречной, и это заняло время. Зацикленность на деталях не помогла мне сделать все за четыре недели. Но то, что я был единственным членом команды, позволило мне минимизировать время, затрачиваемое на внутреннюю коммуникацию. И поскольку я знал каждую строку кода наизусть, я мог быстрее находить и исправлять ошибки.
10 октября 2006 года у меня была запущена бета-версия социальной сети. Я назвал ее ВКонтакте (ВК), что означает «в контакте». На ее создание у меня ушло шесть недель вместо четырех. Но результат того стоил. Пользователи, которых я пригласил из своего предыдущего проекта — студенческого портала, который я создавал с 2003 года, — регистрировались тысячами и начали приглашать друзей.
Я продолжал быстро добавлять новые функции, и конкуренты с трудом догоняли. Несколько месяцев спустя я нанял еще одного разработчика. К тому времени у VK уже был миллион участников. Через семь лет число пользователей VK достигло 100 миллионов в месяц. В тот момент меня уволило правление VK, поэтому я покинул компанию, чтобы полностью сосредоточиться на Telegram.
Этот опыт единоличного создания первой версии VK в 2006 году был настолько ценным, что определил мою карьеру. Как единственный член команды по продукту, я должен был выполнять работу front-end разработчика, back-end разработчика, UX/UI дизайнера, системного администратора и менеджера по продукту — все одновременно. Я должен был понять основы всех этих профессий. Я узнал мельчайшие детали того, как работает социальная сеть.
Я также узнал, что в этом мире нет сложных задач — только множество маленьких, которые выглядят страшно, когда их объединяют. Разделите большую задачу на более мелкие части, организуйте их в правильной последовательности — и «вы справитесь».