Remote Senior Software Engineer, Storage

Logo of DC SCORES

DC SCORES

๐Ÿ“Remote - United States

Job highlights

Summary

Join Ditto's remote team as a Senior Software Engineer and contribute to building the next-generation of mesh network technology. You will design new features, support data storage systems across various environments, and collaborate with product and engineering teams.

Requirements

  • Fluency in Rust including proficiency with: Asynchronous programming, including cancel safety, Concurrency primitives, Multithreading
  • Strong type system knowledge and applicability of this knowledge to idiomatic Rust design patterns (e.g. typestate, builder, etc.)
  • Experience using low-level platform tooling OS APIs File system OS-level concurrency Blocking & non-blocking IO, including modern scalable I/O event notification mechanisms (e.g. epoll, kqueue etc.)
  • Experience using a wide variety of database features
  • Strong data structure & algorithms knowledge
  • Unit and integration testing, with bonus points for lightweight formal methods such as property testing

Responsibilities

  • Break ground on greenfield projects, and design new features
  • Support the data storage systems across a wide variety of environments, from mobile devices to small servers to web clients
  • Collaborate closely with product and neighboring engineering teams to build end-to-end customer-facing features
  • Design and build storage interfaces and features that support nearly all Ditto features, including: Key-Value stores, Blob storage, File system access, Indexing, Performance tuning
  • Build & maintain native storage implementations across a variety of platforms including Windows, iOS, macOS, linux, and web using operating system specific functionality where appropriate

Preferred Qualifications

  • Experience with SQLite, LMDB, OPFS, IndexedDB
  • Deep knowledge or experience implementing database internals such as indexes, storage engines, etc
  • Experience implementing blob storage including topics such as cloud object storage, content addressing & deduplication, file systems, etc
  • Working knowledge of CRDTs
  • Experience with distributed systems
  • Experience working in C or C++ codebases

Benefits

  • Competitive salaries
  • Stock options
  • Medical, dental, vision, life, and disability coverage
  • Flexible spending account (FSA)
  • Flexible vacation policy
  • 401(k) plan

Job description

About Ditto:

Ditto is on a mission to unleash the full power of edge devices by removing all the plumbing required to build amazing applications. Ditto is a globally remote team. Our core values are trust, communication, and continuous improvement. We celebrate diversity and strive to create a team that encompasses a wide range of backgrounds, skill sets, and perspectives.

About the Position

Want to build the next-generation of mesh network technology?

The Storage team is responsible for the way on-device data is organized across all supported platforms from mobile devices to web clients. This team will work closely with the Data Sync Team which is responsible for moving the data through the mesh, the Query Team which implements our query language DQL, and the Core Library Team which is responsible for providing a library to our SDKs developers that works on all platforms.

As aย Senior Software Engineer, you will:

  • Break ground on greenfield projects, and design new features.

  • Support the data storage systems across a wide variety of environments, from mobile devices to small servers to web clients.

  • Collaborate closely with product and neighboring engineering teams to build end-to-end customer-facing features.

  • Design and build storage interfaces and features that support nearly all Ditto features, including:

    • Key-Value stores
    • Blob storage
    • File system access
    • Indexing
    • Performance tuning
  • Build & maintain native storage implementations across a variety of platforms including Windows, iOS, macOS, linux, and web using operating system specific functionality where appropriate.

What youโ€™ll Need:

  • Fluency in Rust including proficiency with:

    • Asynchronous programming, including cancel safety
    • Concurrency primitives
    • Multithreading
    • Strong type system knowledge and applicability of this knowledge to idiomatic Rust design patterns (e.g. typestate, builder, etc.)
  • Experience using low-level platform tooling

    • OS APIs
    • File system
    • OS-level concurrency
    • Blocking & non-blocking IO, including modern scalable I/O event notification mechanisms (e.g. epoll, kqueue etc.)
  • Experience using a wide variety of database features

  • Strong data structure & algorithms knowledge

  • Unit and integration testing, with bonus points for lightweight formal methods such as property testing

Nice to Haves:

  • Experience with SQLite, LMDB, OPFS, IndexedDB
  • Deep knowledge or experience implementing database internals such as indexes, storage engines, etc.
  • Experience implementing blob storage including topics such as cloud object storage, content addressing & deduplication, file systems, etc.
  • Working knowledge of CRDTs
  • Experience with distributed systems
  • Experience working in C or C++ codebases

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

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.
Please let DC SCORES know you found this job on JobsCollider. Thanks! ๐Ÿ™