Working for an existing startup is a good way to learn the ropes. Dana Levine makes a valid point that working for a very early stage startup will give you founder-level risk (and lack of pay) without the matching equity, and that therefore:
If you're primarily looking to learn a lot and to prepare for your own startup, I would target a startup with 15-30 employees who has taken a decent-sized round. They will pay you a salary that is close to what you could have gotten elsewhere, and you will still have the opportunity to feel like you are part of a small team that can have a big impact. Plus, money won't be super-tight, so they won't need a quick exit, and will be likely to be around for a while.
That said, as he points out:
With few exceptions, the most successful startup founders are the ones who ate Ramen and packed three people into a one-bedroom apartment.
You aren't going to learn how to do that in a 15-people post-funding startup. Then again, maybe that's really the sort of thing you can learn on the job.
This HN comment also points out that culture fit is very, very important when joining a startup.
If you read this far, you should follow me on twitter here.