← Back to results

Research Engineer / Performance Engineer, RL Distributed Systems

Join Anthropic as a Research Engineer to design and operate distributed systems for reinforcement learning at scale.

Location
San Francisco, CA, United States
Compensation
$500k–$850k/yr
Level
senior
Type
full time · Hybrid

Posted by employer 1 day ago

First seen on Joblaze 11 hours ago

Last verified on the company career page 11 hours ago

Skills & Technologies

What you'll build

  • Design, build, and operate distributed systems for RL
  • Remove system limitations in scheduling, data movement, and storage
  • Build fault tolerance into every layer of the system
  • Design resource management and autoscaling
  • Build observability for system performance

Must have

  • Strong software engineering skills in Python and one systems language
  • Experience designing and operating large-scale distributed systems
  • Deep understanding of distributed systems fundamentals
  • Ability to reason quantitatively about throughput and latency
  • Experience debugging complex failures

Nice to have

  • Experience running ML training or inference infrastructure
  • Experience with container orchestration like Kubernetes
  • Experience building schedulers or autoscalers
  • Experience with high-performance networking
  • Familiarity with reinforcement learning workloads

Practical constraints

  • Expected to be in the office at least 25% of the time

Requirements

Education
Bachelor's degree
Visa
Sponsorship available

Not disclosed in this posting: years of experience.

Benefits

401k Match Unlimited PTO Equity/Stock Options Remote Work Health Insurance Parental Leave

Joblaze summary

In this role, the Research Engineer will focus on enhancing the performance of distributed systems that support reinforcement learning, tackling challenges such as scheduling, data movement, and fault tolerance. Proficiency in Python and a systems language like Rust or C++ is essential, along with experience in large-scale distributed systems. This position is ideal for engineers with a strong background in system design and a keen interest in machine learning workloads. Anthropic emphasizes collaboration and adaptability, making it a fitting environment for generalists who thrive in dynamic settings.

Joblaze insights

  • Listed today — first seen on Joblaze September 30, 2026. Last confirmed on Anthropic's careers page September 30, 2026.
  • Salary band is above the typical range for AI/ML roles (median ~$190,000).
  • Starts above 99% of 200 comparable senior ai/ml roles in United States that list Python we track (median $180,000 across 70 companies). See Python salary trends
  • Python appears in 52.9% of 529 comparable senior ai/ml roles in United States; Rust appears in 3% of 529 comparable senior ai/ml roles in United States.

Quick facts

Is the Research Engineer / Performance Engineer, RL Distributed Systems role remote?
It's hybrid — Anthropic expects some on-site time in San Francisco, CA, United States.
What's the salary range?
Anthropic lists $500,000–$850,000 for this role.
Where is the role based?
Anthropic is hiring for this position in San Francisco, CA, United States.
What's the tech stack?
Joblaze extracted these technologies from the posting: C++, Go, Kubernetes, Python, Rust.
Does Anthropic sponsor work visas for this role?
Yes — the posting indicates visa sponsorship is available for the right candidate.
What seniority level is this role?
Anthropic targets senior candidates for this position.
Is this full-time or contract?
Full-time for this Research Engineer / Performance Engineer, RL Distributed Systems role at Anthropic.

From the original posting

About Anthropic

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
  • Experience debugging complex failures across many hosts and services, including failures you can't reproduce locally
  • Strong written communication, including design documents and incident writeups

Preferred qualifications

  • Experience running ML training or inference infrastructure at scale
  • Experience across several layers of the stack, such as scheduling, storage, networking, and orchestration
  • Experience building schedulers, autoscalers, or resource management systems
  • Experience with container orchestration such as Kubernetes, and with sandboxed or virtualized code execution at scale
  • Experience with high-performance networking, RDMA, or collective communication libraries
  • Experience building observability or automated remediation for large fleets
  • Experience with async Python frameworks such as Trio or asyncio
  • Familiarity with reinforcement learning or large language model training workloads

Representative projects

  • Design a scheduler that places training, sampling, and environment work across a heterogeneous cluster while respecting network topology and failure domains
  • Build a failure detection and recovery system that lets a long-running job survive host and network failures with minimal lost work
  • Scale environment execution substantially without increasing tail latency for the training step
  • Design an autoscaling policy that rebalances compute across components as a run's bottleneck shifts
  • Build a diagnostics system that explains why a run's throughput dropped and proposes a fix
  • Trace a rare data corruption bug across many services to a race condition in a recovery path, and redesign the path so the class of bug can't recur
  • Design the operational interface for a run so that automated tools can safely diagnose and adjust it under human oversight

The annual compensation range for this role is listed below.

Annual Salary:
$500,000—$850,000 USD

Logistics

Standard company text repeated across Anthropic's postings is omitted here.

Similar positions

Anthropic
Research Engineer / Research Scientist, RL Frontiers
Anthropic · San Francisco, CA, United States
Anthropic
Anthropic
Research Engineer, Code RL (Reinforcement Learning)
Anthropic · San Francisco, CA | New York City, NY
Anthropic
Anthropic
Research Engineer, Machine Learning (Reinforcement Learning)
Anthropic · San Francisco, CA | New York City, NY