I came across Papa John's ad seeking an iOS developer on GitHub. I inquired if they would consider remote for the right candidate. The corporate recruiter contacted me. She was very pleasant and, as the company was in the midst of a PR disaster, began by asking if I had questions about their handling of that difficult situation.
After some back and forth discussion about compensation, a phone interview with the Papa John's developer and their current contracted developer was set up. These questions were easy, things any experienced iOS developer should know.
A code challenge was then issued. The challenge was not timed and took me about 2-3 hours. It was setup as a Swift playground. I enjoyed this part and felt the time involvement was about right. The difficultly level was moderate.
After the code challenge was reviewed, an in-person interview was scheduled. I prepared by thoroughly going over the Papa John's app, unzipping the *.ipa and inspecting its contents, and examining the server communication using Charles Proxy. Also I ordered a pizza using the app – pineapple.
The recruiter scheduled three sessions, each one hour long. The first was with the development team. The second was with project management team. And the final was with the leadership team.
The Papa John's HQ was constructed like a palace. While waiting in the lobby I looked at their collection of items telling the history of Papa John's. Notably the actual Camaro was gone.
The main developer greeted me and gave me the tour. We walked to the onsite Papa John's pizza restaurant and past the Starbucks. He showed me their work area. I had to hide my disapproval as it was a large open area populated with long tables and crammed with employees behind laptops. No dividers or privacy in this area. It was laid out more like a classroom than a serious office. As I would be working mostly remotely from my home office, I did not comment.
I was introduced to a fellow iOS developer, which was a bit of a surprise because I understood Papa John's was currently working with an out-of-town development company for their iOS needs and they were looking to hire someone in-house.
The first session was attended by four Papa John's developers and one iOS developer from their third-party contracting company. I found it a bit odd they were so focused on the topic of functional programming and quizzing me on it. (I regard it somewhat as the new fad, but told them I could pick it up quickly.) I would have thought they would like to specifically discuss the iOS app, the customer experience using it, and problems they were looking to get fixed in code. I had previously emailed two problems I found (with video) – the lack of support for iPad landscape when using a keyboard and the primary "Next" button disappearing when using the back-swipe gesture. In any case, I enjoyed talking with fellow developers, all of which were friendly and professional.
The product manager session was also good. The two managers talked about adhering to "the process" rather than jumping in to do something just because a higher-up requested it. They were easy to talk to and really seemed to enjoy their work at Papa John's.
The final session was the leadership team. One Papa John's engineering director arrived late and asked a few questions about the previous app I worked on for three years. He excused himself after a short time to attend another meeting. I interpreted this as a bad sign. The other Papa John's leader was pleasant and knew their tech well. We talked for the full hour about the company, the competition, and mobile apps delivering sales.
A few days later I received an email stating they had decided to proceed with another candidate. So it will not be me fixing those bugs I found, but hopefully someone will get on that.