That said, it is intimidating starting as a Noogler, largely because of the huge volume of proprietary material you need to learn. There's one true way to store structured data, and while it's open-sourced (Protobufs), you've probably never used it. There's a unified JavaScript library (Closure), but it wasn't open-sourced until recently. There're logging, and log-processing, and monitoring, and RPC, and cluster management systems to learn. There're a bunch of storage options, some of which you may've read about in public but never used (BigTable), some of which will be completely new to you.
The scale of problems that Google tackles is also bigger than most people are accustomed to. In a lot of the industry, a few-dozen node cluster is fairly large. At Google, thousands of machines are routine. Big-O notation can be ignored at a lot of shops, but at Google-scale, anything that runs in greater than O(N log N) will usually take centuries. Most frontend web devs never worry about latency; at Google, we care very much. A/B testing has recently made a lot of headlines and had some neat libraries developed for it, but its centrally ingrained in Google's feature development processes.
When you first start out - particularly if you're used to always having the answers, as many Google engineers were - that can be intimidating. There's suddenly so much you don't know, and yet you know (through Google's public reputation) that software obviously gets written there. Once in a while, it's even good software.
For your first few weeks, you probably won't even know what questions to ask, because there's such a volume of knowledge out there. Oftentimes, somebody's already solved your problem, but you don't know about it because it might never occur to you that someone's already solved it. There're also things that Google pays attention to that many other shops don't - in many other employers, you'll never have to deal with internationalization, or handling Chinese characters, or right-to-left languages, or XSS, or managing HTTP resources when you have a large fleet of potentially-out-of-sync webservers. When I started doing code reviews for the websearch webserver, the tech lead said, "We don't expect you to know everything, but we expect that by now you've learned enough to know when you need to ask someone."
And isn't being the dumbest person in the room/company a blessing? This just means that people are paying you to increase your skills and learn from people better than you. How much better can a job get?
I have no intention of ever working for Google but the "lots of people there are way smarter than you" would be the biggest draw if I did.
edit: Now that I think about it, my habit of asking "stupid" questions (not only about technology) and the fact that I don't really care what people think of me when I do so have stood me in good stead especially with advancing age.
I've seen many friends get stuck trying to maintain the illusion of knowledge or understanding and "live in fear" of "being exposed for the ignoramus I am". I don't really care if someone thinks I am an idiot as long as I learn something. Attaching your ego to the perception of others is a dangerous hang up imho
I remember early in my career I had done a fair bit of C. I'm in a meeting with some architects and they start writig up structs with bitfields. For some reason I must've skipped that section in K&R and never seen it code. My first thought was, "you can't do that in C", but then I noticed that no one else was having a problem with it. Then I realized I didn't know for sure what it was.
I wanted to say, "What is that thing after the colon?", but I feared hearing, "This is 'C 101'. You haven't seen this? It's not possible to write good code w/o it. We need to revert all of his changes. Please escort him from the building now".
In other words the concern is not that you'll feel dumb relative to smart people. But rather people thinking that this is so basic, how could you possibly not know that.
With that said, I did consult at a place where one guy didn't know what free/delete was. He had only worked with garbage collected languages, and I was tracking down tons of memory leaks in his code. When he asked me why he had to free memory (in a C++ application) I did have to pause to avoid saying something I might regret. Everyone has their experiences, and I'm sure he would laugh at my naivette when it comes to Lisp macros.
The only stupid questions are the ones you never asked.
The one thing that would help with this is if people realized that compared to others we're all stupid in one field or another, and probably in plenty of them. So there should be no stigma on asking stupid questions or any questions at all, in fact, most stupid questions when looked at in some detail turn out to be not that stupid at all.
The most frustrating part of asking 'stupid' questions is if the person that you're asking them off tells you to go away because it is a stupid question or because 'you wouldn't understand', typically if someone has a superior attitude towards a subject but refuses to answer stupid questions it turns out in the long run they didn't know quite as much about it as they suggested in the first place.
Consider every joke you've ever heard about a clueless client. Think of every joke you've heard about some support call some tech guy had to take. Think about the "cup holder" joke, the ID 10T given to a customer, or the multitude of stories told on TheDailyWTF.
No one likes to be the butt of a joke.
> I don't really care if someone thinks I am an idiot as long as I learn something. Attaching your ego to the perception of others is a dangerous hang up imho
This is true. But also realize that a large portion of the population have this hangup to some degree.
The one thing I can credit to really demonstrating that their is no harm in asking was asking this girl out in high school. I did it at the worst possible time: in front of her friends and mine as well. I just asked, simply and plainly. She was flabbergasted. She invited me to dinner that very night, with her friend. I was promptly told by that friend later that evening when we were alone for a moment that the girl I had asked was "in shock, but in a good way." We ended up dating. I'd never done anything like that before.
It occurred to me that it's easy to ask, and that anyone who looks down on asking are people that know less than they let on themselves.
I still fall into the trap. But it's handy to realize that asking can lead to surprisingly good, and fun, results.
I think the trick is to always have the last word. It doesn't matter if you make fun of yourself, but it does matter that the one who makes fun out of someone, is you.
So I some times make fun of myself and nobody think I'm a lesser being for that.
I think you make some really good points - but I would like to mention that you can also get feedback from really smart people in our field and lots of people working on projects like these by participating in mailing lists and hanging out on IRC.
edit: Or as someone else pointed out, ask on IRC. The #whatwg channel on Freenode is where I mainly hang out.
If you aren't paying attention to the name tags, you could well be explaining some C curiosity to Kerninghan, explaining longest common subsequence to someone who wrote the diff for unix. They would listen to you patiently and thank you. May be also subtly point out an error in your argument, while you never realize whom you were talking to, until much later.
The Kerninghan incident did not happen, but several similar incidents did.
Down voter: I assume you disagreed with my opinion and not that there is anything unsavory about the comment.
What I thought was the most interesting bit about your comment is the 'unassuming icons of CS and Machine Learning', as a rule I've found that the real experts in a field are usually humble to a fault and approachable (with some exceptions), it's the people with a little bit of knowledge that will do whatever the can to make it seem like they're the experts, as though they've just read one of those 'how to bluff your way in to computers' books.
A conversation with a co-intern over lunch during the first week:
Friend:"Hey, do you know who he is ?"
Me (busy gorging awesome food): "No. But he got himself locked out and I had to let him in a few days ago. He was so profusely apologetic and thankful... I probably wouldn't have remembered otherwise. Checkout these steaks"
Friend: "Take a look at his name tag on his cube sometime."
And yes, more often than not humility co-habits with expertise.
I have a moderate hearing impairment, so nothing was as inspiring and humility instilling as seeing T.V. Raman work. http://www.nytimes.com/2009/01/04/business/04blind.html
What I think is being referred to is the insecurity that comes from within. A lot of engineers come to Google from an environment where they were often the most knowledgeable person in the room. It's tough to adjust to being the most ignorant.