Where did you grow up?
I was born in Singapore and I moved to Brisbane when I was really young; so I did almost all of my schooling there, and then I studied at the University of Queensland. I was into science and technology but I wasn't really sure exactly what I wanted to do, so I ended up studying Mechatronic Engineering and Information Technology, and both of those degrees are pretty broad. It was really valuable though because I was able to gain exposure to a number of different disciplines like mechanical engineering, electronics, software, databases, networks, operating systems, and so on. I was also given the opportunity to study abroad at McGill University in Montreal, which provided me even more variety in terms of courses I could study, different teaching styles, and cultural exposure too (different city, different language!). I ended up enjoying the software engineering part of my university studies the most, so most of my work experience revolved around that. I worked as a university tutor during the semesters and participated in internships and research over the holidays.
How did you get to your current job position? For how long have you had it?
I applied to the summer internship program at IMC Trading for the end of 2016. What initially attracted me to IMC was the idea of working in a fast-paced environment where you're given the power to pursue interesting and unique problems, but I didn't know much beyond that. Throughout the interview process, I was able to gain a deeper insight into the style of work and the company culture which seemed like a perfect fit for me. I really enjoyed my internship and readily accepted the offer to come back for a full-time role. I have been working at IMC as a full-time graduate software engineer for 1 year and 9 months.
How did you choose your specialisation (compared to others)? / Were you weighing up any other alternatives before choosing this specialisation?
At the time there were two internship roles available, Trading and Software Development. I think I could have applied for either, as the Trading specialisation doesn't require any prior finance training -- IMC is interested in people with STEM backgrounds for the Trading role. But I had spent some time working in research roles and I wanted to experience working in professional software development, so I chose that one.
What was your interview process like? What kind of questions were you asked?
My interview process consisted of a number of stages, starting with an online coding assessment, maths questions and psychometrics. After those, I had two days of on-site interviews which consisted of more maths problems, a resume review where we discussed some of my previous work, challenges, and so on, a more casual interview about work/culture, and technical interviews involving design and implementation.
I really enjoyed the interview process at IMC because at the very least, every interview was interesting and engaging, and most importantly, gave me a lot of opportunities to understand more about what kind of company IMC is and what working there would be like. I came out of the interview process with a really good idea about what IMC is all about and that it was a good fit for me.
What does your employer do?
IMC is a trading firm and market maker. We provide liquidity to markets across the globe, which means that we facilitate efficient trading across a variety of products like stocks, options, futures, ETFs, and more. We're technology-driven, which means that we focus on using algorithms and advanced technology to make markets.
What are your areas of responsibility?
I'm on the team which is responsible for our trading execution systems; these are the systems that connect to the markets and execute the trades. IMC trades markets across the globe so my primary responsibilities are to do with our Hong Kong trading systems. IMC likes to give their employees a lot of responsibility and freedom early; for example, I am the primary developer on our Hong Kong stocks execution software. Having this role means that I have the responsibility of interacting with traders, understanding the requirements and the markets, designing solutions, testing them, and rolling them out to our trading systems worldwide. At IMC, developers have really broad end-to-end responsibilities across our entire trading system, which means that we learn a lot, very quickly, and we can make a real, significant impact on the business early and often.
Can you describe a typical workday? What was the last thing you worked on?
There is no typical workday at IMC because every day is different! Usually, my workday starts with coming into work, eating breakfast and attending morning meetings where we share what we're working on and plan what's coming next. There's always lots of things going on, so the rest of the day involves a mixture of chatting to people to understand how to solve the next problem we have, doing some implementation work to solve the current problem, and following-up on older items that are hitting production to make sure that what we delivered had the intended effect and is working properly. There's also a lot of knowledge sharing sessions, lunches, cakes, and break time to unwind and get a game of table tennis or foosball in. At the moment, I'm spending most of my time working on a way for us to accelerate the path that some information takes from one part of our trading system to another part. Whilst doing this I get to dive into some deep coding sessions, co-ordinate rollout and network changes with our system engineers, and verify the behaviour and intentions with our traders. It's a lot of fun and IMC has given me the tools and resources to design the solution from beginning to end, which is really satisfying and empowering. As we are a technology-driven trading firm, the relationship between the quality of your work and the success of our business is really direct and clear (the markets give us feedback on whether we're doing well), which is not the case for a lot of other software engineering roles.
What are the career prospects with your job? / Where could you or others in your position go from here?
At IMC you're surrounded by really smart and passionate people who are working on cutting-edge technology. So, naturally, you learn a lot and become a much better software developer very quickly. Because IMC gives developers responsibility and resources early in their career, you're able to also improve your design, communication and management skills as well as your technical knowledge. Working on advanced algorithms and technology give you the experience to handle not just trading problems, but many different software engineering challenges.
Could someone with a different background do your job?
The software development role requires knowledge of algorithms, data structures and programming methods that go hand-in-hand with education in Software Engineering or Computer Science. IMC looks for a strong aptitude in these areas, so if you have these skills, you will do well in the interview process. The trading roles don't require any financial knowledge; we look for people who are strong in analytical thinking and mathematics.
What would your career be if you weren’t doing what you’re doing now?
t's hard to say; I think I would be working in software development for a different firm, or in research. The style of work at IMC is so rewarding and engaging that it's difficult to imagine working anywhere else; the responsibility, resources and culture at IMC are truly unlike anywhere else.
What do you love the most about your job? Which kind of task do you enjoy the most?
I really love how much IMC trusts and values its employees. As a graduate developer, I've been given the opportunity to have an office-wide impact with my work, made friendships and connections with people all over the globe, and gained so much experience in the process.
What’s the biggest limitation of your job? Do you bear a lot of responsibility? Do you have to work on weekends? Are stress levels high?
Because every employee is so impactful, each individual bears a lot of responsibility. I have never had to work on weekends. IMC is a fast-paced and competitive firm, which means that there are times of high intensity, but I wouldn't count that as "stressful", because you are surrounded by smart and supportive individuals who are also really invested in the success of our work.
Which three pieces of advice would you give to a current university student?
They don’t necessarily have to be related to your role or even be career-focused. Everyone wants different things out of their university experience, so it is difficult to give some universal advice. Some things that are valuable to me are: