About the position

Ditto aims to expand the internet beyond traditional reach. Our groundbreaking edge sync platform is powered by peer-to-peer database technology that runs on mobile, web, IoT, and server systems, enables devices to sync data in real-time even without the internet.

Help us ignite the future of data synchronization as a Senior Software Engineer-Replication at Ditto!  We are seeking someone to  work directly within the core of Ditto's data sync platform and help shape the engines behind the replication and data storage layers.  Troubleshoot production issues, support other internal teams in their investigations, and design future remediations to deliver on Ditto's goal of a high performance, self-healing, and reliable mesh.

As a Senior Engineer-Replication you will:

  • Optimize the performance of data replication algorithms to support large datasets in demanding production environments with many peers.
  • Improve the rate at which Ditto's various storage engines can ingest and compute changes for the mesh.
  • Implement novel algorithms and designs from academic papers for use in the replication system.
  • Optimize replication protocol for efficient bandwidth usage.
  • Improve confidence in the Ditto mesh convergence and resiliency with lightweight formal methods such as property based testing.

What you’ll need:

  • Demonstrably strong rust experience.
  • Prior experience in the field of data sync, distributed systems, CRDTs, or database development.
  • Excellent operating systems knowledge from syscalls and concurrency primitives, through to IO topics such as memmapping, durability and write ordering.
  • Deep algorithmic reasoning and data structure knowledge: probabilistic structures, graph theory, and computational complexity analysis are bread and butter topics at Ditto.
  • Strong binary skills. We design and work with many internal binary protocols, so endianness, bitfields, TLVs, and compact number encodings should come naturally to you.
  • A willingness to travel (including internationally) once a quarter for team get togethers and whiteboarding.
  • Strong communication skills, particularly written communication skills.
  • Must be able to obtain a U.S. security clearance.

Nice to Haves: 

  • Past experience converting academic papers into working code.
  • Experience designing systems for data corruption detection, crash durability and automatic recovery.
  • Prior experience working with embedded database development or use (LMDB, SQLite, RocksDB, etc.)
  • Experience with P2P technologies such as bittorrent protocols or distributed hash tables.
  • Experience with property based testing or other lightweight formal methods.
  • Experience benchmarking, debugging and optimizing low level systems code: valgrind, lldb/gdb, strace, flamegraph, cachegrind.

 

About Ditto

Ditto is on a mission to free applications and developers of syncing data, enabling real-time data synchronization even in areas without internet access. As a globally remote team, we prioritize trust, communication, and continuous improvement as our core values. We strongly believe in celebrating diversity and strive to create a team that encompasses a wide range of backgrounds, skill sets, and perspectives.

Benefits we offer:

  • Competitive salaries

  • Stock options

  • Medical, dental, vision, life, and disability coverage

  • Flexible spending account (FSA)

  • Flexible vacation policy

  • 401(k) plan 

Come join our remote team and discover the possibilities of your best career!

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.

 

Ditto Recruiting Privacy Notice

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)


Please reach out to our support team via our help center.
Please complete the reCAPTCHA above.