The initial application process was simple and relatively quick. I only needed to provide my CV and complete an online personality test. I got a phone screen shortly after, which was only five minutes long and mostly about the next stage.
The next stage was a take-home assessment consisting of three short projects and a Skype interview to discuss them. The projects involved implementing a very simple game, a very simple interface, and a design pattern. Reading Cracking the Coding Interview or Elements of Programming Interviews would have been more than enough preparation. I was given 48 hours to complete them. The Skype interview was around an hour long and was mostly spent with the interviewers (who were software engineers at IMC) watching me slowly trying to fix my incorrect implementation of a design pattern.
For the final stage, I was invited to Amsterdam for a day of interviews. Flights and the hotel were paid for by IMC. There were four interviews: two technical interviews, a CV-based interview, and an HR interview. The technical interviews focused on designing and then implementing a trade matching engine (the interviewers were the same as I'd had for my Skype interview). The CV-based interview was short and was with the head of the software team. The HR interview was about verifying the results of the personality test.
I got my result the next working day, along with detailed feedback.
My performance wasn't great, but it would have been quite easy to fix:
What is the Big O behavior of operations on a heap? Of a hashmap?
How would you implement a trade matching engine? The API for it should support:
The following metrics were computed from 4 interview experiences for the IMC Trading Software Engineer role in Amsterdam, Netherlands.
IMC Trading's interview process for their Software Engineer roles in Amsterdam, Netherlands is very selective, failing most engineers who go through it.
Candidates reported having mixed feelings for IMC Trading's Software Engineer interview process in Amsterdam, Netherlands.