Doug Patti
Software engineer at Jane Street, where he has spent the bulk of his career working on distributed systems in the client-facing technology department. He joined from smaller web startups where his day-to-day was Node.js, Ruby, and conventional database-backed APIs — a background that gives him an unusually clear view of what distinguishes Jane Street’s architecture from standard web-service thinking.
At Jane Street, Patti worked for several years on Concord, a replicated state machine platform built to support bilateral trading relationships — arrangements where Jane Street acts as both liquidity provider and operator of the exchange-like infrastructure through which external clients connect. He has since been a lead engineer on Aria, Concord’s successor, which generalises the same state machine replication architecture into shared, multi-tenant infrastructure available to any team at the firm.
Core positions
Patti’s central conviction is that deterministic, synchronous state machines — modules that process messages one at a time with no blocking side effects — are the right primitive for building reliable distributed software. Determinism means any machine that replays the same message sequence reaches the same state, which turns crash recovery, distributed replication, and integration testing from hard problems into solved ones. He holds that inversion of control (applications propose messages rather than sending them) is not a stylistic preference but a structural necessity: it forces all relevant state into inspectable data structures and makes race conditions reproducible on demand rather than probabilistic.
On the trade-offs, he is clear-eyed: the design demands performance discipline (every process must discard irrelevant messages quickly or fall behind the stream), imposes strict versioning constraints (a persistent transaction log has no negotiation phase, so message-format changes must be coordinated across the whole system at once), and requires a learning investment from engineers who are accustomed to threaded, push-oriented programming styles.
In the wiki
- Doug Patti on State Machine Replication, and Why You Should Care — Signals and Threads, 20 April 2022: the architecture of Concord, the design of Aria, and why deterministic state machines change how distributed software is built and tested