Senior Software Engineer, Database
Listed on 2026-06-05
-
Software Development
Software Engineer
About Ditto:
Ditto is redefining how data moves at the edge. Our mission is to make it seamless for developers to build resilient, real-time applications, regardless of network conditions. Whether you're in a stadium, airplane, or remote military base, Ditto's peer-to-peer sync engine ensures devices stay connected and data stays consistent, even without internet. With more than $145 million in funding and trusted by organizations like Chick-fil-A, Delta Airlines, and the U.S. military, Ditto powers mission-critical experiences across aviation, retail, travel, hospitality, defense, and more.
As a globally distributed, fast-growing startup, we’re committed to building a diverse and inclusive team that reflects the wide range of perspectives needed to solve the world’s hardest connectivity problems.
About the position:
The Query Engine and Store team owns the storage and transaction layer at the heart of Ditto’s edge database. This role works with the Ditto Query Language (DQL) and the raw storage engines that underpin our embedded database. You’ll be responsible for backend abstraction, transaction management, concurrency control, CRDT-aware document storage, and blob storage — all designed to run reliably on constrained edge devices like phones, IoT hardware, and ruggedized military systems.
This is a uniquely challenging domain: unlike a traditional cloud database, every design decision must account for memory, unreliable storage media, and the need to natively handle Conflict-Free Replicated Data Types (CRDTs) as part of the transaction layer. The storage layer is the foundation that the query engine, sync system, and SDKs all build upon.
As a Senior Software Engineer — Embedded Database, you will:
Design and maintain the storage backend abstraction layer and transaction management system that underpins Ditto’s embedded database.
Implement and optimize storage backends (e.g. SQLite, in-memory, Rocks
DB and other engines), including connection pooling, write serialization, and concurrency control for resource-constrained devices.Ensure CRDT document operations — merging, tombstone management, version tracking — are correct and performant at the storage layer.
Own the reliability and performance of the storage layer, identifying and resolving performance bottlenecks.
Design and maintain blob storage systems for large value handling across platforms.
Work with product managers and other engineers to help design the future of the technology.
Collaborate closely with our Query Engine team and the Data Sync team to optimize our embedded database for edge sync operations
Author RFCs, design and document system architecture, and collaborate with other teams within Ditto.
Estimate the delivery timeline for projects and communicate with management and the broader team regarding project execution.
Set team culture by example, expanding Ditto’s culture of Trust, Communication, and Continual Improvement.
What you'll need:
5+ years of experience in software engineering, 2 or more in a Senior role or above, with a focus on database internals, storage engines, or low-level systems programming.
Strong proficiency in Rust or excellent C/C++ skills with a willingness to learn Rust.
Experience with embedded database systems (SQLite, Rocks
DB, Level
DB, LMDB, or similar) or storage engine internals.Understanding of transaction isolation, concurrency control, and ACID guarantees.
Experience with indexing strategies (B-tree, LSM tree, etc.) and general familiarity with query engine concepts.
A willingness to travel (including internationally) once a quarter for team get-togethers and design sessions.
Strong communication skills, with an emphasis on written communication skills in particular. As a fully distributed team, async communication is the default and the development process often includes written architecture and design documents.
Nice to Haves:
Bachelor’s degree or higher in Computer Science or Engineering.
Familiarity with Conflict-Free Replicated Data Types (CRDTs) or other distributed/replicated data structures.
Experience writing custom SQLite VFS or extensions.
Experience with Rocks
DB, LMDB, or similar key-value storage…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).