Posted on March, 12, 2019

From intern to full-time Software Developer, Hamish joined IMC after finishing his Software Engineering degree at the University of Christchurch. We asked him to share his experience from the beginning until today.


Meet Hamish


My name is Hamish and I studied Software Engineering at UC in New Zealand.

I worked part-time during late high school and university. I had classic retail jobs while younger and moved into more relevant jobs later, including the brilliant experience of working in a small start-up over one summer.

I was lucky enough to snag an internship with IMC during my third year at university. This introduced me to the company and the company to me. I got a full-time offer when I graduated and joined the company in February 2018.


How Hamish works

One of the key goals of IMC is automation. Just because a person can do something doesn’t mean they should. We endeavour to make our systems do as much of the work as possible. This gives the IMC traders more time to investigate new strategies and analyse markets.

This is where I come in. I work as a software developer in the strategy team.

We build software that informs our traders on the changing markets, controls the longer-term decisions, and we configure the trading platform itself (the really fast part).

This covers a broad range of tools including trades analysis, data visualisation and market modelling, as well as the components that help the traders control the execution platforms.

It’s really rewarding to work directly with the traders that use the software. Being able to discuss what people want and implement a solution is really satisfying, especially when you can continue to build on it.


What does a typical day looks like?

I usually get to the office between 8.30 am and 9 am. I head straight to the breakout area to find some breakfast. I’ll blearily nod at my co-workers until the food wakes me up.

The IMC office is global so there’s always work going on even throughout our nights. I’ll generally start the day by catching up with what’s happened the previous evening, particularly on projects that are worked on between offices.

After catching up on recent events, I’ll get back into working on my latest tasks. I currently work on two main projects with several others on the team. This means throughout the day we will be discussing our work and reviewing our progress.

Seeing how others interpret your solution can give you new insights or helps to put current ideas in perspective.

Regularly our team will catch-up on what everyone is doing. It’s always interesting to see how many different areas strategy covers. I enjoy hearing about the interactions the team is having with others from trading and execution.


Traders will come by throughout the day to discuss features they want to have developed or bugs they want fixed. This is a good chance to see how the tools are actually being used and to interrogate traders about the trading concept of the day. 


Any advice for aspiring software developers?

If we’re giving the stock standard answer, computer science or software engineering will always put you in the right direction. However, any degree with a large programming component could help you end up here.

IMC looks for problem solvers and people who get stuck in and figure things out. So while programming experience is necessary, it’s not the only box you’ll want to check.

Software development isn’t as closed off as it is sometimes portrayed, particularly at IMC. The offices and teams within each region interact regularly, so being able to communicate ideas and clearly discuss work is hugely useful. A career in development rewards those that are able to consider different solutions to problems and analyse the different trade-offs of those solutions



Find out about our graduate career opportunities in Sydney and around the world.