Hiring and the Technical Interview
Are you looking at the wrong things when interviewing?
An employer’s primary goal in an interview is to identify someone whose skills match the role they’re trying to fill. Seems obvious, right? But even though this objective appears clear-cut, as part of the iOS hiring team at Prolific I’ve seen how easy it is for engineers to get distracted by other factors when interviewing candidates.
Algorithm questions and white-boarding have become staple technical interview techniques for “big five” companies like Google and Facebook. Because these companies are so influential, their tactics are now considered standard in the engineering community. Regardless of their company size or department goals, many hiring teams wonder, “Are we building a legitimate team if we don’t ask job candidates about linked lists and big O notation?”
Last year, Prolific formed a small committee, passionate about improving and streamlining our mobile engineer hiring process. We decided to re-think our interview process and hiring criteria based on the skills we practice every day in our product teams. For mobile engineers on cross-functional product teams, traditional algorithm questions don’t get us close to understanding their aptitude in the skills they’ll need day-to-day. This led to a revamp of our technical interview process, which has been enormously successful in vetting the most recent additions to our department.
What it looks like for us
Product teams at Prolific are highly collaborative, multidisciplinary, with almost flat hierarchical structures. In its most typical and complete form, a team is made up of product managers, UI designers, UX researchers, mobile and backend engineers, and analytics and growth strategists. Our desks are adjacent to each other’s, and we constantly tap one another on the shoulder to request input and clarification.
Engineers might group off to hash out decisions about the architecture of a new code base, or pair up to debug a gnarly issue in long-standing software. A lead engineer might sync up with an analytics manager to understand the tagging spec for a new feature. A product manager might modify the acceptance criteria of a ticket based on new information from an engineer. An engineer might follow up with a UX researcher about an ambiguous tap state, or with a UI designer about the layout compromises for an outlier device size.
These conversations empower us to achieve greater flexibility. They also allow us to optimize each facet of our work — product, design, engineering, and growth strategy — by pushing us to recognize and address all the instances when our specializations intersect.
Who we’re looking for
Beyond these realities about how we work, our team is a manifestation of who we are and how we cultivated our skills. We represent incredibly diverse educational backgrounds — more of our engineers have attended programming bootcamps than have a CS degree, and over a third of the department, including some of our most trusted technical leaders and managers, started out at Prolific as interns. The hiring committee understood this and recognized it as a chief source of our collective strength and versatility. Whatever technical interview format we put together would have to be built to identify engineers who would excel at working within our product team structure and who would continue to build the department’s diversity.
The interview format that worked
Having articulated these goals, the committee realized that popular technical interview formats just weren’t going to work for us. Our answer to the question, “Are we building a legitimate team if we don’t ask job candidates about linked lists and big O notation?” was a resounding, “Yes!” And not only that, but answers to these questions would give us very little insight into a candidate’s ability to work well in our team. We needed an applied skills interview rather than a traditional whiteboard interview to assess this. So we developed a system where candidates can show their chops at implementing something in context and — crucially — at talking through implementation issues with product, design, backend integration, and strategy in mind.
The mobile engineers that have joined our team since the change were easy to identify as great additions. Not only are they highly-skilled, but each has a different educational background, and brings a unique and valuable perspective in their work. We count this as a huge success.
To top it off, even candidates who weren’t a fit for our team have said that they learned something and even enjoyed themselves. Regardless of the outcome, we want every candidate to get a sense of the qualities that bind and foster our team. We’re proud to say our new system accomplishes that.
Interested in joining our team? We’re always looking for incredible people to partner with us in having a profound impact on everyday lives through the products we create. You can find our open positions here.