Back to jobs

Senior Software Engineer

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:
Ditto aims to expand the internet beyond traditional reach. Our groundbreaking software empowers devices to synchronize data in real-time, using cutting-edge peer-to-peer technology that runs on mobile, web, IoT, and server systems. We are looking for a Senior Software Engineer - Big Peer to design and build scalable, high-performance distributed systems. You will work on both new features and optimizing existing infrastructure to ensure reliability and performance at scale.

As a Senior Software Engineer - Big Peer, you will:

  • Design, build, and maintain highly available and performant distributed systems.
  • Develop, optimize, and maintain infrastructure that supports Ditto’s peer-to-peer technology, focusing on scaling data synchronization.
  • Design and maintain high-performance, consistent caches and proxies to bridge Big Peers and Small Peers in the network.
  • Ensure data consistency and system performance by implementing correctness and load tests.
  • Collaborate with the SRE team to monitor, debug, and optimize distributed systems in production environments.
  • Implement automation tools and processes to streamline infrastructure management and deployments.
  • Write technical documentation, RFCs, and contribute to system architecture designs.
  • Drive performance tuning efforts to ensure systems meet the demands of large-scale, distributed environments.
  • Participate in on-call rotations, partnering with the SRE team to manage production systems and ensure uptime.

What you’ll need:

  • Bachelor’s degree in Computer Science or a related field.
  • 2-5 years of experience in software engineering, with a focus on distributed systems and low-level programming languages like Rust and/or modern C/C++.
  • Experience with cloud platforms (AWS, GCP, Azure), containerization technologies (Docker, Kubernetes), and large-scale distributed systems.
  • Strong knowledge of algorithms, data structures, and performance optimization techniques.
  • Excellent communication skills, especially in asynchronous collaboration.
  • Ability to work effectively in a globally distributed team.

Nice to haves:

  • Familiarity with storage engines like RocksDB or messaging systems like Kafka.
  • Experience with monitoring tools such as Prometheus or Grafana.

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

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...