About
Living in the Bay Area, CA.
Married to Anat. Have three joyful young boys and one active dog.
Vegan.
Google DeepMind (2026 - Present)
I work as a Research Scientist at Google DeepMind, focusing on AI research.
Apple (2017-2026)
Prior to DeepMind, I spent eight and a half years at Apple across two teams:
Tools & Frameworks AI Team (2022-2026): As a Principal ML Engineer and Technical Lead, I led the creation of Apple Claude Code—Apple's most widely-used AI developer tool with tens of thousands of internal users. The sandboxing design we developed was adopted into Anthropic's Claude Code product. I founded the GenAI community, which grew to tens of thousands of members, establishing the largest AI community in Apple. Our team built synthetic data generation pipelines that enabled a 32B parameter model to outperform GPT-4 on Swift code generation tasks, and we developed full-stack evaluation system for Predictive Code Completion in Xcode, running compile-and-pass metrics on actual devices.
CloudKit R&D Team (2017-2022): I led the architecture and implementation of QuiCK, Apple's queuing system in CloudKit. Our team drove the adoption of high-concurrency zones and versionstamp capabilities for next-gen data synchronization, and contributed to distributed transaction frameworks including FoundationDB.
Distributed Systems Researcher (2013-2017)
I received my BSc (Software Engineering) in 2010 and Ph.D. (Distributed Systems) in 2017 from the Technion - Israel Institute of Technology. My Ph.D. advisor was Prof. Idit Keidar.
My research focused on distributed systems, parallel computing, and correctness of concurrent algorithms. Here is an article (in Hebrew) about my wife and me after we finished our Ph.D.
During my Ph.D., I interned twice at Google—first in the Storage Analytics group (Slicer) and then in Google Cloud. I also interned at Yahoo! Research (ZooKeeper). Before my Ph.D., I was a Software Engineer at Wanova, an Israeli startup acquired by VMware.
Facts
As of Feb 2026
Years Of Experience
Companies Affiliated
Publications
Selected Publications
QuiCK: A Queuing System in CloudKit
SIGMOD, 2021
As part of my work in the ACS Applied Research Team, I was the TL of QuiCK - a queuing system built for managing asynchronous tasks in CloudKit, Apple's storage backend service.
It was a great experience working on QuiCK and bringing it from idea to production at scale.
See QuiCK's presentation here
FairLedger: A Fair Blockchain Protocol for Financial Institutions.
Best Paper Award
OPODIS, 2019
Working closely with Sasha (Alexander) on this was a fantastic journey. Back in the days when blockchain (i.e., a shared distributed history) was the fastest emerging topic in the neighborhood, we asked what it would take for selfish players to run such a protocol fairly.
Our answer was this work.
Composing Ordered Sequential Consistency
Inf. Process. Lett., 2017
While taking a small break to sleep while working hard on the proof for our "Modular Composition of Coordination Services" paper, I remember not letting go of thoughts about possible execution histories. Then, out of nowhere, I realized I could generalize two known correctness criteria under one definition (linearizability and sequential consistency) and prove the composition of that new abstraction.
It was a small win, but my favorite one in my Ph.D.
Slicer: Auto-Sharding for Datacenter Applications
OSDI, 2016
On my first internship at Google, I received a task to design a new load-balancing algorithm for Slicer - Google's internal Sharding-As-A-Service system, replacing an existing variant of consistent hashing in use.
We designed a generic algorithm that we named “Weighted Moves” - the idea was to evaluate a few types of small load changes iteratively (i.e., “moves”) with respect to a user-defined cost function and to make progress as long as there's an allowance for them.
Modular Composition of Coordination Services
USENIX ATC, 2016
I received this project during my internship at Yahoo! Research. The initial goal was to design and implement a way to work with multiple instances of ZooKeeper while maintaining the semantics.
I started by examining ZooKeeper and learning its internals. Then, we identified possible improvements in ZooKeeper's performance and contributed them to the project along with a system test that generates corresponding workloads.
For the construction of multiple instances, we proposed the modular composition approach, a client-side solution that I really liked.
See ZooNet presentation slides here