Monday, January 30, 2012

My Top Mistakes as a CEO or an Engineer’s Guide to Business

In this article I want to share my experience from starting up and running MapsWithMe. I'll talk about the mistakes I made and the things I had to do to compensate for them.

It all began when four software geeks decided to create a start up. And this sentence already hints at our first major mistake: none of us was a business person. I was the CEO, and as a result, I had to learn how to do business during the job. I had no formal education or experience in that, so I had to learn by doing and by making my own mistakes. This was tremendously expensive for our company – and an incredibly valuable opportunity for me (and I cannot stress enough how grateful I am to my co-founders for that). I learned a lot, and I'm much more of a business person now than I was at the beginning, but at heart, I'm still an engineer. So I'd like to use that and present you an engineer's guide to business.

Let's go back to the beginning. We are not just four software engineers, we are all close friends. This sounds great, even romantic in a sense, but not so easy in practice. Doing business involves making hard decisions, and it's really hard to do that and remain friends.

Since we were friends, we initially decided to give everybody equal share – and equal influence. This sounds fair, and it really is fair, but it just doesn’t work. We are four people, and we would often divide 2-against-2 on important matters - and things got stuck because of that. Another thing that we did because we were friends was to avoid discussing the ways of dealing with conflicts between us.

At some point, we bit the bullet and sat down to write a formal agreement between us. It was painful and scary to talk about our future potential conflicts and procedures we would follow if somebody of the founders decides to quit or becomes poisonous to the company. But in the end, the agreement we signed covered the most important issues.

First of all, the agreement officially gave me the CEO role and everybody agreed to follow my decisions on day-to-day basis. Second, I received a slightly larger share than everybody else. The difference was not financially significant, but my opinion would be a tie breaker in case of 2-against-2 disagreement. Third, we have defined a vesting schedule to make it clear which share of the company would one of the founders receive if he leaves or is dismissed by the others. This is something that is easy to agree upon when everybody is on good terms but impossible after such a conflict already arises. Luckily, our team is intact, but we had disagreements already, and if we had no agreement signed, our friendship would be really strained.

I'm an ex-Googler. Google is a great company, and it still influences me a lot. I thought that I could bring the Google's engineering culture but stay more startup-like and move much faster. Google has a proverb that says “Focus on the user and all else will follow”, which is quite right in my opinion. As a result, I thought that it's enough to just build a great product, and the rest will magically take care of itself.

However, it’s not the whole truth. Starting a business is like playing poker – where a startup plays with a very short stack, while Google's stack is almost infinitely large. The time pressure is real and you cannot ignore it. We wanted to build an incredible product and then release it, but because of the time pressure, the first version we released was more like a beta than an end product. It was so bad, in fact, that it took us six more months to release a version that is actually decent – but however unpolished was our first release, it was one of my best decisions as a CEO.

When we launched, we got real users, many thousands of them, and we got very positive feedback. This was incredibly motivating, we would probably not have the stamina to continue working without it. We also got negative feedback, which was just as valuable. We got many opportunities, people believed in us, helped us in various ways and wanted to join us (and some actually did). None of that would happen if we would continue to write code in a basement, waiting to release a perfect piece of software.

You could say that this is obvious, and that “launch early and iterate” is another famous Google maxim. But it was hard to do. The engineer in me, in all of us, really hated releasing a non-perfect project, and our release got delayed a lot by the features that we felt that we absolutely have to include.

Here, to be completely honest, I got help. I have an advisor, somebody outside of the team, not directly involved in the day-to-day work. He got a minor stake in the company and his job is to advise me on various matters: from making presentations, to dealing with engineers and running the company (in fact, he has even reviewed this article), and just to provide an unbiased opinion. My advisor has strongly insisted on launching as soon as possible – advice that I initially resisted, but seeing how it worked out, it's possible that hiring the advisor was my best decision as a CEO so far.

I want to tell you more about the importance of releasing early and often, and it has to do with the most important issues for the startup – funding and valuation. We have not received big outside funding yet, but we had discussions with potential investors and have some negotiations right now.

Let us see how the valuation of startup evolves with time. Initially, it's just a plateu, you have nothing to show the investors and so investors would not talk to you seriously. The first launch creates a spike in valuation – you have a product and real users, and investors are talking to you much more favorably. Moreover, as your user base is growing, the valuation is going up too. However, as you continue working, the time pressure kicks in. Remember the thing about poker? Your position becomes worse, the investors sense it and so your valuation gradually goes down. But the next release gives you another spike in valuation, and it goes on and on.

In the end, your valuation curve is a combination of two things: the natural growth that is the result of the expansion of your business, and the sawtooth pattern that results from the releases. The more frequent the releases, the smoother and more predictable the valuation curve, the closer it is to your real growth trend, and the easier it is to run the business.

When we started the company, we said that we'll do something hardly believable at the time: compress the map of the whole world in full detail and fit it completely on smartphones, so that it can work offline, without Internet connection. Even more, we claimed we'll make it searchable and blazing fast. This is an extremely hard problem to solve, and in fact, we do it much better than any of our competitors. Some limit the map to just the roads, some only supply individual cities and small regions, and even the mighty Google limits the offline map support to 10x10 mile squares, and excludes buildings numbers, businesses and cannot search offline.

And here comes our last expensive mistake so far. During the initial spike, we had several good offers (slightly above valuation) and several not-so-good ones (below valuation). We rejected the not-so-good ones but failed to complete the good ones. The poker thing again, the best offers we get now are worse than the early not-so-good ones.

What we will do about it? Basically, we tightened the belts to make sure we can sustain our work longer. And we are focusing really hard now on improving our product and growing our business. For example, we are about to release the Android version, which will give us a new growth spike and improve our position in talks to investors.

So, to recapture:
  • Formalize the relations between the people. It sounds unnecessary in the beginning, but when you need it, it will be too late.
  • Release, ship, launch. Whatever you call it, just do it, and then do it again. And again.
  • Always remember that when you are small, time works against you.