About the Machine Learning Performance Engineer role
Machine Learning Performance Engineer positions focus on delivering results in their domain. This page aggregates open Machine Learning Performance Engineer roles and what employers typically expect.
We are looking for an engineer with experience in low-level systems programming and optimisation to join our growing ML team. Machine learning is a critical pillar of Jane Street's global business. Our ever-evolving trading environment serves as a unique, rapid-feedback platform for ML experimentation, allowing us to incorporate new ideas with relatively little friction. Your part here is optimising the performance of our models – both training and inference. We care about efficient large-scale training, low-latency inference in real-time systems and high-throughput inference in research. Part of this is improving straightforward CUDA, but the interesting part needs a whole-systems approach, including storage systems, networking and host- and GPU-level considerations. Zooming in, we also want to ensure our platform makes sense even at the lowest level – is all that throughput actually goodput? Does loading that vector from the L2 cache really take that long? If you’ve never thought about a career in finance, you’re in good company. Many of us were in the same position before working here. If you have a curious mind and a passion for solving interesting problems, we have a feeling you’ll fit right in. There’s no fixed set of skills, but here are some of the things we’re looking for: An understanding of modern ML techniques and toolsets The experience and systems knowledge required to debug a training run’s performance end to end Low-level GPU knowledge of PTX, SASS, warps, cooperative groups, Tensor Cores and the memory hierarchy Debugging and optimisation experience using tools like CUDA GDB, NSight Systems, NSight Computesight-systems and nsight-compute Library knowledge of Triton, CUTLASS, CUB, Thrust, cuDNN and cuBLAS Intuition about the latency and throughput characteristics of CUDA graph launch, tensor core arithmetic, warp-level synchronization and asynchronous memory loads Background in Infiniband, RoCE, GPUDirect, PXN, rail optimisation and NVLink, and how to use these networking technologies to link up GPU clusters An understanding of the collective algorithms supporting distributed GPU training in NCCL or MPI An inventive approach and the willingness to ask hard questions about whether we're taking the right approaches and using the right tools Fluent in English If you're a recruiting agency and want to partner with us, please reach out to agency-partnerships@janestreet.com .
Salary estimate
$111,000 – $150,000/yr
Provided by the employer.
Skills for this role
SASSMachine LearningRecruiting
Resume tips for Machine Learning Performance Engineer applicants
Lead with measurable achievements relevant to Machine Learning Performance Engineer (numbers, scope, impact).
Mirror the exact keywords from the Machine Learning Performance Engineer posting so applicant tracking systems rank you higher.
List the specific tools and skills the role names (e.g. Python, C++, Tensorflow, Pytorch).
Keep it to one page for early-career, two pages for senior Machine Learning Performance Engineer candidates.
Interview preparation
Prepare concrete STAR-format stories that show Machine Learning Performance Engineer outcomes you drove.
Research the employer's product and recent news before the interview.
Be ready to explain how you'd approach a typical Machine Learning Performance Engineer problem end to end.
Have thoughtful questions ready about the team, tools and success metrics.
About Jane Street
Jane Street is actively hiring on Jobedly. Explore their open roles and what it's like to work there.