- It's a lot to keep in mind at once - storage within DB/distributed filesystem, file formats, duplication of information, how it'll be retrieved and displayed, modification, versioning, compilation, etc.
- My natural perfectionist tendencies get in the way and I freak out about this being the real thing and not some throwaway prototype I can do a half-assed job at.
I also worry that I haven't really "jumped" yet. A friend of mine put it very eloquently (he was talking about parenthood, having married into a ready-made family, but it applies just as much to startups):
"But that's okay. Because once the step has been made -- and J____ never made it -- it's better to be there. Making the leap ahead, taking the plunge, there's a dozen different words for it. J____ stood on the brink for a while, but decided he didn't want to jump. I jumped."
There's a sort of emotional commitment to startups over and beyond working 12 hour days and quitting the day job. I'm not sure I have it yet. For that matter, I suspect that many of the places I've worked didn't have it, given how long it took them to develop software. It's a matter of becoming one with the problem domain and cranking out code as fast as you can type, because the whole program is there in your head.