The interview process was broken up into three stages. The first stage was a phone interview which was focused on getting to know me, my job history, and answering some basic technical questions. The second stage was a coding challenge, and the third stage was an onsite interview. The onsite interview consisted of a technical segment, a product segment, and an interview with the CTO (and free lunch 🙂). Following the final stage, I was extended an offer and did accept. Looking back, I was very happy with the conversations I had with my to-be Engineering Manager during each stage of the interview process. Based on his feedback about the company, the culture, his general enthusiasm for iOS development, and the various company perks, it seemed like a very good fit.