The idea here is that you do the best you can within the constraints, not that you use your start-uppishness as an excuse to be sloppy or to produce crap.
In fact, the majority of the real messes I see are not in start-ups but in more established companies where the original developers have long since moved on. Large codebases where very few people (if any!) have an idea of what is really going on.
I have been at startups where it's a total mess that will never be cleaned, and I've been at startups where the code is always tip-top because everyone knows you get big B2B points for implementing their dream feature right after a regular "how are you liking our service" followup.
I haven't worked at mega-corps, but I've seen bits of code that is so much worse than imaginable that I expect there are places that scrape pretty far below the bottom of the barrel, but that might just be a volume issue (the worst 1% of code will be mostly mega-corp code because most of _all_ code is in mega-corps).
In my experience, a lot of code is like this, and the majority of startup code is like this. I have found there's almost zero correlation between startup success and good coding practices. I have no data, but I suspect there's a negative correlation.
Before you protest, I know that your code is a shining example of clarity. But if you consider all the incentives for a startup, there's much more value in being experimental, and highly responsive to customer demands, than there is in charting a stable, long term course. People celebrate pivots like it's cool, but this is what it does to the code.
Just a forewarning for anyone who is going from a more corporate world into startupland.