Research Engineer / Performance Engineer, RL Distributed Systems

Anthropic · Remote (Remote US)

Apply on Anthropic’s site ↗

You’ll apply on Anthropic’s official site. Real employers never ask you to pay to apply. Why?

About the role

Anthropic’s mission is to create reliable, interpretable, and steerable AI systems. We want AI to be safe and beneficial for our users and for society as a whole. Our team is a quickly growing group of committed researchers, engineers, policy experts, and business leaders working together to build beneficial AI systems.

About the role

Reinforcement learning is how Claude learns to reason, write code, and act autonomously over long horizons. At frontier scale, an RL run is an unusually demanding distributed system. Training, sampling, and environment execution run concurrently across a large fleet of accelerators and hosts, exchange data continuously, and have to keep making progress while hardware fails, load shifts, and the research changes underneath them. How well that system holds together determines how much of our compute turns into learning, and how quickly the team can try the next idea.

As a Research Engineer on the Distributed Systems team within RL Engineering, you'll work on whatever part of that system is the current limit. That might be scheduling and placement, data movement between components, running large numbers of sandboxed environments, storage and checkpointing, networking, fault tolerance, autoscaling, or the observability that tells us what a run is actually doing. We're looking for generalists: engineers who can move between these layers, reason from first principles about a system they haven't seen before, and pick the problem that matters most rather than the one closest to their prior experience.

Our system changes as fast as the research does, correctness under failure matters as much as throughput, and the best solutions often come from understanding the ML workload well enough to know which guarantees it actually needs. Strong candidates have built and run large distributed systems, care about getting the details right, and want to apply that experience to a workload that is very large, very heterogeneous, and changing quickly.

Key responsibilities

Design, build, and operate the distributed systems that run RL at scale, across training, sampling, and environment execution

Find and remove whatever currently limits the system, whether it's scheduling, data movement, storage, networking, or coordination

Build fault tolerance into every layer: failure detection, isolation, and recovery that keep long-running jobs making progress without human intervention

Design resource management and autoscaling so that compute follows demand as a run's needs shift

Build observability that makes it possible to understand what a run is doing and why it slowed down, stalled, or produced unexpected results

Build automation that detects and remediates common problems, and design interfaces that let engineers and automated tools operate runs safely

Work with researchers and performance engineers to make sure systems changes preserve training correctness and don't introduce subtle nondeterminism

Remove classes of failure at their source through incident review, testing, and redesign, and write clear design documents for what you build

Minimum qualifications

Strong software engineering skills in Python and at least one systems language such as Rust, C++, or Go

Experience designing, building, and operating large-scale distributed systems in production

Deep understanding of distributed systems fundamentals, including consistency, coordination, consensus, failure modes, and recovery

Ability to reason quantitatively about throughput, latency, and resource costs across compute, memory, storage, and network

Continued in Anthropic’s original posting ↗.

Before you apply. Check the location rules in the full posting: many remote roles are open only to people in certain countries or US states, and some need occasional travel. Listings are sourced from each company’s own careers site and updated daily. Apply on the company site. How to spot a fake job · Report this listing

Get ready

Get new remote jobs by email — free weekly digest

We will send you a confirmation email first. You only get the digest after you click the link in it.