Begins with a phone interview that is non-technical and deals with history and applicant background. If this is successful an in person interview is scheduled. This is again non-technical and the questions are generally about times in the past when you've exhibited some characteristic, such as leadership. There may be another follow up in person interview with some members of the development team to discuss technical experience. Lastly there is a technical assessment which is completed at home, and can be done in any programming language the applicant is comfortable with.