Software Engineer, Ray Core
Build and improve Ray’s C++ distributed-systems backend, focusing on performance, reliability, fault tolerance, testing, and scalable programming. The role requires at least two years of relevant experience plus strong algorithms, data structures, system design, and distributed-systems expertise.
About the job
Responsibilities
- Develop high-quality open-source software to simplify distributed programming with Ray.
- Identify, implement, and evaluate architectural improvements to Ray Core.
- Improve the testing process for Ray to make releases as smooth as possible.
- Optimize performance of large-scale workloads on Ray.
- Build stability and stress-testing infrastructure.
- Improve fault tolerance and high availability.
- Communicate work to a broader audience through talks, tutorials, and blog posts.
Requirements
- At least 2 years of relevant work experience.
- Solid background in algorithms, data structures, and system design.
- Experience building scalable and fault-tolerant distributed systems.
Nice-to-haves
- Knowledge of distributed model training and inference, including tensor parallelism and pipeline parallelism.
- Knowledge of GPU programming.
Skills
C++, Ray, Distributed Systems, Algorithms, Data Structures, System Design, Fault Tolerance, High Availability, Distributed Model Training, Tensor Parallelism, Pipeline Parallelism, Gpu Programming
Similar jobs
Backend Engineering jobsBuild scalable, multi-tenant commerce and payments services covering subscriptions, payment orchestration, invoicing, tax, and ledgers. Requires at least 2 years of software development experience plus strong distributed-systems, Kubernetes, GCP, event-driven architecture, and testing expertise.
Build and improve high-scale backend infrastructure, workflow systems, data tiers, and reliability tooling supporting billions of requests. The role requires at least two years of software engineering experience, strong coding and problem-solving skills, distributed-systems familiarity, and participation in on-call operations.
Build, maintain, and improve a major on-premises process mining application while helping customers migrate to a cloud platform. The role requires 1–3 years of software engineering experience with Java, Spring, Hibernate, and distributed microservices.
Develop and improve Ray Core’s C++ distributed-systems backend, focusing on performance, reliability, fault tolerance, and scalability. The role requires at least five years of experience with distributed systems, C/C++, low-level operating systems, algorithms, and system design.
Design and lead secure, scalable wallet infrastructure spanning custody, key management, signing, authorization, and recovery. The role requires deep expertise in wallet or cryptographic security infrastructure, distributed systems architecture, and modern blockchain account models.