How we built a company in Silicon Valley

How we built a company in Silicon ValleyView of San Francisco from the east side of the bay

Hello Habr,

In this post, I will talk about how we built a company in Silicon Valley. In four years, we've gone from a two-person start-up in the basement of a building in San Francisco to a large, recognizable company with over $30M in investments from established funds, including giants like a16z.

Under the cut, there are many interesting stories about Y Combinator, venture investments, team search, and other aspects of life and work in the valley.

prehistory

I came to the valley in 2011, where I joined MemSQL, which had just sprung from Y Combinator. At MemSQL, I was the first employee. We worked from a three-room apartment in the city of Menlo Park, in which we lived (in one room I was with my wife, in another the CEO and his wife, and the CTO of the company Nikita Shamgunov was sleeping on the sofa in the hall). Time has flown, MemSQL today is a large enterprise company with hundreds of employees, multi-million dollar deals and an office in downtown San Francisco.

In 2016, I realized that the company had outgrown me, and decided that it was time to start something new. Still undecided about what to do next, I sat in a coffee shop in San Francisco and read some article from that year on machine learning. Another young man sat down next to me and said, “I noticed that you are reading about a typewriter, let's get acquainted.” Such situations in San Francisco are commonplace. Most people in coffee shops, restaurants, and on the street are employees of startups or big technology companies, so the chances of meeting someone like this are very high. After two more meetings with this young man in a coffee shop, we decided to start building a company that builds smart assistants. Samsung had just bought VIV, Google had announced Google Assistant, and it looked like the future was somewhere along those lines.

As another example of how many people in SF work in IT, a week or two later, with the same young man, we were sitting in the same coffee shop, and I was making some changes to our future site, and he had nothing to do . He simply turned to a random young man sitting across the table from us and said, “Do you do a typewriter?” To which the young man replied in surprise, “yes, how do you know?”

In October 2016, we decided to start raising venture investments. I assumed that it was very difficult to get to a meeting with top investors. It turned out that this is absolutely not the case. If an investor has even the slightest suspicion that the company can take off, they will gladly spend an hour of their time communicating. A big chance to waste an hour on a dead company is much better than a small chance to miss the next unicorn. The fact that I was the first MemSQL employee allowed us to get on the calendar meetings with six very cool investors in the valley in a week of work. We were covered. But with the same ease with which we received these meetings, we failed these meetings. Investors meet with teams like us several times a day and are able to understand in a minimum of time that the guys in front of them have no idea what they are doing.

Application in Y Combinator

We needed to improve our skills in building a company. Building a company is not writing code. This is to understand what people need, to conduct user studies, to prototype, to decide correctly when to beer and when to continue, to find product-market-fit. Just at that time, Y Combinator Winter 2017 was being recruited. Y Combinator is the most prestigious accelerator in Silicon Valley, through which such giants as Dropbox, Reddit, Airbnb, even MemSQL passed. The criteria for Y Combinator and VCs are very similar: they need to pick a small number of companies in Silicon Valley and maximize their chance of catching the next unicorn. To get into Y Combinator, you need to fill out an application. The questionnaire cuts off approximately 97% of applications, so filling it out is an incredibly responsible process. After the questionnaire, an interview takes place, which cuts off half of the remaining companies.

We spent a week filling out the questionnaire, refilling, reading with friends, reading again, refilling again. As a result, after a couple of weeks we received an invitation for an interview. They hit 3%, it remains to hit 1.5%. The interview takes place at the YC headquarters in Mountain View (it's 40 minutes by car from SF) and lasts 10 minutes. The questions are asked about the same and are well known. There are sites on the Internet where a timer is set for 10 minutes and questions are randomly selected from a well-known training manual and shown. We spent hours on these sites every day, and asked a few of our friends who had gone through YC in the past to interview us too. In general, they approached more seriously than we approached meetings with investors a month before.

The day of the interview was very interesting. Our interview was around 10 am. We arrived early. For me, the day of the interview was a challenge. Since my company hasn't clearly taken off yet, I've diversified my time investment by starting a trial period at OpenAI. One of the co-founders of OpenAI, Sam Altman, was also the president of Y Combinator. If I get an interview with him and he sees OpenAI in my application, there is not the slightest doubt that he will ask my manager about my progress during my trial period. If I then don't get into Y Combinator, then my trial period at OpenAI will also be in big question.

Luckily, Sam Altman wasn't on the group that interviewed us.

If Y Combinator accepts the company, they call the same day. If rejected, they write an email the next day with a detailed explanation of why. Accordingly, if no call was received before the evening, then it was out of luck. And if they called, then without picking up the receiver, you can know that they took us. We passed the interview with ease, all the questions turned out to be from the training manual. Came out inspired, went to the Federation Council. Half an hour passed, we were ten minutes from the city, as we received a call.

Getting into Y Combinator is the dream of almost every person who builds a company in Silicon Valley. The moment the phone rang is one of the top 3 most memorable moments of my career. Looking ahead, the second of the three will happen on the same day after just a few hours.

The girl on the other end was in no hurry to please us with the news of our reception. She informed us that they needed to conduct a second interview. This is a rare event, but it was also written about on the Internet. Interestingly, according to statistics, among the companies that were called for a second interview, they accept the same 50%, that is, the fact that we have to return gives them 0 new information about whether we will get into YC or not.

Turned around, came back. We approached the room. Sam Altman. Bad luck…

I wrote to my manager at OpenAI in slack saying so and so, I'm going through an interview in Y Combinator today, Sam will probably write to you, don't be surprised. Everything went OK, my manager at OpenAI, it seems, could not be more purple.

The second interview lasted five minutes, they asked a couple of questions, and let us go. There was no such feeling that we smashed them. Nothing seemed to happen during the interview. We went to SF, less enthusiastic this time. 30 minutes later they called again. This time already to announce that we are accepted.

And Combinator

The experience in Y Combinator was very rewarding and interesting. Once a week, on Tuesdays, we had to go to their headquarters in Mountain View, where we sat in small groups with experienced guys and shared our progress and problems with them, and they discussed with us possible solutions. At the end of every Tuesday during dinner, various successful entrepreneurs spoke about their experiences. At the last dinner, the creators of Whatsapp spoke, it was very exciting.

Communication with other young companies in the cohort was also interesting. Different ideas, different teams, different stories for everyone. They happily installed the prototypes of our assistants and shared their impressions, and we used the prototypes of their services.

In addition, a portal was raised on which we could at any time create meetings with different smart guys who have experience in various areas of building companies: sales, marketing, user studies, design, UX. We used it quite a lot and gained a lot of experience. Almost always these guys were in the Northern Fleet, so they didn't even have to go far. Often you don't even need a car.

Looking for another co-founder

You can't raise a company together. But we have $150K that YC gives at the beginning of the program. We need to find people. Given that we barely know what we write ourselves, looking for employees is a disastrous business so far, but maybe we will find another person who wants to be a co-founder with us? I did ACM ICPC in high school, and many of the people who did it in my generation now have successful careers in the valley. I started writing to my old friends who now lived in SF. And the valley wouldn't be a valley if in the first five posts I hadn't found someone who wants to build a company. The wife of one of my friends from the ICPC trips had a very successful Facebook career but was considering leaving and starting a company. We met with her. She was also actively looking for co-founders and introduced me to her friend Ilya Polosukhin. Ilya was one of the engineers on the team that built TensorFlow. After several meetings, the girl decided to stay on Facebook, and Ilya came to our company as the third founder.

Beginning NEAR

After YC, raising venture investments is a little easier. In the last days of the program, Y Combinator organizes Demo Day, where we present to 100 investors. YC built a system in which investors express interest in us right during the presentation, and we to them at the end of the day, and then a weighted matching is built there and we meet with them. We raised $400K, Ilya and I were not very involved in this process, we wrote the code, so I can’t tell many interesting stories. But there is one.

As marketing, we held machine learning meetings in San Francisco with top researchers (many of whom work at Google Brain, OpenAI, study at Stanford or Berkeley, and therefore are geographically right in the valley) and built a local community. At one of these meetings, we convinced one of the absolute top researchers in the field to be our advisor. We had almost signed the papers when a week later he realized that his current company did not allow him to be an advisor. But he felt that he was letting us down, and therefore he suggested that instead of advising, just invest in us. The amount on the scale of the company was small, but getting a top researcher in the field not just as an advisor, but as an investor, it was very cool.

It was already June 2017, Google Pixel came out and was popular. Unlike, unfortunately, the built-in Google Assistant. I borrowed Pixels from friends, pressed the home button, and 10 times out of 10 I saw “set up Google Assistant before first use.” Samsung did not use the purchased VIV in any way, but released Bixby with a hard button instead, and applications that replaced Bixby with a flashlight became popular in the Samsung Store.

Against the backdrop of all this, Ilya and I's faith in the future of assistants faded, and we left that company. We immediately founded a new company, Near Inc, losing the Y Combinator badge on the company, $400K, and a top researcher as an investor in the process.

At that moment, both of us were very interested in the topic of program synthesis - when the models themselves write (or add) the code. We decided to dig into the topic. But you can’t go without money either, so you first need to make up for the lost $400K.

Venture investments

By that time, almost all investors in the valley had one or two handshakes between me and Ilya, so, like the first time, it was very easy to get meetings. The first meetings were very unsuccessful, and we received several refusals. As I find out for this and the next 2 fundraises in which I will participate, before the first YES, dozens of NOs must be received from investors. After the first YES, the next YES comes in the next 3-5 meetings. As soon as there are two or three YES, there is almost no more NO, and it becomes a problem to choose from all YES, whom to take.

Our first YES came from investor X. I won't say anything good about X, so I won't mention his name either. X undercut the company at every meeting and tried to add additional terms that were unfavorable to the team and the founders. A particular person we worked with at X was early in his career as an investor in a large fund, and for him to close a very good deal is a career ladder. And since no one told us YES except him, he could demand anything.

X introduced us to a number of other investors. Investors don't like to invest alone, they like to invest with others. Having other investors makes it more likely that they don't make a mistake (because someone else thinks it's a good investment) and increases the company's chances of survival. The problem is that if X introduced us to Y, Y will not invest without X after that, because that would be a slap in the face of X, and they still have to deal with each other a lot. The second YES after these acquaintances came relatively soon, and then the third and fourth. The problem was that X wanted to squeeze all the juice out of us and give money under the most unfavorable conditions, and other investors who learned about us from X might be willing to invest in us on better terms, but will not do it for back H.

One sunny morning in San Francisco, I received a letter from Nikita Shamgunov, then CEO of MemSQL, “Introducing Alex (NEAR) to Amplify Partners”. Literally 17 minutes later, quite independently and by pure coincidence, a letter arrives from X with exactly the same heading. The guys from Amplify turned out to be incredibly cool. The terms X offered us seemed draconian to them, and they were willing to invest in us on reasonable terms. A number of investors were ready to invest with Amplify. Under such conditions, we abandoned the X investment and raised the round with Amplify as the main investor. Amplify was also not happy to invest in bypassing X, but since the first intro came from Nikita, and not from X, a common language was found between everyone, and no one was offended by anyone. If Nikita had sent the letter 18 minutes late that day, things could have been a little more complicated.

We now had $800K to subsist on and a year of hardcore PyTorch models began, talking to dozens of companies in the valley to see where program synthesis could be applied in practice, and other not-so-interesting adventures. By July 2018, we had some progress on models and several articles on NIPS and ICLR, but there was no understanding where the models of the level achievable at that time could be applied in practice.

First acquaintance with blockchain

The blockchain world is a very strange world. I purposefully avoided him for a long time, but in the end our paths crossed. In search of the application of program synthesis, we eventually came to the conclusion that something at the intersection of program synthesis and the related topic of formal verification can be very useful for smart contracts. We didn’t know anything about blockchain, but the valley wouldn’t be a valley if there weren’t at least a few of my old friends who were interested in this topic. We began to communicate with them and realized that formal verification is good, but there are more pressing problems in the blockchain. In 2018, Ethereum was already handling the load quite hard, and developing a protocol that would work significantly faster was a very pressing problem.

Of course, we are far from the first to come up with such an idea, but a quick study of the market showed that while there is competition there, and high, it is possible to win it. More importantly, Ilya and I are both very good systems programmers. My career in MemSQL was, of course, much closer to developing protocols than building models on PyTorch, and Ilya at Google was one of the developers of TensorFlow.

I started discussing this idea with my former MemSQL colleagues and my teammate from the ICPC days, and the idea of ​​building a fast blockchain protocol turned out to be interesting to four out of five people I talked to. In one day in August 2018, NEAR grew from three people to seven and to nine over the next week, when we hired a head of operations and a head of business development. At the same time, the level of people was simply incredible. All of the engineers were either from the early MemSQL team or had worked for years at Google and Facebook. Three of us had ICPC gold medals. One of the first seven engineers won the ICPC twice. At that time there were six double champions in the world (today the number of double champions in the world is already nine, but now two of them work in NEAR, so the statistics have improved over time).

It was explosive growth, but there was a problem. Nobody worked for free, and an office in the middle of SF is far from cheap either, and covering nine people's office rent and valley-level salaries with what was left of $800K a year later was problematic. NEAR has 1.5 months left to exist before zero is left in the bank.

Again venture investments

Having seven very strong system programmers with an average experience of about 8 years in the room with the board, we were able to come up with some reasonable design for the protocol in a short time and went again to communicate with investors. Unfortunately, many investors avoid blockchain. At that time (and even now) there were an incredible number of opportunists in this industry, and it was difficult to distinguish the serious guys from the opportunists. Since ordinary investors avoid blockchain, we need to go to investors who purposefully invest in blockchain. There are many of them in the valley too, but this is a very different set, with little overlap with non-blockchain investors. Quite expectedly, we had people in our dating column and in such funds in one handshake. One such fund was Metastable.

Metastable is a top fund and to get a YES from them would be to close the round almost immediately. We had already hit 3-4 NO's by then, and the number of foundations to talk to was rapidly shrinking, as was the time before NEAR was left destitute. Metastable had a bunch of incredibly smart guys who were tasked with taking our ideas to pieces and finding the smallest inaccuracies in our design. Since our design at that time was a few days old, as well as our experience in the blockchain at that time, they destroyed Ilya and me at a rally with Metastable. The amount of NO in the piggy bank has increased by one more.

Over the next couple of weeks, the work in front of the board continued, and the design began to come together into something serious. We certainly rushed our meeting with Metastable. If the meeting were to take place now, it would not be so easy to destroy us. But Metastable won't meet us in just two weeks. What to do?

The solution was found. On the occasion of his birthday, Ilya arranged barbecues on the roof of his house (which, like many roofs in apartment complexes in the Northern Fleet, was a well-groomed park), where all NEAR employees and friends were invited, including Ivan Bogaty, a friend of Ilya who worked in Metastable at the time, as well as some other investors. Unlike the presentation to investors in the meeting room, at the kebabs the entire team from NEAR could chat in a simple setting with Ivan and other investors about our current design and goals. By the end of the barbecue, Ivan came up to us and said that it seems that it makes sense for us to meet again.

This meeting went much better, and Ilya and I were able to defend the design from tricky questions. Metastable invited us to meet its founder Naval Ravikant a couple of days later at the Angellist office. The office was completely empty, because the company had left for Burning Man with almost the entire staff. In this meeting, NO turned into YES, and NEAR was no longer on the verge of death. The rally ended, we got into the elevator. The news that Metastable was investing in us spread very quickly. The elevator had not yet reached the first floor, when a second YES, also from the top fund, arrived at our mail without any participation from our side. There was no more NO in that fundraise, and a week later we were solving the backpack problem again to fit the best offers into the limited round.

An important takeaway: in the Valley, personal relationships are sometimes more important than a good presentation or a well-designed design. In the early stages of a company's life, investors realize that a particular product or design is going to change many times over, and therefore focus much more on the team and their willingness to iterate quickly. 

Speed ​​is not the biggest problem

At the end of 2018, we went to the ETH San Francisco hackathon. This is one of the many Ethereum hackathons around the world. At the hackathon, we had a large team that wanted to build the first version of the bridge between NEAR and Ethereum.

I separated from the team and decided to go the other way. I found Vlad Zamfir, a well-known influencer in the ecosystem, who wrote his version of sharding for Ethereum, approached him and said “Hi, Vlad, I wrote sharding in MemSQL, let's participate in the same team.” Vlad was with a girl, and it was clear on his face that I had not chosen the best time for communication. But the girl said "that sounds cool, Vlad, you need to take him to the team." So I ended up in a team with Vlad Zamfir, and for the next 24 hours I learned about how his design works, and wrote a prototype with him.

We won the hackathon. But that wasn't the most interesting part. The most interesting thing is that by the time we had already written almost from scratch atomic transaction prototype between shards, our core team that planned to write the bridge hadn't even started work yet. They were still trying to set up a local development environment for Solidity.

As a result of this hackathon and the huge amount of user-studies that followed it, we realized that the biggest problem with blockchains is not their speed. The biggest problem is that blockchain applications are terribly difficult to write and even more difficult for end users to use. Our focus in 2019 expanded, we brought in people who understand user experience, put together a team whose focus is exclusively on developer experience, and made the developer and user experience the main focus.

Building awareness

With enough money in the bank to not worry about the next round just yet, and a strong team that coded and worked on the design, I now needed to work on recognition.

We were just starting out, and our competitors already had large fan bases. Is there a way to somehow reach out to these fan bases so that everyone is in the black? We were sitting in a small group at the Red Door coffee shop in San Francisco this morning when a phenomenal idea came to mind. In a world where dozens of protocols compete to be the next big thing, people really have no source of information about these protocols other than their own marketing materials. It would be great if someone smart enough stood up with the researchers and developers of such protocols in front of the board and smashed them. These videos are great for everyone. For them (if they don't get blown up) because their community can see that their design is not grass. For us, it is an opportunity to be noticed by their community, but also an opportunity to learn good ideas. Almost all protocols, including NEAR, are developed openly, so ideas and code in general are not hidden, but it is sometimes difficult to find these ideas. You can learn a lot in one hour in front of a blackboard with a smart person.

The valley once again proved to be useful. NEAR is far from the only protocol that has an office in the SF, and the idea of ​​recording such videos has been met with great enthusiasm by the developers of other protocols. We quickly put the first meetings on the calendar to record videos with the guys who were also geographically in the Federation Council, and for today such videos almost forty.

In the following months, we met a huge number of people at conferences who first learned about NEAR from these videos, and at least two decisions in the design of NEAR appeared as a result of adapting information from these videos, so the idea worked perfectly both as a marketing ploy and as an opportunity. as quickly as possible to learn the latest breakthroughs in the industry.

Further history

The team has grown, and the most important thing in the life of a startup is having enough money to keep it growing. The third fundraising also did not start successfully right away, we received several NOs, but one YES turned everything upside down again, and we quickly closed it. The fourth fundraising earlier this year started with YES almost immediately, we received funding from Andreessen Horowitz, the top fund both in principle and in the field of blockchain, and with a16z as an investor, the round closed very quickly. In the last round we raised $21.6M.

The coronavirus has made its own adjustments to the process. Already before the pandemic, we started hiring people remotely, and when it was decided to close the headquarters in March, two weeks before the official lockdowns began, we completely stopped giving preference to local candidates, and today NEAR is a large distributed company.

In April of this year, we started the launch process. Until September, we supported all the nodes ourselves, and the protocol operated in a centralized format. The nodes are now slowly being replaced by community nodes and on September 24th we will shut down all of our nodes, which will effectively be the day NEAR goes free-floating and we lose any control over it.

The development doesn't end there. The protocol has a built-in migration mechanism, and there is still a lot of work ahead.

In conclusion

This is the first post on the NEAR corporate blog. In the coming months, I will talk about how NEAR works, why the world is better with a good convenient blockchain protocol than without it, and what interesting algorithms and problems we solved during development: sharding, random number generation, consensus algorithms, bridges with other chains, so-called Layer 2 protocols and more. We have prepared a good combination of popular science and deep technical posts.

A small list of resources for those who want to dig deeper now:

1. See how development under NEAR looks like, and you can experiment in the online IDE here.

2. The protocol code is open, you can pick it up with a spatula here.

3. If you want to run your node on the network and help decentralize it, you can join the program Stake Wars. There is a Russian-speaking telegram communitywhere people have gone through the program and run the nodes and can help in the process.

4. Extensive developer documentation in English is available here.

5. You can follow all the news in Russian in the already mentioned telegram groupAnd group on VKontakte

Finally, the day before yesterday we launched an online hackathon with a prize pool of $50K, in which it is proposed to write interesting applications that use the bridge between NEAR and Ethereum. More information (in English) here.

See you soon!

Source: habr.com

Add a comment