I'd still like to someday understand what makes Google qualitatively different from other companies.
Because I don't think 20k smart engineers necessarily yields a functional company nor is immediate access to the top levels always a good thing (for obvious reasons).
The people that are working there aren't just the most brilliant in the world, they literally invented a good portion of the internet, computers, computer science, and programming as we know it. They have "the father of the internet" (Vint Cerf), the creator of Vim (Moolenaar), the creator of Python (Guido), the lead developer of Firefox (Goodger), several of the lead Linux kernel developers, the creator of memcahced (Fitzpatrick), Ken Thompson and Rob Pike (both notable for several things), and hundreds of other developers that have already proven their worth (Peter Norvig and Jeff Dean come to mind).
These aren't just smart people, they're smart people who have changed the world.
To put it into context, one day I'm sitting in a meeting and someone says "Mike is working on an algorithm for that." Another person asks, "Burrows?", to which the first person says "Yea." They were talking about Mike Burrows, as in the guy who created the Burrows-Wheeler Transform (among other things). Names of people that have had major impacts like this are routinely brought in casual conversation. It's like working in a programming mecca. The crazy thing is, even the names you wouldn't recognize have most likely had substantial impacts as well.
As for critical mass, Google has it. I was standing in a hallway one day reading stats about search traffic on one of the walls (the wall slightly beyond Larry and Sergey's office, for those who have been there), and sure enough Larry, Steve Jobs, and some other guys walk on right by me. When you're big enough to have people like Steve Jobs walking around your halls... some doors open up that simply aren't open to most start ups and companies.
The thing is though that the company is really laid back. I was eating lunch one day with my team and there was an open seat. Sergey Brin came over and asked if he could eat with us. Another time it happened during TGIF, and we just sat around and drank beers. At a different TGIF I drank beers with Alex Martelli and we talked about some of the Python books he's written and how he got into hacking on Python. TGIF, in case you didn't know, is a weekly meeting that the entire company has. Every Friday the company gets together, Larry and Sergey get up and talk about what Google has done during the past week and then the floor opens up for Googlers to criticize the company, recommend things they can do better, or show appreciation for things well done. Read that again... Every week the company gets together as a whole and does a self-analysis. Any issues that are brought up will be resolved by the next Friday. When Google does something stupid, it's addressed and fixed in under a week. Most companies have a meeting once a year, and there is no self-analysis going on. After the self-analysis is done, Google has beer, food, and often live music. The company just kicks back, relaxes, and bullshits over beer. They do this every week.
As for people that haven't yet made a name for themselves... Google will give you the opportunity to. I was there for two weeks before I was running distributed programs across thousands of machines (prior to being there I had never even done serious multi-threaded programming, yet alone distributed computing). I had a copy of the Internet on one of our teams shares that I would run tests and experiments against. Yea, you read that right, a copy of the Internet (text-only). You are effectively given unlimited resources to do whatever you want. Money is never an issue, only brain power is ever in short supply. You'll never be given hard deadlines, you'll never even really be told what to work on... everything is more of a suggestion. You can find a bug, fix it, and push it live in under 4 hours (I've seen this done) and no one will stop you. If you ever get bored and want to join a different team... your desk and items will be moved to that team within 24 hours (assuming that team can take you on). Engineers are viewed as stem cells... if everyone is brilliant than anyone can learn to fill any role, and they do.
The teams bond really well. No one eats lunch alone, you always eat with your team. All the food is free, so you don't have people packing lunches, and all the food is delicious, so you don't have people leaving campus for lunch. Whenever there was a big blockbuster movie(like Transformers when I was there), Google would buy out the local theaters on opening day and take the company to see them. They made sure that you were having fun, and they made sure that you had time to interact with your team in non-professional settings.
Also, everyone in the company is at your disposal to help. The organization is nearly flat, but it doesn't matter... you'll never see someone say "I'm the Director of Blah", everyone always just uses the title "Software Engineer". It's quite a sensation. I haven't even begun to scratch the surface of what it's like working there. It is truly quite difficult to explain to someone who's never been there.
All that said, it's not perfect and there are lots of sore spots (especially as they keep growing). I won't get into them though simply because this is already long winded enough.
Aw man, I wish I'd joined as an engineer now. The lens I'm seeing the company through (product management) isn't half so cool. I mean, a lot of the above is still true, but we definitely have deadlines, tasks, responsibilities, and the team doesn't seem to eat together all that much. Obviously teams vary though, and this one has been thrown together fairly recently from a very disparate set of people, so that cohesiveness and flexibility isn't really there I guess. Despite all that, it's still pretty awesome.
All that brilliant work, will just end up making Sergey and Larry even more rich.
Google seems like a great enviroment to learn, but at some point reality bites. Your 130k salary wont buy even a decent two bedroom around mountain view.
1 You either have a wife that makes 6figs, so with a combined salary can afford a two-three bedroom house, + schooling for kids.
2. Try to make it big. That at google aint gonna happen. Maybe you will get an extra 30k, for your extra work, but that's it. In comparison, a 7th year lawyer in a top firm, makes easy 260-300k.
I'd personally never work at google (prefer smaller companies) but that kind of work environment is definitely something I respect and hope, someday, to emulate in my own company.
Do policy issues such as "how to deal with China" get discussed in the TGIFs or e-mail lists? I would imagine that such discussions might become very long-winded and very prone to flame wars very quickly.
Yes, they certainly do. In the TGIF presentation itself there isn't too much back-and-forth (although the panel members may have different opinions), but people will discuss it themselves after. For something as big as the China issue, it was probably discussed in some other channel(s) as well.
As far as email lists go, the discussions can get quite lively, although I wouldn't generally call them flame wars - civility still holds in general. But they can definitely get long; the term centithread gets thrown around a lot. When I was there one of the longest I saw was about people putting open chocolate milk back in the fridge, and whether or not that was a terrible thing to do :p..
Yea, they can video conference in. There is also a web based system for asking Larry & Sergey questions. The large majority of Google's engineering force is in Mountain View though. If you ever do work at Google, go to Mountain View... all of the other campuses get similar perks, but Mountain View gets the best.
I'd still like to someday understand what makes Google qualitatively different from other companies. Because I don't think 20k smart engineers necessarily yields a functional company nor is immediate access to the top levels always a good thing (for obvious reasons).