Research Engineer / Performance Engineer, RL Distributed Systems

Anthropic

New York (NY)

Hybrid

USD 500,000 - 850,000

Full time

3 days ago
Be an early applicant
Application generator

An application made for this job — a tailored resume and cover letter that speak straight to the posting.

Get past ATS filters

Benefits offered by this job

Competitive compensation
Equity donation matching (optional)
Generous vacation and parental leave
Flexible working hours

Job summary

Anthropic is seeking a Research Engineer to join the Distributed Systems team within RL Engineering. You will work on the core distributed infrastructure that trains, samples, and runs sandboxed environments at scale, solving bottlenecks and building robust, observable systems.

Ideal candidates have strong Python and a systems language background (Rust/C++/Go), experience with large-scale distributed systems, and a track record in designing fault-tolerant, high-throughput software.

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.

Responsibilities

  • Design, build, and operate the distributed systems that run RL at scale, across training, sampling, and environmental 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.

Skills

Python
Rust
C++
Go
Distributed systems
Performance debugging
System design docs

Education

Bachelor's degree

Tools

Kubernetes

Job description

About Anthropic

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 environmental 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

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

Logistics

Minimum education: Bachelor’s degree or an equivalent combination of education, training, and/or experience

Required field of study: A field relevant to the role as demonstrated through coursework, training, or professional experience

Minimum years of experience: Years of experience required will correlate with the internal job level requirements for the position

Location-based hybrid policy: Currently, we expect all staff to be in one of our offices at least 25% of the time. However, some roles may require more time in our offices.

Visa sponsorship: We do sponsor visas! However, we aren't able to successfully sponsor visas for every role and every candidate. But if we make you an offer, we will make every reasonable effort to get you a visa, and we retain an immigration lawyer to help with this.

We encourage you to apply even if you do not believe you meet every single qualification. Not all strong candidates will meet every single qualification as listed. Research shows that people who identify as being from underrepresented groups are more prone to experiencing imposter syndrome and doubting the strength of their candidacy, so we urge you not to exclude yourself prematurely and to submit an application if you're interested in this work. We think AI systems like the ones we're building have enormous social and ethical implications. We think this makes representation even more important, and we strive to include a range of diverse perspectives on our team.

Your safety matters to us. To protect yourself from potential scams, remember that Anthropic recruiters only contact you from @anthropic.com email addresses. In some cases, we may partner with vetted recruiting agencies who will identify themselves as working on behalf of Anthropic. Be cautious of emails from other domains. Legitimate Anthropic recruiters will never ask for money, fees, or banking information before your first day. If you're ever unsure about a communication, don't click any links—visit anthropic.com/careers directly for confirmed position openings.

How we're different

We believe that the highest-impact AI research will be big science. At Anthropic we work as a single cohesive team on just a few large-scale research efforts. And we value impact — advancing our long-term goals of steerable, trustworthy AI — rather than work on smaller and more specific puzzles. We view AI research as an empirical science, which has as much in common with physics and biology as with traditional efforts in computer science. We're an extremely collaborative group, and we host frequent research discussions to ensure that we are pursuing the highest-impact work at any given time. As such, we greatly value communication skills.

The easiest way to understand our research directions is to read our recent research. This research continues many of the directions our team worked on prior to Anthropic, including: GPT-3, Circuit-Based Interpretability, Multimodal Neurons, Scaling Laws, AI & Compute, Concrete Problems in AI Safety, and Learning from Human Preferences.

Come work with us!

Anthropic is a public benefit corporation headquartered in San Francisco. We offer competitive compensation and benefits, optional equity donation matching, generous vacation and parental leave, flexible working hours, and a lovely office space in which to collaborate with colleagues. Guidance on Candidates' AI Usage: Learn about our policy for using AI in our application process.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Research Engineer / Performance Engineer, RL Distributed Systems
Research Engineer / Performance Engineer, RL Distributed Systems

Anthropic • San Francisco (CA)

Hybrid
USD 500,000 - 850,000
Competitive compensation
Equity donation matching
Generous vacation & parental leave
+2
Research Engineer / Research Scientist, RL Frontiers
Research Engineer / Research Scientist, RL Frontiers

Anthropic • New York (NY)

Hybrid
USD 500,000 - 850,000
Competitive compensation
Generous vacation
Flexible working hours
Research Engineer / Research Scientist, RL Frontiers
Research Engineer / Research Scientist, RL Frontiers

Alex Loftus • New York (NY)

Hybrid
USD 500,000 - 850,000
Equity donation matching
Flexible hours
Vacation and parental leave
+1
Software Engineer, Research Data Platform
Software Engineer, Research Data Platform

Anthropic • New York (NY)

On-site
USD 320,000 - 405,000
Equity donation matching
Generous vacation
Parental leave
+2
Research Engineer, Machine Learning (Reinforcement Learning)
Research Engineer, Machine Learning (Reinforcement Learning)

Anthropic • San Francisco (CA)

On-site
USD 500,000 - 850,000
Competitive compensation
Equity donation matching
Generous vacation and parental leave
+2
Research Operations, Reinforcement Learning
Research Operations, Reinforcement Learning

Anthropic • San Francisco (CA)

On-site
USD 210,000 - 260,000
Competitive compensation
Equity matching (optional)
Generous vacation
+3
Software Engineer, Research Data Platform
Software Engineer, Research Data Platform

Anthropic • San Francisco (CA)

On-site
USD 320,000 - 405,000
Visa sponsorship
Office in San Francisco
Hybrid work policy
Performance Engineer
Performance Engineer

Anthropic • New York (NY)

On-site
USD 280,000 - 850,000
Competitive compensation
Optional equity donation matching
Generous vacation and parental leave
+1
Technical Program Manager, RL Research
Technical Program Manager, RL Research

Anthropic • New York (NY)

On-site
USD 365,000 - 435,000
Software Engineer, Research Tools
Software Engineer, Research Tools

Anthropic • New York (NY)

On-site
USD 300,000 - 405,000