Software Engineer (Ray Data)
Anyscale
Software Engineering
San Francisco, CA, USA
Posted 6+ months ago
About Anyscale:
At Anyscale, we're on a mission to democratize distributed computing and make it accessible to software developers of all skill levels. We’re commercializing Ray, a popular open-source project that's creating an ecosystem of libraries for scalable machine learning. Companies like OpenAI, Uber, Spotify, Instacart, Cruise, and many more, have Ray in their tech stacks to accelerate the progress of AI applications out into the real world.
With Anyscale, we’re building the best place to run Ray, so that any developer or data scientist can scale an ML application from their laptop to the cluster without needing to be a distributed systems expert.
About the role:
Ray aims to provide a universal API for building distributed applications (e.g. a machine learning pipeline of feature engineering, model training, and evaluation). Data is usually a core element connecting these different stages, and therefore plays a critical role in Ray’s usability, performance, and stability. We are looking for strong engineers to build, optimize, and scale Ray’s Datasets library and data processing capabilities in general.
About the Ray Data team:
The Ray Data team currently develops and maintains the Ray Datasets library, which is already powering critical production use cases (e.g. large scale data compaction at Amazon, and ML pipeline at Alibaba). Ray Datasets is a Python library built on top of Apache Arrow and Ray Core (Ray’s C++ backend), and the Ray Data team interacts closely with Ray Core components including the scheduler and the memory & I/O subsystems. The Ray Data team also works closely with Ray’s ML libraries including Train, RLlib, and Serve.
A snapshot of projects you will work on:
- Performance of Ray Datasets at large scale (leveraging Arrow primitives, optimizing Ray object manager, etc.)
- Integration with ML training and data sources
- Stability and stress testing infrastructure
- Lead future work integrating streaming workloads into Ray such as Beam on Ray
- Differentiate Data operations in Anyscale hosted Ray service
As part of this role, you will:
- Develop high quality open source software to simplify distributed programming (Ray)
- Identify, implement, and evaluate architectural improvements to Ray core and Datasets
- Improve the testing process for Ray to make releases as smooth as possible
- Communicate your work to a broader audience through talks, tutorials, and blog posts
We'd love to hear from you if have:
- At least 2 year of relevant work experience
- Solid background in algorithms, data structures, system design
- Experience in building scalable and fault-tolerant distributed systems
- Experience with data processing, database internals including Spark or Dask (streaming is a plus)
Compensation
- At Anyscale, we take a market-based approach to compensation. We are data-driven, transparent, and consistent. The target salary for this role is $170,112 ~ $237,000. As the market data changes over time, the target salary for this role may be adjusted.
- This role is also eligible to participate in Anyscale's Equity and Benefits offerings, including the following:
- Stock Options
- Healthcare plans, with premiums covered by Anyscale at 99%
- 401k Retirement Plan
- Wellness stipend
- Education stipend
- Paid Parental Leave
- Fertility Benefits
- Flexible Time Off
- Commute reimbursement
- 100% of in office meals covered
Anyscale Inc. is an Equal Opportunity Employer. Candidates are evaluated without regard to age, race, color, religion, sex, disability, national origin, sexual orientation, veteran status, or any other characteristic protected by federal or state law.
Anyscale Inc. is an E-Verify company and you may review the Notice of E-Verify Participation and the Right to Work posters in English and Spanish