As someone who will be entering the industry, I loved your perspective on your job at Google. Also, having read Cal Newport's "So good that they can't ignore you", I couldn't help but notice the hunger for independence in good software developers. Would you recommend newcomers to join smaller unstable( more independence) companies or bigger, more stable( Top 4) companies(lesser independence)?
If you already know what you love, then additionally pick a company that's great at that.
If you don't, then pick a company where you get a chance to be exposed to a wide variety of different things. If you aren't getting that in the company you pick, quit and pick another one.