If you're reading this, you've probably seen our engineering page and now excited about the possibility of joining our team and helping us to build FAIRTIQ! But maybe you’re put off by the scary prospect of coming for an interview. Rest assured, at FAIRTIQ there is nothing to be scared of! We do not see interviews like a school exam; our goal is not to catch you out. Instead, they are a dialogue that allows both of us to understand whether we are a good match for one another. To put it simply, I see it as a two-way process — we use it to gain an insight into what you could bring to the company, while you can, or rather should, use it to figure out if you actually want to work with us.
What to expect
During the interview process we try to understand where your strengths and limitations are, both technically and as a team player. Each interview is designed just for you: if you tell us (e.g. in your CV) that you're an expert in graph theory, we'll want to know more. Don't worry if you struggle with some of our questions. Coming up with the best possible answer is great, but what's much more important to us is your approach and thought processes. The interviewers will guide you and give you hints if you're stuck.
We do four to five interviews on various topics with different interviewers. Most of them are very hands-on and put you in a real-life situation where you have to provide a technical solution to a given problem. That can take the form of writing code on a whiteboard, or drawing diagrams to explain how you would design a system or a software component. This may be something you're not used to. If so, I recommend you do a few trial runs at home beforehand. When you send in your job application, we will provide you with more information about the content of the interviews and how to prepare for them.
Getting the best out of it
All our engineering positions require at least a BSc level qualification. Refresh your basic data structures knowledge (list, set, stack, hash table, queue, tree, graph). You should be familiar with concepts like complexity (big O notation), recursion, sorting, multi-threading, testing, networking, databases and caching. You should know at least one programming language well. We don't expect you to know all the libraries/APIs by heart - hey, there's internet for that! And we don't care about UML.
Have you checked our career opportunities? Go have a look and maybe we'll be in touch soon! If you'd like to know more about interviewing for software developer positions in general, big tech companies, such as Google, Facebook, etc. have plenty of great resources online.