Software Engineer, ML Networking at Anthropic

Hybrid - San Francisco, CA | New York City, NY | Seattle, WA

Apply
More jobs at Anthropic

Software Engineer, ML Networking at Anthropic is responsible for building and maintaining systems-level software that connects machine learning accelerators to high-speed networks. The role requires deep knowledge of networking protocols, kernel-space and user-space networking, and low-level systems programming. Candidates will write and optimize distributed network software, design new protocols, and benchmark performance across a variety of networking environments. The position is part of the AI Research & Engineering department and supports Anthropic’s mission to create safe and beneficial AI systems.

Salary

USD 280,000 - 850,000

Requirements

Skills

  • Expert-level proficiency with network protocols and networking concepts
  • Deep kernel networking: TCP/IP stack internals, XDP, eBPF, io_uring, and epoll
  • User-space networking: DPDK, RDMA, kernel bypass techniques
  • Understanding of how to build higher-level abstractions like collectives and RPC
  • Skilled at diagnosing and resolving networking issues in distributed systems, especially at OSI model layers 2-4
  • Strong programming skills in a systems programming language, including memory management, lock-free data structures, and NUMA-aware programming
  • Software, driver, and OS performance optimization tools and techniques
  • Comfort with or desire to learn Rust
  • Understanding of ML accelerators and accelerator drivers
  • Demonstrated ability to design new network protocols
  • Experience with PCIe and drivers for PCIe devices
  • Expertise in algorithms used in networking, including compression and graph algorithms
  • Experience programming on SmartNICs
  • 5+ years of experience in systems programming or network programming
  • Often comes from backgrounds in: HPC, telecommunications, host networking software, OS/kernel engineering, or embedded systems
  • Strong debugging mindset with patience for complex, multi-layered issues

Responsibilities

  • Write and maintain software that interfaces between accelerators and high-speed networks
  • Build and maintain systems-level software for network infrastructure and optimization
  • Debug and optimize distributed software at the network level
  • Design and implement new network protocols and collective algorithms
  • Benchmark software for new networking environments
  • Optimize congestion control algorithms for large-scale synchronous workloads
  • Debug kernel-level network latency spikes

Technologies

TCP/IP stack internalsXDPeBPFio_uringepollDPDKRDMAKernel bypass techniquesHigher-level abstractions such as collectives and RPCRustML acceleratorsPCIeSmartNICsCompression algorithmsGraph algorithms

See if your resume is ready for this job

See how our AI can optimize your resume and improve your chances for this role.