My startup's secret recipe
eisokant.com
eisokant.com
This makes one person the bottleneck, and the startup very rigid and inflexible.
Just go get a real team, convince great coders of your idea--people you can trust--and share everything with each other.
Its hard enough to do a startup as it is.
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.
In life it is hard though to find people who you truly connect with and can trust. I do know that when you meet them you recognize them straight away. I haven't been able to find these developers yet, most likely because I am in a location where there is almost no startup scene. However I am determined to find them and build an amazing startup as a team with no secrecy.
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.
Software is not made up of interchangeable parts in the sense that you can't outsource each individual function in a giant library and hope for seamless integration. This guy's working at a lesser granularity than that, but I'm just waiting for the day when some unexpected behavior from his controller causes massive failure in his backend and no one knows how to fix it because no one understands the whole system (or at least a big enough chunk of it).
Edit: Just saw his response:
Am doing this to give myself time to continue to talk to possible investors and decide where I want to locate.
If you're prototyping for investors, that may be reasonable, as long as you throw it away and start with a fresh coherent team at some point.