My startup’s secret recipe
Update 2:
I’ve put this at the top of the page because it’s important. I messed up. The original post which is below gives a glimpse of my current strategy but didn’t explain what would happen if you try this yourself. I love blogging for the very reason I am writing this. I got comments not just on this blog but also over at YC Hacker News saying what I was doing is a “dumb idea”. I then went back to my post and reread it as more of these comments came in. I realized something, they were absolutely right. After I read my post, stood back and looked at it from their point of view, I saw what they meant. I responded explaining why my strategy would work for me but while I was doing this I wasn’t telling you why you shouldn’t try it.
In my first update below this post I explain why it works for my application but for most people it will fail. One comment over at YC HN summarized all the bottlenecks perfectly:
Plus you will find many other typical problems with remote and distributed teams (cross-communication, misunderstanding, less bouncing of ideas, bonding, agility/speed of change, etc.) to be other big bottlenecks once/if things get moving.Being in the same place, at the same time, and working closely together with people you respect and trust is essential to creating a fast moving startup less likely to die or stagnate.
There are reasons why the most successful ones were two guys in a garage.
Then there was a comment saying
…that said, it seems very closed to me, and I would feel a bit nervous working for him.
I hope my personality and the way I portait myself through my blog takes this feeling away from anyone who has it. My idea for now might be under a cover of secrecy but openness is a goal in the near future.
So please go ahead and embark on reading my post…
About 6 weeks ago I wanted to start on a working prototype, but I didn’t want to decide upon a full time team yet. I want to be location independent for as long as possible while I play with the idea of India, San Francisco or somewhere else. If I would hire an outsourcing team it would mean taking the risk that they could run with the idea. Being half way across the world means there would be nothing I could do about it. Investing into a patent application would mean the idea would become public knowledge and NCA’s/NDA’s only reach so far.
Then I remembered this small company that had a brilliant strategy, Coca-Cola. Their secret recipe is known to only a few people but thousands are producing it each day. This got me thinking… I made a note of all the parts that needed to be developed. I then separated the parts in such a way that if you were working on one part you wouldn’t know the bigger picture. Right now there are two parts almost done, the database backend and one of the user interfaces. There are a lot more parts that need to be developed but I am coming close to a working prototype.
To be in full control of a web application you either need to have a rock star development team that jumps on the gun when you say so, or you need to be able to do it yourself. I am not a programmer by heart and coding fulltime is definitely not my passion, however I can enjoy it. I believe one of the most important things for a startup is to move quickly. You can stay years in development but it’s from your users you learn. If my startup fails because we didn’t move quick enough it’s my fault. I am responsible to time the market and after launch translate the user’s needs into changes and features. Therefore I am down in the trenches at the moment, so that later when other developers continue my work, I can sit down with them and think of solutions not just Photoshop mock ups.
Update 1:
There has been a lot of responses in the comments but also on other sites from people wondering if this does not just produce flaky code. I have pasted here my response to Tom Holder (see his comment below in the comment section)
Thank you. Your comment summarizes the response I’ve had from a lot of developers and you are right. However there are a few details I should have but didn’t explain. For me it’s only temporary to get the foundation ready - the startup itself will have a full team. I am also doing this to give myself time to continue to talk to possible investors and decide where I want to locate.
Will I then throw away all the code and start over?
No and this is why: I have two user interfaces, one for the web and one as a browser extension, in any case they would have been developed by different people. They’re two completely independent parts. As last I have the backend, a complex database structure but is setup to only accept a few easy and standard queries. The rest of the queries are handled on database level.
Looking at one of these parts you can’t find out my completive advantage, looking at them all together you have my startup. I am incredibly aware of the risks I take with this and especially if I switch developers the problems that can (probably will) come up. I find it harder to read other people’s code then to start from scratch and make it myself. Therefore all the complicated parts occur on database level, the code I wrote myself. So no matter what happens there will always be someone in the team (myself) who can work on that, or explain it to others.
So beware because this strategy may work for my startup but the people who critize it are right, for many applications this can turn into a nightmare of spaghetti code.


Add New Comment
Viewing 6 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment