Meh. Being a developer is being a developer. Not to say that certain specific companies don't sometimes have specific challenges or perks that would be of unique interest to somebody, but by and large, there's no real reason to think if Google/Facebook/Amazon/$anybody_else as a "dream job."
I used to think that way, and after working at two of my "dream job" companies, I've realized that it's pretty never what it's cracked up to be.
Really, the world is SO much bigger than just GoogBookHooSoftCart... I'd encourage people to NOT put those companies on any kind of pedestal.
So I counter your advice by saying the best opportunity for a young engineer is likely a large company that is well-known for having generally smart people. At least I learned what I wanted and didn't in the rest of my career.
From my own experience I interviewed with a small company right out of school where I would have been the second or third developer (I forget now). One reason I did not pursue it is that I seemed to know more about development best practices than their existing developers; for example they did not use source control at all. While I would have had the opportunity to make a big impact on the product, I don't believe I would have grown much.
This is assuming that smart leadership equals no deathmarches. Deathmarches are for the young and gullible.
There isn't really a "once in a lifetime" email from a recruiter. Once you interviewed with them you'll have plenty of opportunities to interview again.