March 20th, 2011 starting up
I often like to look back on when I was just getting into startups. I think there is a myth in entrepreneurship which not only do many newcomers believe, but could also be a key reason why many don’t even “try”. The myth is that you need to know how to do everything, and you need to do everything perfectly. It’s not surprising when you look at successful startups: it is easy to think that they’ve done all the right things. I believe the reality is far from that, and I am starting to think that it is in fact very healthy to have a good dose of naivety whilst building a startup.
The scale anticipation fallacy
One prime example of something which I think falls into this notion of healthy naivety is avoiding what I have come to call the “scale anticipation fallacy”. The fallacy is that in order to build something which can scale to millions of users you need to build it in a way which can handle that scale right from the start. The idea is that if you don’t get it right at the start, you will never succeed.
When I started my latest venture, I had sub-optimal tables in my database, I was doing multiple queries to get data and I was looping through data and doing extra queries to get everything I needed. I had no idea what a database index was. I basically did all the wrong things. However, at the start, this didn’t matter. I didn’t have any users! As time has gone on, I have encountered some “nice problems to have”, and the server has struggled a little. It has been no problem to improve things as I needed to. I believe the fact I didn’t think about scalability has certainly helped me reach a point where scalability matters. Conversely, I wonder whether if I focused on scalability when it didn’t matter, would I have ever reached the point where it did matter?
You don’t know what you don’t know
When you’re building a startup, one of the most challenging things is that you are in a world full of unknowns and uncertainty. You literally do not know what you do not yet know. This is something I’ve talked about before, and I think the only way to really cope in this kind of environment is to strive for knowledge, information and validated learning through feedback. However, I think that looking back on my startup attempts to date, I would say that one of the reasons I am currently having some success is that I didn’t quite realise just how much I still had to learn in order to succeed. It is this kind of naivety which I think is a good thing. In fact, I may even go as far as to say I fear the fact that in the future I might know how hard something is going to be.
Steve Blank wrote about this in his article "Too Young to Know It Can’t be Done". I particularly like this sentence:
"if theyre really strategic older founders hire engineers in their 20s and 30s who dont know what theyve been asked to do is impossible"
Be proud of your naivety, and fear knowing too much
The scale anticipation fallacy is just one example of where I have been naive and I think it has turned out to be an advantage. The thing about startups is, it doesn’t matter how bad your code or anything else is. All that matters is that you create something people want.
I chose to attempt to create a startup immediately after graduating from University rather than spending some time in industry. It was a tough two years whilst I made lots of mistakes, and I am finally starting to have a little success now. However, the main thing I have learned is not “how to do everything perfectly”. The main thing I have learned is that a balance is required where you do everything “good enough” for the point in time you are at. Some might call this the 80/20 or Pareto principle. I believe that if I had spent some time in industry, I may have brought the skills I had learned to my attempt at a startup some years from now and I may have aimed to do everything perfectly. I think that would have been a big mistake.
I think clinging onto a beginner’s mind is very important. As Steve Jobs said:
"Stay hungry, stay foolish"
Photo credit: Trey Ratcliff