Six year founder vesting

I’ve always wanted to live in Silicon Valley. I grew up in India, in Bangalore, and we were always proud of the fact that we were the “Silicon Valley of India“. When I was young, I never really understood what that meant, but I knew it was something cool. My dad was also in the tech industry (embedded systems and avionics mostly) and so I grew up in a home full of conversations about science, engineering, and math. Still, Silicon Valley always seemed a world away, and I was happy just living in the Indian version of it.

Before working at my first startup here in the valley, I always regarded startups with some awe… I admired the innovation, the drive, the speed, and the fact that people took the risk and plunged in. And since we mostly only read about the successes, it was all very exciting. I was eager for my own adventure for as long as I can remember… Of course, within a few months of living and working here, I realized that my ideas were incomplete. There was still all the glitzy sexiness, but there was also the other 95% of the story – where startups fail for all manner of reasons. A lot of the times, the reason is plain poor execution.

But the biggest lesson of all was that it takes persistence to succeed. That there are no overnight successes, and the ones you hear about take years in the making. That the number one reason a startup fails is that the founders give up (the number two reason is that they run out of money, and then give up). The fact that most successes take a long time makes sense to me now – anything of value takes time to figure out, and anything truly ambitious needs multiple rounds of failures to learn from.

When we started Zolo Labs, we knew we wanted to build something valuable. Not just monetarily, but also something that moved the state of the art forward – if not for the world at large, at least in the space of productivity and business applications. We’re building software to support the future of work – that’s a grand thing to say, even if it is unclear what it might actually mean :-) But seriously, we do have a rather grand vision, and we’re fully aware that to realize even a portion of it, it’s going to take a fair bit of time. We’re believers in the lean way of doing things, so hopefully we’ll learn, iterate, and build our way towards our goals.

Who knows what meandering paths we’ll take on this journey, but we want to give ourselves time to get there. We’ve structured our own vesting accordingly – both Siva and I have set up our founder stock to vest over 6 years (instead of the standard 4), and have a 2 year cliff (instead of the standard 1 year). We believe we’re in it for the long haul, and want to put our (potential) money where our mouth is. This is unusual – almost no one I know is doing this – but there is at least one precedent that we know if, over at AngelList.

We’re also going to want to fill our company with folks that believe in our vision and want to help us make it happen for its own sake. We’re thinking hard about how we’re going to structure our ESOPs and think it’s likely to look very similar to our own. Obviously, we’ll happily give out more equity in the process, and pay people enough cash so they can work with us (rather than pay people to work with us).

Since this is our first go as founders, I figured we’d share our thoughts as we build out the company, and this is part of that series. Please drop us a note if you know others who’re using non-standard vesting plans, would love to hear about them.

P. S. We’re still pre-funded, so we’re not hiring yet, but we’re receiving inquiries about internships and the like – so if you’re interested in helping the cause while working on Clojure, Datomic, and Storm, drop us a line at @amitrathore or @sivajag!

On convertible debt, and why it now seems rather insidious

I’ve been researching early-stage financings. I know I’ll soon be talking to investors, so I figured I’d better understand what the various options are and what they mean. I also thought I’d share my research with others, and so if you’re in the same boat as I am, then perhaps this post on the evils of convertible notes will help you :-)

Before I started researching this topic, I always thought convertible notes were a great way to raise your first round of outside money. The benefits were touted by everyone who were supposed to be in the know:

  • they’re faster to get done
  • they’re cheaper to get done
  • they’re easier to get done (term-sheets are simpler)
  • they delay the pricing question so you have time and money to build out your company a fair bit before a price is set on it. That’s obviously in your best interest, since your company probably isn’t worth very much when you just start out
  • everyone is happy, and there are no real downsides to this type of financing

Here’s what I believe now:

  • it isn’t fair to the very people who take the most risk and believe in you before any one else did. Why? Because, the better your company does, the higher the price they pay for their shares. That just isn’t the right way to treat your earliest backers and well-wishers.
  • this situation is why most convertibles now have valuation caps on them. So if you’ve raise 2M with a 8M pre cap, you expect to give away at most 20% of your company. And you’re probably cool with that, in fact, the higher the cap, the better, eh? But a cap is not a (minimum) valuation, so what if you later find that you can only find investors at a price of 4M pre? You’d have given away 33% of your company to those initial investors. Maybe that’s OK, but you no longer have a choice in this decision
  • convertible notes also have a discount associated with them, so in the above scenario, if that discount was 25%, you’d actually have to give away 40% of your company, when you were only ready for 20%. Again, if you thought this was OK to begin with, maybe you’d be OK with it, but you’d no longer have any control on this decision either

These are the reasons that, as an entrepreneur, a convertible debt round is rather bad.

More than the financial reasons, though, my problem is with the misalignment of interests. I’m a very firm believer in partnerships. You want your interests perfectly aligned with your investors. Right? With a convertible round however, even though they wish you success, your investors would rationally hope for a lower price for your company, so their investment works out better. They’d want you to succeed, but not too much. They’d want you to succeed just enough to be able to raise a series A, and then succeed a lot more later. That isn’t aligned.

The color of all money is green, but you get a lot more from your investors than money. And this misalignment screws that up.

Even if it all works out in your favor, I really hate how it isn’t fair to your early investors. These folks took the highest risk, believing in your dreams and capabilities. Punishing them with higher prices isn’t what partnership is about.

So I now think it makes more sense to raise a priced round at a decent valuation. That’s what we’ll look for when we start looking for Zolo Labs.

P. S. – I’m obviously no expert in any of this, and am just getting started on learning about it. So take everything here with several huge grains of salt. Perhaps another thing is that if you’re a super-hot startup and everyone (knowingly) wants to get in, then I imagine it changes this model of thinking…

On viral products

Everyone loves viral products. Certainly, the founders of companies that make viral products do, as do the venture capitalists who fund them. Heck, we’d love Zolodeck to be viral. And a lot of people like to talk about how to make viral products. In fact, just do a search for that topic on Google, and you’ll get way too many results. And most of them will offer more or less the same platitudes. These include:

 

  • How to compute the viral coefficient for your product. The formula basically points out that you should increase the number of new users each user invites, and then you should increase the conversion rate of those invited. Duh.

  • Build features that broadcast things your users are doing with your app through social networks such as Facebook. These result in annoying newsfeed floods… and they turn people off (rather than on), and have become quite ineffective these days.

  • Continuously reach out to invited users, and remind them to sign up. Yes, spam them.

  • Don’t artificially limit the number of invites each user has – since only a few people invite others, and some of them invite a lot.

     

These are platitudes, because even if you do all these things, you couldn’t make a Content Management System (say) go viral. In other words, these tips above are useful only when products are inherently viral (that there is some kind of inherent value that increases for everyone when the user-base grows). Obvious examples of such products are Facebook today, and Hotmail from the days of yore.

 

So these recommendations seem to gloss over a couple of issues:

 

  • You have to provide value to the individual user first. Else, you’re in the world of “Network Effect Catch 22″. You know you’re in this world if you already need a network of users to exist for your product to be useful, and you just launched. Why would anyone invite others when there’s no value?

  • You have to actually be useful to both sides of the invitation. A user should get some value when their invitees join, and obviously, the invitee should get value. It’s not just a case of being the cool kids and inviting your friends to the latest hotness.

Virality is an aspect of your product and use-case. You can certainly think hard about your product and see how it might be made viral through useful features, specifically those that are useful to both sides of the invite equation. (We have a couple of ideas around this for Zolodeck). Once you’ve got that, that’s when you should look at things like your viral coefficient. Not before.

 

From Runa to Zolo Labs in 54 months

Runa

Runa Logo

I’ve been at Runa for about four and a half years: I was there from pretty much from the beginning, and for the past couple of years, I ran the tech team as the CTO and VP of Engineering. We’ve built an amazing product, with quite a small team of engineers. We picked tools that gave us leverage, and I think to a large part, these choices let us stay small and lean.

We were among the first companies in the world to push a Clojure service into production… it was the fall of 2008, and Clojure was still pre-version-1.0. In those days, it still used Subversion for version control… and I remember having to tag commit #783 or something… so we’d be sure some unknown incompatibility wouldn’t derail us. We finally did an official release of that in Jan of 2009. Fun times :-)

Since then, we’ve grown our code-base to tens of thousands of lines of Clojure code, and have worked with HBase + Hive + MapReduce, Cascalog, RabbitMQ, Redis, MonetDB, Hazelcast, and loads of AWS services. We coded several state of the art machine-learning algorithms for predictive modeling. Rapunzel, our Clojure DSL, is used by several non-technical folks every day to support our merchants. It’s really neat stuff.

And the code is blazingly fast. For instance, we’re one of the only 3rd party services deployed inside eBay’s data-centers, and are called in real-time for their live pages. To be specific, we’re called about 100 to 200 millions times a day, with spikes of over a billion, and have an average response times of 640 micro-seconds. This service makes statistical predictions about [redacted], and runs over 800,000 models concurrently. Like I said – fun times…

More than anything, I worked with some incredibly talented people over these past few years… not just here in the Bay Area, but also in Bangalore, India. I think the work we pulled together as a team, and the relationships I’ve made with these people are what I’m most proud of…

Zolo Labs
z_logo_white
This past month, though, was my last as Runa’s CTO. I’m still engaged as the chief technologist, but no I’m longer a full-time employee. Why did I leave? Well… it’s been a long time, and I’ve been itching to do this Zolodeck thing for a while. And I see good things in the future for Runa, and I’m certain these things will happen without me as well… the team is rock solid… which gives me confidence to start my own adventure!

Some of you know what we’re building – our first product is called Zolodeck – but there’s a deeper philosophy behind that choice. I’ll delve into that in another post soon, but for now I’ll just say we want to improve how people collaborate and converse with each other, whether with their friends and family, or when they’re at work.

And for the techie readers of this blog, yes, we’re using a lot of cutting-edge technology to build out this product including Clojure, Datomic, Storm, and ClojureScript. Here’s a link to a talk I did at Strange Loop last year, discussing some elements of our stack.

It’s an exciting time for me… I’ve been waiting to be an entrepreneur for nearly 12 years… and it’s finally here! Boy, do I feel anxious and excited. Anxcited?

Why Datomic?

Many of you know we’re using Datomic for all our storage needs for Zolodeck. It’s an extremely new database (not even version 1.0 yet), and is not open-source. So why would we want to base our startup on something like it, especially when we have to pay for it? I’ve been asked this question a number of  times, so I figured I’d blog about my reasons:

  • I’m an unabashed fan of Clojure and Rich Hickey
  • I’ve always believed that databases (and the insane number of optimization options) could be simpler
  • We get basically unlimited read scalability (by upping read throughput in Amazon DynamoDB)
  • Automatic built-in caching (no more code to use memcached (makes DB effectively local))
  • Datalog-as-query language (declarative logic programming (and no explicit joins))
  • Datalog is extensible through user-defined functions
  • Full-text search (via Lucene) is built right in
  • Query engine on client-side, so no danger from long-running or computation-heavy queries
  • Immutable data – audits all versions everything automatically
  • “As of” queries and “time-window” queries are possible
  • Minimal schema (think RDF triples (except Datomic tuples also include the notion of time)
  • Supports cardinality out of the box (has-many or has-one)
  • These reference relationships are bi-directional, so you can traverse the relationship graph in either direction
  • Transactions are first-class (can be queried or “subscribed to” (for db-event-driven designs))
  • Transactions can be annotated (with custom meta-data) 
  • Elastic 
  • Write scaling without sharding (hundreds of thousands of facts (tuples) per second)
  • Supports “speculative” transactions that don’t actually persist to datastore
  • Out of the box support for in-memory version (great for unit-testing)
  • All this, and not even v1.0
  • It’s a particularly good fit with Clojure (and with Storm)

This is a long list, but perhaps begins to explain why Datomic is such an amazing step forward. Ping me with questions if you have ‘em! And as far as the last point goes, I’ve talked about our technology choices and how they fit in with each other at the Strange Loop conference last year. Here’s a video of that talk.

In search of the viral loop

Just finished reading Viral Loop. As we think about the distribution side of things for Zolodeck, I figured it couldn’t hurt to read about how a bunch of companies achieved massive scale.

It’s a good read… and certainly describes how things were done at companies like Hotmail, Twitter, Facebook, Hot Or Not (remember?), Bebo (remember?), MySpace (remember?), eBay, Flickr, PayPal, and even Tupperware (yeah, really).

It isn’t, however, a book of recipes. I didn’t really expect a book to be able to just tell me the 10 things I can do to fix distribution, I guess, and on that count the book was merely describing how awesome it is when you do achieve massive scale. Not how to get it.

Still, a very decent read, and did trigger a few thoughts for what one can do to address this. A lot of people in the startup space know this already, but it’s been sinking in for me more and more over the past few months: distribution is the more important of the two key things a startup needs to solve (the other being product/market fit, or product in general). And also that distribution is the harder of the two problems, and more than product, it is distribution that will make or break the company.

As I said, we’re thinking a lot about this for Zolodeck… and since this is so important, we’re erring on the side of over-measuring things to ensure we can keep a pulse on what the distribution story is looking like. What else can one do at such an early stage?