Software Engineer - Machine Learning Frameworks
At a glance
Mid-level Machine Learning Engineering role at IMC. Sydney.
Pay not stated Machine Learning Engineering salary
aimlroles summary, based on the employer's posting.
What you'll do
- Build optimisers, code generators and runtime libraries that speed up research and production computation
- Create the orchestration layer that coordinates workloads across different kinds of hardware
- Work across the compute pipeline, from system-level design to analysing compute graphs and tuning hot paths
- Manage the software stack from end to end, balancing cohesive system design with hardware-level performance
What you bring
- You write production software in C++, Rust or a comparable systems language
- You have shipped and maintained a commercial production system that others depended on
- You can investigate unfamiliar parts of a software stack and understand how code executes on hardware
- You work with stakeholders to uncover the need behind their requests
Who this fits
This suits a mid-level engineer who enjoys systems work spanning broad compute pipelines and low-level performance tuning. You'll need to be comfortable choosing the right language for the task and maintaining production software after release. The role is based in Sydney, Australia.
From the employer
The Machine Learning Frameworks team exists for two reasons: making the research iteration loop as fast and frictionless as possible, and making production run as fast as the hardware allows. Both matter, and figuring out how to do both at once is most of what makes the work fun.
Concretely, we build optimisers, code generators, runtime libraries, and the orchestration layer that runs computation across heterogeneous hardware. The stack spans C++, Rust, Python, MLIR, and CUDA. You don't need to know all of these things but should want to work at this level of the stack.
The work is broad. Some of it is high-level, looking at the whole compute pipeline, orchestrating the system and creating a cohesive product. Some of it is in the details, getting into hardware behaviour, dissecting compute graphs, squeezing the last bit of performance out of the hot path. Our job is managing the whole stack, top to bottom.
About you
- You write production code in a systems language. C++ or Rust, or something close enough that picking them up isn't the hard part. The right tool matters more to you than your favourite one
- You like understanding what a language compiles down to and how it runs on hardware.
- You're comfortable being handed an unfamiliar part of the stack and working it out.
- You like working with stakeholders and you’re good at figuring out what someone actually needs, not just what they asked for
- You've done this commercially. You've owned something in production that other people relied on. Not necessarily big, but something you had to maintain, debug and live with long after you shipped it.
What you don't need
A finance background. Exposure to every language we touch. We hire engineers who like to solve the problems our traders face - we'll teach you the context on the ground
About Us
IMC is a research-driven trading firm where quantitative modeling, machine learning, and engineering shape how modern markets are traded. A stabilizing force in markets since 1989, we provide liquidity across trading venues, delivering the best outcome in value and risk management to investors. Using our own technology and capital, we build proprietary systems and algorithms that operate across global markets. Our researchers, traders, and engineers work as a collective, combining rapid experimentation, advanced infrastructure, and real-time feedback to turn insight into execution and execution into advantage.