One of the most powerful lessons of my career is that great developer platforms can lead to extraordinary impact: technologies that allow developers to focus on the problems that matter to their customers, not all the problems around the problem. And when this is achieved, magical things happen for users.
Before Android, developers around the world spent a ridiculously large amount of time getting mini-applications running on every single phone type reliably. Each manufacturer was developing their own operating system, and developers were left with a balkanized and messy situation that meant the majority of their time was spent on the platform specifics, not the application itself.
Then Android came along. Android abstracted away the underlying computer system’s properties, and allowed developers to focus on the problem that mattered: writing high quality applications. That transition, combined with the advances in telecommunications, hardware and other related technologies, has revolutionized the world. I was very fortunate to have experienced this problem in the early 2000s at Motorola and then be part of delivering the Android transition.
Fast forward many years, and I was lucky enough to witness similar problems at Google and at Uber in a different domain. At Uber AI - the central machine learning group at Uber - my teams and I had the opportunity to work on problems like Optimal Feature Discovery, improving location accuracy, accident detection, optimizing delivery times, and Uber’s ETA prediction system among others. In every single problem domain, I have seen that distributed computing and solving machine learning problems is hard. Getting to the first 60-70% is easy, scaling it is where most of the time is spent.
It took close to a year for us to scale an improved model of Uber’s ETA prediction system. It still involves stitching together multiple disparate systems for data processing and cleaning to training to serving to monitoring and then having to deal with complexities of production systems ranging from memory issues, cluster scaling, latency and throughput to name a few.
This reminded me a lot of the early days of the mobile ecosystem: we were spending all the time on the problems around the problem, and not the problem itself: building the most accurate way to predict ETAs which is what end users care about.
We then encountered Ray - one of the fastest growing projects in recent times. The vision of Anyscale, the company behind Ray, is to make distributed computing and scaling machine learning problems seamless and simple.
We used Ray at Uber to solve some of the problems mentioned above. Developers run jobs overnight or over the weekend and silently pray that it succeeds. Ray solves this problem and makes it easier for developers to focus on what matters. Ray makes it easy to scale machine learning jobs by taking care of problems around the problem - latency, memory management, scheduling, cluster management among others. There is a product market fit among developers:
Additionally, Ray also has a strong third party library ecosystem which makes integrating with your favorite library much easier. Ray is being used to solve problems ranging from “making boats faster” to solving privacy issues with personal data to solving serving and scaling challenges across big companies and startups.
In addition to vision and product, it is the people you get to work with that is very important to me. When you look back, you remember the people a lot more than the work that was done. I have been following Anyscale’s work for over two years and had invigorating conversations with the Anyscale team. People here are diverse, collaborate well, and are collectively focused on the mission. It is awesome to see the team rowing together in the same direction at the speed of a startup and having fun in the process.
The product opportunity for extraordinary impact, the team, and evolving culture deeply resonate. The challenge of strategic product development and advancing engineering, building a great executing team, finding the right balance of process and seeing team members grow and surprise themselves, is something that excites me personally. I am keen to contribute to Anyscale’s success, and set it up so that 10 years from now, the team and I, and the users of the product will look back at this journey with happiness and gratitude.
So if you’d like to be part of the Anyscale journey - an opportunity to define the next generation computing platform, to create positive change, to develop a product that delights users, as a partner, as an enterprise user, as an open source contributor, or to just have a conversation about the problems, please reach out to me. There is a lot of cool, interesting work to be done - and we are hiring!