I went through 8 interviews (over the course of 8 months) before I got an offer from Google. By the time Google gave me the offer, I already accepted an offer from the other company. I told the HR of Google that their process sucks (of course, I said it indirectly) and she agreed with me. I'm glad to hear that Google is finally making changes here.
Are they still limiting it to only PhDs and Masters? That to me always struck me as their biggest mistake.
The common perception from people in the industry is that many of the best programmers are self taught. That doesn't preclude doing a degree of course, however even the really good programmers I've met that did degrees say that they really ramped up their learning efforts after leaving university (and that was my experience too).
I work at Google, and have a BS in CS from The College of New Jersey. So if they ever filtered on graduate degrees or prestigious schools, it's no longer the case. In fact, your description of a self-taught programmer fits me pretty well.
Good to know they've unbent a little on that as well. Of course it then begs the question "how then do you hire good programmers?". Solving that problem would be really interesting (my pay might go up :D )
I doubt that Google ever tried to hire only MS/PhDs. I went through interviews and got an offer when I was only a BSCS student. I also know a lot of people who don't have MS/PhDs and work at Google.
On your 2nd point, I totally agree with you that self-taught programmers should actually get a degree in CS or any related major. Although the programming classes might bore them out, there will be courses and professors who will take them to somewhere they would have never known before. This is just my generalization and, of course, will not apply to everyone ;)