#lifestories 🐶
Exactly 18 years ago today, I launched VK—my first large company. Below is the story of how it happened.
I graduated from Saint-Petersburg University in the summer of 2006. I wanted to keep in touch with my former classmates, but I knew it would be hard without a website where everyone could find each other. So, in late August 2006, I set a goal—to build a social network for university students and graduates in four weeks.
I was pretty good at coding. At 12, I built web-based games with vector animations and sound effects. At 13, I was already asked to teach older kids Pascal (a computer language) in summer camps for programmers.
And yet, planning to build a fully-fledged social network in four weeks was overconfident. To make it worse, I decided not to use any ready-made third-party modules. I wanted to create everything from scratch: from profiles and private messages to photo albums and search.
The task seemed too large to grasp. Where do I even start? Back then, my brother Nikolai lived in Germany. Nikolai is a brilliant mathematician and algorithmic programmer, but he’s always considered web development beneath him. At that time, he was focused on his Math thesis at the Max Planck University in Bonn. He refused to help with the code but gave advice: “Write the code for user authorization first,” he said. “You’ll get through.”
This made sense. I started with a login page that generated session IDs. Sessions could then be used to identify users, show them their profile pages, and allow them to edit them. Even the sign-up process could wait: I prepopulated the entries for the first few users manually in the database.
That's when I first understood it clearly: Every complex task is just a combination of many simple ones. If you split a big project into manageable parts and arrange them in the right order, you can get anything done. In theory. In practice, you also encounter all kinds of technical obstacles that test your persistence.
In September 2006, I typically wrote code for 20 hours in a row, had one meal and then slept for 10 hours. After a day of work, I’d boil myself a bucket of pasta and eat it with a generous amount of cheese. No other food was required. I didn’t care whether it was day or night outside. Social connections stopped existing. All that mattered was the code.
I tried to make each section of my project flawless, and that took time. Obsessing over details didn’t help to get everything done in four weeks. But being the only team member allowed me to minimize time spent on internal communication. And since I knew every line of the code base by heart, I could find and fix bugs faster.
On October 10, 2006, I had a beta version of the social network up and running. I called it VKontakte (VK), which means “in contact”. It took me six weeks instead of four to create it. But the result was worth it. Users that I invited from my previous project—a students’ portal I’d been building since 2003—signed up by the thousands and started to invite friends.
I kept adding new features quickly, and competitors struggled to catch up. A few months later, I hired another developer. By that time, VK already had a million members. Within seven years, VK would reach 100 million monthly users. At that point, I was fired by the board of VK, so I left the company to focus fully on Telegram.
That experience of single-handedly building the first version of VK in 2006 was so valuable that it defined my career. As the sole member of the product team, I had to do the work of a front-end developer, back-end developer, UX/UI designer, system administrator, and product manager—all at once. I got to understand the basics of all these jobs. I learned the tiniest details of how a social network works.
I also learned that there are no complex tasks in this world—only many small ones that look scary when combined. Split a big task into smaller parts, organize them in the right sequence—and “you’ll get through”.