Great question, Jess. I decided to write a blog post to provide a bit more detail, which you can find here: Update on Hiring: It's Still Hard
Here's the short version:
We source candidates through contributions to open-source projects we care about (e.g., code, activity on mailing lists, discussions on bug trackers, etc.,), networking (especially with professors), and submitted resumes.
If the hiring manager decides you might be a potential fit, they set up a 20-minute phone call to make sure you and the position are aligned at a high level. We discuss details of the position like job responsibilities, expectations regarding things like title & salary, and physical office location, then briefly talk through your resume.
We then go to a 30-minute technical phone screen, administered by one or two engineers in a similar role. In some cases, this involves writing code in a shared document.
Next up is the technical presentation. If you are local, you have the option to come in and do it in-person, but we always offer the remote option to make it easier to schedule. The presentation usually takes 30-45 minutes, including questions and discussion.
If the presentation goes well, we bring the candidate on-site for a half-day interview, including a group lunch with the team. The on-site interview is conducted by a series of teams, each asking a question they have practiced and honed in prior interviews.
If a candidate comes through all five steps and we still feel good about them, we can generally be confident that they are a good match.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.