Let me know your thoughts.
I think the solving complex problems part is not a real factor. Every business has its problems, and most of them are non-trivial (otherwise, everyone would be in the business), so while it's maybe your job to convince someone that your problems are worth solving, it's not necessary to prove that your problems are hard.
I also think most hackers get less joy out of pushing technology to the limits and more joy out of doing something well. Sometimes those may coincide (scaling Rails, for example) but often times pushing technology to the limits means you're not solving the problem elegantly/economically. Take Google for example; they've got the most powerful distributed computation system in the world, but it's done on some really crappy PC's.
If you can't sell me on your idea and business case, there's no point in talking about 1-4 above.
To repeat what I've said elsewhere: we need a succinct term for non-technical people who think they should be doing startups and just have to find some programmers to realize their visions. You can't call them suits or MBAs because most of them didn't go to B-school and don't wear suits. What to call them?
Seriously. The amount of degree snobbery in these startups founded by Stanford (and other top-level school) graduates is ridiculous. They are turning down tons of great developers everyday, most likely.
I wonder how many top developers are vanishing from the workforce because their start-up succeeded. A year or three of hard work and then retirement.
Or they end up owning/running some other business, where they aren't using their most highly developed skill, programming.
I'm not saying that equity compensation isn't worth considering, just that for every startup that flips and pays out a nice chunk, there are plenty that don't.