Facebook, Google, Apple, and Netflix still have some of the best talent in the bay. They also push out a lot of amazing projects (PyTorch, React, Go, Chromium, Tensorflow), although Netflix much less so.
At the end of the day they have the money, and they do provide ridiculous perks.
But you will only ever be a tiny part of those big projects. If you want big challenges or big recognition perhaps a smaller startup will make you happier...
Not necessarily. You can go to a team that works on a tiny part or you can go to a team that affects the entire company. You'd be surprised how few people want to work on the latter. Especially because the tiny parts are usually new press release type "fancy" stuff and not boring things like build systems, security, etc.
At the end of the day they have the money, and they do provide ridiculous perks.