Note: Originally drafted in July 2020. Kept here in the original voice; a brief 2026 update sits at the end.

Have fun clicking through on the links — and be thankful about how far technology has come!

Pre-college

I started programming a 4K TRS-80 in BASIC and Z80 Assembly, but quickly graduated to an Apple II with 64K(!) in Apple Pascal.

I also wrote a program for the State of Alaska that helped people get funding to insulate their houses — on an HP41CX calculator.

Caltech and a contract in remote Alaska

Then I had to head off to college at Caltech. I got a contract from the US Department of Education to educate Alaskan Inuits in their remote villages so they could get jobs as finance or paralegals. Here’s the trick: my code was deployed remotely, often powered by generators. I wrote the authoring system and the delivery system, including a font program, since the course was partially in the Inuit language.

JPL — paper tape, core memory, and a planetary colonization game

I got the privilege to work at JPL — had fun programming on a Varian that used core memory, had to be booted from paper tape, and was able to support 32 concurrent users in 256K of memory. But I mostly programmed cool science experiments on a MicroVax 1 with 1MB of memory and a 30MB hard drive.

My most prolific project in terms of typing was writing ~60KLOC in one semester when I wrote a planetary colonization game for my systems class. Turbo Pascal is still my favorite IDE.

Oracle Database Kernel

At Oracle, I was the 11th member of the RDBMS Kernel Group, and I owned the bottom part of the kernel — all the locks/latches/files/memory/processes/threads, etc. About 1M LOC, all in C. So many exciting database innovations there; Oracle Parallel Server, for one, proved to me once and for all that relational databases don’t scale out naturally.

I was also the owner of the 50+ operating systems that Oracle ran on and learned a lot about strange computer architectures like nCUBE, SGI, Sequent, KSR, etc.

Oracle Media Server (a tiny piece of Netflix?)

I was then one of the 4 founding members of the Oracle Media Server Group, where I wrote all of the MPEG parsing code and the front half of the streaming service. When you fast-forward or rewind a stream on Netflix or Hulu or Amazon — anything in MPEG — it just might be using some of the tech I developed. If you want to know a little bit about why it was hard, I wrote a paper at the time on Early MPEG FF/RW.

My own A/V company

After Oracle, I ran my own company — bidding, programming, and installing Crestron and other high-end A/V hardware using crazy things like SIMPL+ on custom hardware.

NewsCorp / Wireless Generation

Later, I became CTO at a division of NewsCorp called Wireless Generation on the Shared Learning Initiative Project, where I led a bunch of folks and used MongoDB to ingest ~8B records a day into our system. Callout to Sarah Branfman and Richard Kreuter for their help back then! Our goal was to help teachers teach better, and students learn better, but politics and mismanagement killed the project.

Amazon — RDS, Aurora, DMS

I spent 5 years at Amazon, leading the RDS team. We had a 3M LOC Java control plane (hint: don’t write a 3M LOC Java control plane) managing a fleet of >1M databases. Fleet operations is crazy complicated at that scale.

Then I went deep with Aurora PostgreSQL, understanding the MVCC model, WAL logs, and the silliness of memory-mapping your buffer cache. I also led the building of the AWS Database Migration Service and the Schema Conversion Tool. These are very relevant to MongoDB, Atlas, etc. I might have also had something to do with the ideation of DocumentDB (my apologies).

Grab

Grab was a different beast. We had torn down our single-MySQL / 3-process monolith into hundreds of databases and 200+ microservices — which grew to 400 while I was there. Grab tech was mostly in Go, and the databases we used were MySQL, PostgreSQL, Elasticache, DynamoDB, and a tiny bit of Mongo. We did a huge amount of Data Science as well as more traditional programming.

Heading to MongoDB

Yes, those last couple jobs weren’t very technical. I had to grow my leadership skills for a decade too. At MongoDB, I plan to get technical again and be involved in various tech areas; once I understand all the fantastic work that’s been done to date and can contribute meaningfully. Would love to work with any of you on this…


Since 2020

This page hasn’t been touched since the original draft. The very short version: I did get technical again at MongoDB, served as CTO there, and have since gone on to be CTO at dbt Labs. For the polished version of all of this, see About.