1.) Initial Phone Interview screening with HR. Very easy going and laid back. The HR rep was really good to talk with.
2.) The HR interview went well so she set me up with a Technical Phone Screening with both development groups. 2 separate phone calls, both lasted a little less than 1 hour. Standard technical questions that anybody in Object Oriented development should know. Also several behavior questions and how you interact with people. How you would handle certain situations, etc.
3.) Made it past those so I was offered an on-site interview. It was an all day process ( 8 - 4:30 ). One of the development groups was the first half of the day, the other group was the second half. Each group consisted of the following:
a - 30 minute interview with a manager.
b - 1.5 hr paired programming session with a developer.
c - 20 minute break
d - 1 hr team panel interview with a manager and 4 developers.
e - 30 minute interview with 3 managers.
It was a difficult interview because it was an all-day process, constantly meeting new people, being evaluated, etc. But in retrospect everybody was laid back and easy going. Even though this is a formal interview process, they tried to make it as informal as possible.
Even though it was stressful it was a positive experience. From the very beginning everyone I came in contact with was courteous and friendly. I was waiting outside before 8:00 and a manager walked up from the parking lot, asked me if I had been helped yet. Told her I was waiting for an interview. She told me to come in, asked me if I needed water or coffee or anything. Very hospitable. Same thing happened when the HR rep came in. That really set the stage for the whole day. Developers and managers alike treated me that way throughout the day. I never felt like an 'outsider' even though I was. The first group even took me out to lunch.
What was most impressive was the culture. If you want to be a developer, learn new technologies, and truly utilize and grow those skillsets, my impression is that this is the place to be. Very flat organization, they don't seem to be wrapped up on titles. Every Friday you get personal time to learn new technologies, etc. Whatever you choose. Got a genuine sense that people really love working there.
I now understand why the interviewing process is so involved,... they want to protect the work environment / culture. Teams are self governing. They can choose what technologies they want to work on, make their own decisions, etc. There's a true passion there for the work they do.
Every interview session allowed me to ask questions. Each session I asked every person interviewing me why they stayed there. The answer was consistently "the people and the culture". They have a good thing going there... other companies need to see how they do it.