| Here are the advantages of working at Google (from my perspective.) - Excellent infrastructure. If you want to run a job on 2000 machines, write 10 lines of boilerplate, press go, and you're done. - Lots of people smarter/better-educated/more-talented than me. (Though maybe this is common. :) - Lots of resources. For a batch job, you can spend 10k machine-hours doing something frivolous without getting approval from anyone, since there's usually enough idle capacity somewhere. For instance, rendering the largest nebulabrot that has ever been rendered. http://www.danvk.org/wp/2007-04-06/nebulabrot/
Or finding the highest possible scoring boggle board. http://www.danvk.org/wp/2009-02-19/sky-high-boggle-scores-wi...
This is also great for prototyping something new that requires crunching a lot of data to create. I made a rhyming dictionary that was based entirely on datamining lyrics pages. It's also super convenient that we have a copy of the web on disk to play with. - Google's brand behind any product you launch. Things might fade into obscurity, but they at least don't start out that way. Disadvantages of working at Google: - It's hard to fail fast because everything has to preemptively scale. It's probably easier to scale here than at most other companies, but still much harder than spit+duct-tape on a machine in your apartment. - Google-wide goals/approvals can eat into the time to focus on product-specific things. There is some big-company overhead, though it's kept to a minimum. - Established products are somewhat ossified, whether that's due to refinement or over-fitting is up to debate (and debated.) Thankfully though Google is remarkably not risk averse about making major changes to major products if you have the data to back it. |