
Senior Software Engineer, Database at Ditto (Atlanta, GA / Washington, DC / San Francisco, CA)
Ditto· Atlanta, GA / Washington, DC / San Francisco, CA·
Role details
Summary
Design and maintain the storage backend abstraction and transaction management system for Ditto's embedded database. The role involves implementing storage engines like SQLite and RocksDB, ensuring CRDT performance, and collaborating with cross-functional teams to optimize edge sync operations.
Job description
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, RocksDB 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, RocksDB, LevelDB, 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 RocksDB, LMDB, or similar key-value storage engines at a deep level.
- Background in embedded systems or mobile/cross-platform development for resource-constrained environments.
- Experience with property-based testing, fault injection, or other state-space exploration techniques.
- Experience with monitoring tools such as Prometheus or Grafana.
THE BENEFITS OF BUILDING WITH US
We offer competitive salaries and meaningful equity. We believe everyone on the team should have a stake in what we’re building. Benefits vary by region to make sure you're covered in the ways that matter most. In the US, that includes health, dental, vision, life, and disability insurance, plus a 401(k) and flexible spending accounts.
Regardless of where you live, everyone at Ditto can utilize flexible time off. And while we work remotely, our Atlanta office is always open if you ever want a place to work or meet up with teammates.
APPLY ANYWAY
At Ditto, we know game-changers don’t always come wrapped in a “perfect” resume. Years of experience? Every single bullet point checked? Meh. That’s not what drives us.
What does matter?
- Grit.
- Curiosity.
- Adaptability.
- And a genuine spark for what we’re building.
So if you’re fired up about our mission but not sure you tick every box - hit that apply button anyway. Use your application to show us how you’ll make an impact here.
We’re always on the lookout for exceptional humans who want to grow, stretch, and build something meaningful with us.
EQUAL OPPORTUNITY EMPLOYER
Ditto is proud to be an equal-opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristics. Ditto is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let us know.
Why work at Ditto
- Built Remote-First, Globally Distributed: Ditto has been fully remote since its founding in 2018. The team spans 5 continents and 15 countries (including the US, UK, Netherlands, France, Japan, Sweden). HQ is in SF but operational flexibility is a core principle.
- Culture Anchored in Values: The company emphasizes Trust, Communication, and Continual Improvement. Employees describe the environment as focused on “builders” who enjoy deep technical challenges.
- Engineering-Heavy Team: 36% of employees are in technical roles (engineering, data sync, networking, Bluetooth, platform). Strong talent attraction from companies like MongoDB, Couchbase, dbt Labs, and Pinecone, indicating a high-caliber engineering culture.
- High-Growth Trajectory: ARR grew 250%, customer count doubled, and headcount grew 16% YoY. Recent acquisitions signal aggressive expansion.
- Remote/Office Policy: Remote-first; no mandatory in-office requirement, though SF HQ exists as an option.
- Notable Perks & Approach: Focus on autonomy and deep technical ownership; frequent hiring for senior-level roles (23% seniority); strong support for open-source and peer-to-peer technology.