Software Engineer - Machine Learning Frameworks
IMC TradingAbout the Role
The Machine Learning Frameworks team builds optimisers, code generators, runtime libraries, and orchestration layers that run computation across heterogeneous hardware. The work spans high-level system design (orchestrating the compute pipeline) to low-level performance optimization (extracting maximum speed from hardware). The tech stack includes C++, Rust, Python, MLIR, and CUDA, and you'll manage the full stack from top to bottom.
- Move fluently between programming languages based on the best tool for the job
- Understand how code compiles and runs on hardware
- Work effectively across unfamiliar parts of the stack
- Collaborate with stakeholders across the business to understand and solve their problems
Requirements
- You write production code in a systems language - C++ or Rust, or something close enough that picking them up isn't the hard part
- 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, something you had to maintain, debug and live with long after you shipped it