We’re busy preparing for our software engineering fall hiring season. Over the years we’ve done our best to make our interview process more transparent to candidates. While many candidates show up knowing something about what our interviews look like, much of the information floating around on the internet is outdated or wrong. These past few months have also changed a lot about the process as we’ve adapted to working from home and other effects of COVID-19.
A few notes about our interview process before we jump into specifics:
-
This post is specific to our general software engineer intern/new grad/experienced roles. Interviews for other roles in engineering will differ at least a bit, and interviews for roles in trading, research, and other parts of the business will differ substantially.
-
We’re not promising your experience will look exactly like this. We’re writing this down because we think it’ll be helpful, but we are constantly iterating on our interview process and adapting interviews to candidates when it makes sense, so parts of this will certainly change.
-
Hiring is a challenge without easy solutions. This process is the best balance we’ve found between being able to hire excellent people and not taking too much time—yours or ours—but we know it’s very far from perfect.
The process
The exact set of interviews will vary based on the role you’re applying for and past experience, but almost everyone will do:
- One technical phone interview
- An on-site interview with 2-4 technical rounds
In normal times, the on-site interview is held in one of our offices. Right now, due to COVID-19, we are doing onsites via video conference rather than in person.
Technical interview format
The bulk of our technical interviews ask you to work through a coding and algorithms problem with 1-2 full-time Jane Street software engineers.
Our goal is to get a sense of how you work and what it’s like to work with you. We understand it’s far from a perfect simulation: interviews are stressful, and we’re seeing you outside of your normal work environment. We expect strong candidates to be able to program in a language of their choice, be effective communicators, and work through programming problems. But we also expect strong candidates to make mistakes and miss things.
If you’d like to read more about our technical interviews, we’ve written in the past about what we’re looking for in candidates and what our usual dev interviews are like. Both posts are still broadly accurate.
Interview logistics
For phone interviews we use CoderPad, a shared in-browser code editor. It has syntax highlighting and autocomplete suggestions for many languages, and keybindings to mimic various editors.
Due to COVID-19, our usual on-site interviews are being held remotely as video conferences. We’re currently using a combination of Webex for video and CoderPad for coding/a whiteboard.
Generally we’d like to give you a programming environment close to what you’re used to within the constraints of an interview. CoderPad is the best option we’ve found for phone interviews and for remote onsites.
Variations
For more experienced candidates, we may do an additional non-technical phone interview to discuss what you’re looking for and to give you a chance to ask any questions you have about Jane Street. On site, we may ask you to talk about your past experience, or otherwise do some interviews that aren’t our standard technical questions.
For London candidates, we ask some people to go through a HackerRank round before the technical phone interview because we don’t have the capacity to phone interview everyone we’d like to. We don’t do this in New York or Hong Kong.
Notes on common questions/misconceptions
There’s a lot of information floating around on the internet about our interview process and what we’re looking for in a successful candidate. Some of it is wrong and some of it is just stale—our interview process has evolved a ton over time. All of the below is true now, and has been true for years.
-
We won’t ask you math or probability questions for general software engineering roles. Really. We promise.
-
There are no bonus points for using OCaml or another functional language in an interview. If you try using OCaml in your interview, we’re likely going to try to dissuade you unless you have actual professional experience using it. We want to see you at your best, which means using whatever language you’re most comfortable with.
-
You don’t need to know OCaml or anything about finance. Most software engineers we hire come in knowing very little about either and we have lots of experience teaching people.
-
You don’t need a Ph.D. or a master’s degree to apply. In fact, the vast majority of software engineers we hire don’t have advanced degrees. (Although we’re certainly not going to disqualify you for having one, either.)
We hope this helps to demystify Jane Street’s software engineering evaluation process, especially at a time when the world is moving and changing so much. Our teams are growing and we expect to continue hiring.
If you’re interested in working with us: submit an application on our website!