You're also confusing exploratory programming with doing trivial work. Making a quick version 1 and then iterating works for both big and small problems. It just depends how long you keep iterating.
It's true that a lot of the work you do in startups is crap work, and that a lot of startups only take on trivial problems. But this is also true in research.