6y
Thank you for sharing your experience.
Our Chicago office is relative small and hosted in the beautiful and historic Monadnock building, a landmark building that has some challenging floor plans. Unfortunately this means that some spaces might be a little cramped when we need to have most of the office participant, as we like to do when interviewing a new candidate. Our office does however have all of the modern amenities and equipment, including gigabit fiber.
We structure our interviews in two sessions, the first around meeting the tech team and a coding interview, the second interview around meeting our product managers and reviewing the coding interview. The total should take about five hours if a candidate progresses all of the way through. We feel that we spend the appropriate amount of time required to get to know a candidate well, and for them to get to know us as well. We want a good fit in both directions.
We have designed our interview process with very specific questions that get to the heart of communication, teamwork, and leadership. They are open ended by design, to get the interviewee talking. We do not do white board quizzes or technical gotcha questions. We understand that this can sometimes be not what a candidate was expecting.
Our coding interview is very casual and based around a process used by Slack:
- Start with a take home pull-request code review that has a low time commitment. This is so that we don’t disadvantage those who might not have time for an 8 hour take home coding exercise. Our take home exercise should take about an hour.
- Use the code review as a launch point for an on site coding exercise that is a simplified version of a problem solved by our real code base.
The developer can bring their own machine in for the exercise, or we will provide one if needed, whatever works best. During the interview we do our best to make the candidate comfortable, and let them know that the exercise is ‘open book’ - you can do a google search in your job, so why not lookup anything you need while you are in the coding interview.
We do ask that the candidate tell us what they are thinking as they code. This demonstrates the ability to communicate and share and allows us to see how people think about code. This is key: there are no right answers on our coding interview, and there’s no ‘done’. We just want to see how people think and code as they work through some problems common to our domain.
We want people who will work well coding with others as a mentor and who are able to seek out and take coding help when they need it.
We’ve put a lot of thought into our recruiting process and engineering culture, and have recruited some amazing candidates as a result.