I recently completed (and failed) a set of interviews with Envoy and I thought it would be worthwhile to recap my experience to helpfully prepare future candidates for what to expect if they get the opportunity to jump through these same hurdles.
Envoy describes themselves as a "hybrid agency" where clients are described as partners. In practical terms for an iOS developer, this means Envoy is essentially just an "app shop". In the long term, Envoy is not likely to become a massive company or go public or make a huge name for themselves. On the other hand, the work that they do with the companies that commission or involve Envoy will likely get an iOS developer a healthy portfolio, quite a bit of experience and a nice population of users using your software. In my case, I was interviewing for an iOS Developer position on the team that creates the Vizio mobile app. There are currently 5 iOS developers and 8 Android developers on the Envoy side and a single manager, iOS person and a small back-end team on the Vizio side of things (i.e. these are the people Envoy works closest with on the Vizio project).
The way things got started when Envoy's in-house recruiter contacted me via LinkedIn InMail and the first thing to accomplish was a programming project, which went like this:
Write a Swift playground that takes an n x n grid of integers. Each integer can be either 1 or 0. The playground then outputs an n x n grid where each block indicates the number of 1's around that block. Spend an hour and a half coding the logic and another hour cleaning your code (adding comments, cleaning variable and function names) and optimize your functions to be O(n^2). Make sure your solution works for any size grid.
Next up was a conversation with the lead programmer. He asked me a few questions and I did well enough that I got invited to a panel interview via a Google Hangout.
There were 4 - 5 iOS devs in the room doing the panel interview (a couple sitting at the meeting table, one off-site, another laying on the couch) including the lead dev I originally spoke with. One interviewer expressed surprise I took the time to look up his LinkedIn profile (the interviewers names were sent along to me by the recruiter).
Historically, I typically never perform well in panel interviews as it's easier for one dissatisfied or grumpy participant to convince the other interviewers of the candidates unsuitability, versus the other way around (the unlikely event where a happy interviewer actually advocates and lobbies the other panel participants that the candidate is worthy). Another striking thing about the panel interview was that I was asked pretty much the exact same stream of technical questions that my individual round with the lead programmer gave me. I've recapped them below. My guess is that I botched up the answer to "typedefs" or perhaps they didn't think I (as an enthusiastic candidate) was a proper "culture fit", which is a totally subjective and lame way to dismiss a candidate.
Either way the outcome was a huge disappointment for me, but hopefully my experience flunking the Envoy interview process will help you to prepare to pass your interviewing day. If you find any of the information in this review helpful, please let me know by voting "Yes" on the "Helpful?" question below (this helps to motivate me to be as detailed as possible).