Contacted by recruiters at a few companies. One of which was Google. I discussed what kind of position I was looking to move into and what location I wanted to work from. I later spoke with another recruiter in the location of my choice, again spoke about my interests and set up a phone interview.
Phone interview was a blast, I first talked about some projects I worked on (discussing some of the technical details), programmed two problems using Google Docs, then answered a design question relating to scaling an algorithm I wrote all within an hour. I felt like I was collaborating with a coworker, almost as though one would when pair programming. I ended the interview thinking, wow that was actually quite enjoyable.
A week after I was invited in for an on-site interview. Due to various obligations I couldn't make it in for the interview for several weeks. When I made it in, I finally met the recruiter. She was very nice. I also saw the insides of the office and knew right then and there this was my kind of work environment.
I had five interviews, and a lunch non-interview. Due to my work schedule at the time, I had to travel 7 hours to get to the interview, and slept for about 3.5 hours before. I was a bit tired. Anyways, each interview tested my knowledge of programming. I was able to talk through my approach with the interviewer, and again we discussed some of the trade-offs of my implementations. Three interviews were really fun, four were really thought provoking, and one made me realize that I needed to go out and buy a couple books and do some reading. Everyone I spoke with during my visit was nice and down-to-earth and seemed quite humble despite their sheer intelligence.
Although parts were challenging, I just approached it as though it was a regular day at the office and not a big deal. So now that the process is over, I look back and wish it was more challenging. I always like a bigger challenge.