The best decision I made in my career was to ride the 2003 recession in a small catalog company that wrote its own code and wanted to grow. Since they were that small, I had responsibilities that had nothing to do with what people of my experience had to do in big companies. I was making stack and architectural decisions quickly. Since we didn't have an army of people, I had to do infrastructure, project proposals, requirements gathering, database administration, and decisions on stack changes. We just couldn't afford specialists. My pay was not exactly competitive, but when I left for a bigger company, I had major advantages over my coworkers, because I had such a breadth of experience compared to them, pigeonholed in roles that did a lot less, and never had to care about what was good for the business, just doing what the next guy in the totem pole said. Your idea of big bucks might be different from mine, but making over 300k in the Midwest sounds pretty good to me.
And it's not just my story: The rest of the people in that team are all doing extremely well. One is a senior architect in a cloud provider. Another is a pretty big conference speaker. The last one is the top technical gun in a consulting firm. All my friends that didn't take risks to go for better experience are doing far less interesting work, for far less money.
That said, a startup just makes it easier to get a job that teaches the right things. If all you end up doing is writing a web app in Rails, you might as well do that in a bigger place that pays better. It's not really about the office being cool, or thinking the company has a good chance at making it, but about finding ways to get a competitive advantage over other developers for the long haul.