The real appeal to a startup has little to do with compensation. It's about "benefits" and intangibles. Obviously these will vary depending on the degree to how "start-upy" your company is but I think you can measure it most by the size. In the extreme example, when you start your own company, you own it all. You want casual Fridays? It's done. You want a remote/results-only workplace policy? It's done. Cubicles, private offices, or wide open desk farms - you pick.
From a developer's perspective, you don't have to support someone else's code (at least for now). It's YOUR code - but it's also YOUR bug when they do come up. It's much less stressful fixing your own bugs then a "senior" developer who's worked there for 15 years and supposedly knows what he's doing but fails to take responsibility.
I previously worked at a large ad tech startup (using that term loosely, they had just gone public and had about 250 people) and it drove me nuts. Particularly, it was the strain of having to work for someone I didn't respect. I left and now run a company with some friends - all of whom I believe to be smarter than I. There is no better feeling than being the dumbest one in the room. That is a luxury rarely afforded at large companies. Invariably, you're going to end up with people at the bottom of the barrel. When you're the owner/boss/hiring manager - you get to pick the people you work with.
TL;DR: Startups aren't about compensation it's about the enjoyment of picking the workplace you want to be in. You don't have to worry about working with people you dislike, because you pick them all!
Edit: Also forgot to mention, I have learned exponentially more in the last 2 years of running my business than I feel like in the rest of my life combined. It's like software development/product management/sales special forces training - you really end up pushing yourself to do more than you thought you were capable of. Mostly because there is no one else to pick up your slack.
Big companies provide better benefits, in tangible terms. A lot big/medium companies now have flexi-time, days to work remote. You probably won't get free pizza, but with the extra pay you can buy your own.
I've never worked at a startup where you can personally chose the staff..
I've noticed people at startups tend to be developers focused on the latest trends, coding fast, the latest js framework etc, less focus on writing clear maitainable code.
Developers at larger companies focus on writing maintainable code, SOLID, TDD etc, less focus on the latest js framework.
I'm a big startup advocate, and for roughly GolfyMcG's reasons.
But all things depend on the individual companies, in some startups you won't get to hire. And for my luck, of the 2 large companies where I worked there was no chance of flex-time, or remote - or any kind of non- 9-5 schedule even for devs. On the other hand at 1 of them everyone left at 5 on the dot cause no one cared about their jobs - and a strict 40 a week feels like vacation a lot.
I think regardless of where you go you have to pick wisely (and I only picked large because my options where limited and the salaries where good.).
But as a rule small - not just startup, means you have more power and control over yourself and your fiefdom. And that freedom is what you like that's where you should go. (Or research - there's a lot more paperwork with research teams, but there's a lot of freedom as well.)
And yes - if you like writing good code you are proud of years later a big co is good place to do it. At my government gig, we wrote prototypes we'd knew would have to be thrown away, perfectly - because really why not? There were no hard to meet deadlines, or particular concerns about the grants running out. So we built things we'd be proud of, every time.
From a developer's perspective, you don't have to support someone else's code (at least for now). It's YOUR code - but it's also YOUR bug when they do come up. It's much less stressful fixing your own bugs then a "senior" developer who's worked there for 15 years and supposedly knows what he's doing but fails to take responsibility.
I previously worked at a large ad tech startup (using that term loosely, they had just gone public and had about 250 people) and it drove me nuts. Particularly, it was the strain of having to work for someone I didn't respect. I left and now run a company with some friends - all of whom I believe to be smarter than I. There is no better feeling than being the dumbest one in the room. That is a luxury rarely afforded at large companies. Invariably, you're going to end up with people at the bottom of the barrel. When you're the owner/boss/hiring manager - you get to pick the people you work with.
TL;DR: Startups aren't about compensation it's about the enjoyment of picking the workplace you want to be in. You don't have to worry about working with people you dislike, because you pick them all!
Edit: Also forgot to mention, I have learned exponentially more in the last 2 years of running my business than I feel like in the rest of my life combined. It's like software development/product management/sales special forces training - you really end up pushing yourself to do more than you thought you were capable of. Mostly because there is no one else to pick up your slack.