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