Hi, my name is Harry.

About

Most of my work comes down to making systems faster and more efficient.

At Databricks I worked on real-time streaming for Delta Lake, and at AWS on low-latency routing in DynamoDB. On my own time I build vector search in Rust. This fall I’m in Seattle with Amazon Prime Air, building an LLM pipeline that turns drone safety requirements into verification code.

I’m a data science student at the University of Waterloo, graduating in April 2028. Away from a keyboard I play piano, powerlift, and play poker with friends.

Harry Zhu in glasses and a black hoodie, smiling and looking off to one side.

Experience

  1.  – Current

    Amazon Prime Air

    Software Development Engineer

    • Python
    • C++

    I’m building an LLM agent pipeline that turns drone flight requirements into verification code that runs on flight logs. I’m also working with the Stanford and NASA researchers behind ARTEMIS on an approach that aims to take the human out of the loop.

    • Built an LLM agent pipeline that turns flight requirements into verification code run on drone flight logs, scaling translation to 2,000+ safety requirements.
    • Worked with the Stanford and NASA researchers behind ARTEMIS (ICSE 2026) (PDF, opens in a new tab) on a modified approach that aims to take the human out of the loop, using a test-case oracle to eliminate ambiguities.
    • Extended the pipeline to generate C++ runtime monitors that are compiled into the drone’s flight software, and validated them in hardware-in-the-loop simulations.

    Seattle, WA

  2.  –

    Databricks

    Software Engineer

    • Scala
    • Java

    I built Real-time mode support for Delta Lake, bringing sub-second Spark Structured Streaming to transactional Delta tables, beyond the message-queue sources it supported before. I also architected a distributed load-balancing and scheduling algorithm that spreads processing work evenly across Spark clusters.

    • Developed Real-time mode support for Delta Lake, enabling low-latency Spark Structured Streaming over transactional Delta tables and expanding Real-time mode beyond traditional message-queue sources.
    • Reduced Delta streaming latency by 1,640 ms (66%) at P50 and 2,790 ms (41%) at P99 versus microbatch mode.
    • Decreased compute cost by up to 32% for fixed-throughput workloads versus microbatch mode, and reduced ZeroBus ingest latency, letting Delta Lake replace Kafka workloads at roughly 50% of the cost.
    • Architected a high-performance distributed load-balancing and scheduling algorithm that partitions processing work across Spark clusters and reduces load skew between workers.

    Mountain View, CA

  3.  –

    Amazon Web Services

    Software Development Engineer, DynamoDB

    • Rust
    • Java

    I worked on DynamoDB’s routing layer, designing an auto re-enablement system for a low-latency routing mechanism and extending it to more data-plane APIs. I also built a dynamic routing algorithm that sends traffic to the fastest target.

    • Designed an auto re-enablement system for a low-latency routing mechanism in DynamoDB’s routing layer, increasing coverage from 73.5% to 90.8% across all regions.
    • Extended the mechanism to more data-plane APIs, delivering a 750 μs (~38.3%) reduction at P50 and a 1,870 μs (~15.8%) reduction at P99 across all regions.
    • Developed a dynamic routing algorithm that computes a moving average of observed network latencies to route traffic to the fastest target.
    • Redesigned a reverse-bias back-off algorithm that detects overloaded targets and redistributes traffic, supporting more Availability Zones and staying stable under high load.

    Seattle, WA

  4. Earlier

    TD Bank

    Toronto, ON

    Software Developer, portfolio analytics team

    BTNX

    Toronto, ON

    Full-stack Developer

Projects

  • ColdIVF on GitHub (opens in a new tab)

    The fastest vector index for cold queries: at least 2.6× faster reads than faiss, DiskANN, LanceDB, Qdrant, usearch, AsterVec and SymphonyQG, with 3.4× less memory.

    A single-file IVF index in Rust with dual quantization (1-bit RaBitQ and 4-bit codes), batched async disk reads, SIMD scans, durable writes, and Python bindings.

    Against faiss, DiskANN, LanceDB, Qdrant, usearch, AsterVec and SymphonyQG. One cell is the same amount of memory in both rows. The diagram shows a query reading only its nearest cells.
  • SpecWave on GitHub (opens in a new tab)

    Cuts search time after the embedding by 92% at P50 with no recall loss, benchmarked on 9 embedding models including BERT, NomicBERT, Qwen3, and arctic.

    A speculative search layer on ColdIVF’s fast batched cold reads: it predicts the final embedding from a middle transformer layer and issues those reads while the model is still running.

    Search after the embedding is drawn to scale (P50); model time is schematic. No recall loss across 9 models. The diagram shows reads issued from a middle layer while the rest of the model runs.