Working <i>for</i> a startup is a sucker's game. Even assuming it succeeds, with the amount of equity a typical employee holds and the size of an average buyout, the best-case scenario is that you'll emerge with a pittance after years of very long workdays. More likely you'll end up with nothing, and little professional respect for having spent years at a company few people have ever heard of. The odds are really only in your favor if you're a founder, not an employee.
That's misleading. There are web-startups that aren't tech centered and there are medium and big companies that solve hard technical problems that startups don't (or can't) encounter. Obviously there are also tech-centered start-ups and "business" centered big-cos.<p>A better dichotomy isn't start-up/big-co: it is is whether you're looking to do fairly simple, business-oriented programming or CS-focused programming. Or whether you'd prefer to work in an environment that's demanding in terms of output but flexible in terms of work-style <i>or</i> one that's strict 9-5 (no overtime, but no flexibility either).<p>The stereotype is that big-companies are "9-5, business centered" and start-ups are "demanding but flexible, tech centered". Yet there are other combinations available ("9-5, tech centered" -- think Intel -- "flexible, business centered" etc...) -- in both start-ups and big companies.<p>Better advice is to work on something you're passionate about in an environment that gives you the chance to gain skills/experience you won't otherwise: once you find such a place, it shouldn't matter whether it's a start-up or not. You'll always have time to make gobs of money later (whether from options at a start-up or bonuses/salary/stock at a big-co).<p>Essentially: don't work at a start-up for the sake of working at a start-up. Starting your own is a different option -- and isn't the same as joining an existing one; joining a start-up will give you exposure to the "whole picture", but it may also not give you a chance to learn technologies you could put to use at your own start-up.