Senior Software Engineer, Database
Designs and optimizes storage backends, transaction management, and CRDT operations for Ditto's embedded edge database on resource-constrained devices. Requires 5+ years experience with database internals, Rust or C/C++, and storage engines like SQLite or RocksDB.
Responsibilities
- 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.
Requirements
- 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.
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.
Staff Software Engineer
Lead technical architecture and roadmap for Twilio's Compliance Experiences platform, building scalable microservices and high-volume APIs while mentoring engineers and leveraging AI tools to accelerate delivery.
Principal Software Engineer, SIEM
Principal Software Engineer leading a feature delivery team to design, develop, and release software for the Huntress SIEM platform. Requires 15+ years experience, 8+ years Ruby on Rails and Postgres scaling.
Senior Software Engineer, Foundations
Build and scale backend services powering personalized customer communications across SMS, email, push, and emerging channels. Partner with marketing and data teams to deliver real-time messaging, automation, and data-driven engagement systems.