I was contacted via email from an in-house Google recruiter working out of Mountain View. He was very interested in my breadth of experience and felt I'd be a strong fit for a technical program manager role in their Site Reliability Engineering (SRE) group.
This process took a LONG time. To save space I'll just outline the timeline:
Day 0 - recruiter email, I reply same day giving my availability to talk
Day 1 - I have a 20 minute chat and recruiter asks me some classic computer science trivia.
Day 2 - I have another 20 minute call with a different recruiter who specializes in the program management space. This again was a solid conversation. He seemed really pleased that I could gives the pros/cons of agile, and could cite numerous real world examples for successful and failed projects (15 years of experience will see all kinds of projects). So this ended well and the next step was a series of "real" phone screens.
Day 16 - I had 2 separate 45 minute calls scheduled with a 15 minute break between. The initial recruiter had sent me some study suggestions in advance, which was really nice of him. So for the 2 weeks leading up I practiced various academic programming exercises. Stuff like implementing Hashmaps from scratch in java, various sorting algorithms, traversing trees and other tedious stuff I hadn't done since college.
Tech interview: linux system internals. The questions started with easy stuff like run levels, permissions and some file system stuff that was a bit harder. Then we got into low level CPU/arch stuff involving context switching etc. We concluded with a java coding exercise, that I didn't ace, but I did get working before the time was up. Overall I'd say I scored a 75% or so. Not awesome, but for a TPM role I thought this proved I had a clue and could interact with engineers well.
TPM interview: I can't even remember all the questions, but I was able to address each question with a real world example. The guy absolutely loved my anecdotes. He was very quiet and spent a lot of time typing, so I wasn't sure how we was receiving me until the end.
Day 20 - Orig. recruiter contacts me and says TPM interview was "the best they had ever seen". Bad news was I didn't cut the mustard with the technical. However he said it wasn't fair to have asked me all those linux internal questions, and they would like to re-do the technical interview AGAIN with more of a traditional CS/programming focus. Well, I agreed because that was better than getting rejected outright.
Day 34 - Technical phone interview part II. Audio quality was rough at first. Speaker phone in apparently an open environment, as I could overhear folks walking and talking. Interviewer had a strong eastern European accent, which I'm used to now, but it didn't help with the background noise, echos and other interference. I will say this interviewer was very encouraging and friendly. He never called me out for being a goof, he would say instead "is there a better way?".
In hindsight my implementation was a little bit sloppy, but it functionally got the job done before the time was up. I felt I did better than the first time, so was content.
Day 35 - Recruiter says he has sent all feedback to hiring manager(s) and will have feedback early next week.
Day 38 - Recruiter calls me.
I'm still the best technical program manager google has ever seen (tell that to by current boss), but even though I clearly know how to code and work through technical problems my coding is not of the rock star level they require. This is a little discouraging, as I'm interviewing for a role where I'm not programmer on a regular basis, though I would do design, architecture and code reviews.
Then he dropped a weird suggestion - while I wasn't smart (my word), enough to work on the SRE team in Seattle, he suggested that there may be many other roles at the Mountain View, CA headquarters. Perhaps one of the various teams back at HQ had lower standards where I guy like me who didn't actually major in Computer Science would be accepted. I politely declined that, but asked to be contacted for future local positions.
I realize this may sound like sour grapes (it could be a little), but I spent nearly 6 weeks JUST to get through the phone interview process. I also dislike the mixed messages along the way. I'm awesome, but there's a technical requirement that I absolutely must meet and that's there policy.
Now I can empathize with excellent waitresses that don't get hired because they are attractive enough.