What to expect from a Quant Platform Software Engineering interview – Updated
- Software Engineering
Nine months ago, we published a blog detailing what a candidate could expect from a Quant Platform interview. We have recently reviewed the process and have made some improvements. Read the updated interview process below:
The Quant Platform Group (QP) at G-Research develops and maintains the software that sits at the very core of our business. As the business pursues ambitious growth and innovation, we’ve been continuously working on crafting a hiring process that allows us group to expand as fast as possible whilst maintaining the incredibly high standard at which we need to operate.
The attributes that we strive for in our recruitment process are:
– Positive candidate experience – we want you to come through interviews excited to accept an offer and join us!
– Accuracy – we want to have total confidence in every new team member, if this doesn’t go right it’s a heavy cost in time, money and emotions. However, it’s also easy to be overzealous and miss out on talent. An overemphasis on false positives leads to a process that’s great at only saying no.
– Effective use of time – your time (and our developers’) are valuable resources and we take every minute that we use seriously.
– Fairness and diversity – we want to ensure we are assessing the qualities that matter in a consistent way. In particular, we don’t want to end up selecting for candidates who happen to have read an interview questions anthology, or rejecting you because you got unlucky with an overzealous interviewer!
Two years ago, our hiring process was a lot like the hiring process at many software companies. You would come in, sit down with a pen and paper in a room with whoever was free at the time, and answering their personal favourite question, often with a deeply non-obvious twist in the tail.
Whilst this method can and does hire good software engineers, it can easily overlook excellence in skills such as architecture, and writing maintainable code, but aren’t great at programming puzzles.
So what components make up our interviews today?
Initial Phone Call
The first time you speak to someone from QP will normally be a short phone call – at most 15min. We want you to come away from this phone call with a really clear idea of what G-Research does, what role our group plays within that business, and what the Developer role entails. We found that candidates sometimes arrived on-site thinking that, for instance, we were looking for a Quantitative Analyst rather than a Developer – which would be a disappointment as well as a poor use of their time travelling to see us.
At-Home Programming Task
While we used to have candidates complete a pen-and-paper technical test in the office – including, for instance, assessing whether they could write SQL and bash commands from memory – we realised that not only was this an incredibly wasteful way to spend your time on-site, it also doesn’t really assess skills that we care about. Now, you’ll receive an email from us with a coding exercise to complete at home, using your preferred language and development environment. We want to see your best possible work, and we think that allowing you to work in comfortable surroundings allows that to happen. However, we do also offer an on-site programming task for candidates who are unable for any reason to work on the at-home programming task.
On-Site Technical Interviews
If you’re successful at the homework question stage, we will normally conduct the rest of the interviews face to face (exceptions may be made for international candidates). You have the choice of doing the interview over two half days, or one full day. We understand you are probably interviewing at other big name software companies, so we want to make it as convenient as possible for you to interview with us.
Instead, the first on-site round is a half-day comprising a set of three structured technical interviews. These are designed to showcase your abilities not just in solving problems but also in communicating your technical decisions and creating software that is well-designed and maintainable. To make the interviews accurate and fair, we created a set list of questions which we agree are comparable in difficulty, and ensure that interviewers go into each interview with a clear idea of which characteristics they’re trying to assess. It’s a happy side-effect that this makes the interviews much less monotonous and hopefully even fun.
At the end of each of these interviews, there will be a chance for you to ask any questions about the role and the company you may have.
Homework Review
In the first on-site interview, we ask you to walk us through the solution you’ve created at home on your laptop, as though we were code reviewing a colleague. This allows us to see how you think about the structure of programs – and of course check that you remember what you wrote!
Design Interview
Next, we’ll ask you to start designing a system. The goal isn’t to find out whether you happen to know how systems of this kind tend to work, or for you to have a full spec for us by the end. We’re looking for your ability to respond to changing requirements, challenge your assumptions, and communicate your decisions and how you reached them.
Algorithm Questions
Lastly, you’ll be asked to solve hard algorithmic problems. Because these do come from a list, we’re able prepare interviewers with model answers, hints and extensions which creates consistency across different interviewers and reduces bias. We want to see you succeed, and just as important as your ability to reason through these problems is how you respond to the hints and extensions that are offered. This is also our chance to see if you understand the properties of basic data structures, and can do simple complexity analysis.
On-Site Manager Interviews
In the first round of interviews you will only have seen developers -we trust developers with a lot of decision-making responsibility, and in this respect recruitment is no different to anything else.
Having been successful so far, you’ll spend a second half-day on-site meeting some managers – we aim to ensure that you meet at least your future line manager and the group head. All of the development managers at G-Research come from a technical background, so they may well ask you a technical question, but this is also a chance to discuss what you’re looking for in this role, your career progression, and generally make sure the job is a good fit for what you’re looking for.
Meet the team
We’ll now show you around the office, and we’ll have decided which team within the QP group you’ll be joining, so we try set up an opportunity to meet them in an informal setting – ideally with food and drink! We want to allow you to get to know us as people and understand G-Research’s culture.
Conclusion
I’m really proud of our recruitment process and it’s working well at allowing us to stay excellent as we grow. Although we’ve put a lot of time and thought into it, we’re still constantly looking for ways to get even better, including looking for feedback from all of our candidates, as well as trying to keep up-to-date with industry best practice. If you’re applying to work with us, I hope to see you soon!
Alex Brett – Quant Platform Software Engineer