Caveat on the "hire college students":<p>You need at least <i>someone</i> on the engineering team that's experienced and has seen all the ways that large systems can go terribly, horribly wrong. Ideally that'll be one of the founders, because you'll have a tough time convincing someone experienced to join otherwise. But occasionally someone loves the product idea enough to commit.<p>Otherwise, a team of inexperienced college students is very likely to build a large system that goes terribly, horribly wrong. They know enough to write code, but not enough to <i>avoid writing code</i>, and certainly not enough to know when to trade off the quick hack for the elegant system.<p>I know because I was once that undergrad making a mess of things. I'm lucky; I've been able to work with some people who are very, very accomplished. But the time I spent floundering around on my own in college could probably have been easily avoided had I been working with someone who's been there and done that.