Work
I’m a software and systems engineer with a background building open source developer tools at scale. Because the marginal cost of software approaches zero, software tools act as incredibly powerful force multipliers—developer tools even more so. I thrive in teams that are passionate about building things of lasting value to society by solving hard problems, all while caring deeply about the craft and the experience.
Rust is the primary medium I’ve worked in since early 2017, and before that I used a mix of Python and C, with a sprinkling of other languages like C++, Hack, and JavaScript.
I’m also an experienced technical writer. I enjoy the process of crafting engaging content that is accessible without compromising on rigor or sophistication. My writing has been read by tens of thousands of people and is well-regarded in the Rust and software engineering communities. This blog is an outlet for my writing.
Open source projects#
Some of the FOSS projects I’ve made substantial contributions to over my career:
cargo-nextest, a next-generation test runner for Rust. Nextest is a fast, polished, feature-rich test runner that leverages many Rust features to push forward the state of the art in test runners. Nextest has seen wide adoption in the Rust ecosystem, from Fortune 10 companies to individual developers.
Omicron, the Oxide control plane, where I’ve made several key contributions to the initial customer experience, and to my coworkers’ developer experience.
- Within Dropshot, Oxide’s HTTP REST server, I added API traits to solve several major developer complaints.
cargo-guppy, a library to track and query Cargo dependencies. Guppy underpins nextest, cargo-hakari, and other tools that have delivered 3x+ improvements in common developer workflows.
The Sapling and Mercurial source control systems, where I focused on both user experience and scalability.
- Mononoke, a scalable source control server for Rust. I led the design and implementation of Bonsai changesets, a new way to represent source control data that delivered a 100x improvement in source control commit throughput on fast-moving, contended branches like
main
.
- Mononoke, a scalable source control server for Rust. I led the design and implementation of Bonsai changesets, a new way to represent source control data that delivered a 100x improvement in source control commit throughput on fast-moving, contended branches like
The Diem blockchain, where I drove several systemic improvements to code quality, including introducing property-based testing and coverage-guided fuzzing.
camino, a Rust library that’s like
std::path
, except for UTF-8 only. Camino simplifies path handling greatly for most applications.Watchman, the file-monitoring tool, which I integrated with Mercurial. Making it reliable meant perfect tracking of file changes, and I found and fixed a number of TOCTTOU races in Watchman.
Documentation and tutorials#
I’ve written documentation, tutorials and essays about Rust and software engineering. My work has been useful to practitioners and learners in both business and academia. Other than the posts on this website, I’ve written:
The documentation for nextest, covering everything from the basics to detailed design documents.
rust-cli-recommendations: My recommendations for how to organize and manage Rust CLI applications.
lifetime-variance: A tutorial to cover the basics of variance in Rust, as it applies to lifetimes.
borrow-complex-key-example: How to implement the
Borrow
trait for non-trivial keys.
Professional experience#
2022-present: I currently work at Oxide, dividing my time between building the control plane and improving the developer experience for my coworkers.
2018-2022: I worked at Novi on developer tools for the Diem blockchain. Before that I worked on the virtual machine for the Move smart contract language.
2012-2018: I worked on developer tools, primarily source control, at Facebook. As part of my work on Mononoke, I led a team effort to invent novel version control data structures that made performance-critical operations much faster.
2008-2012: while being a full-time student, I contracted for Mozilla on Firefox’s then-build system and Thunderbird, among other things.
References#
Available upon request.