At a Glance
- Tasks: Design and optimise data sync protocols for high performance and reliability.
- Company: Join Ditto, a diverse tech company focused on innovation.
- Benefits: Competitive salary, equity options, flexible time off, and private healthcare.
- Why this job: Work on cutting-edge technology and tackle exciting challenges in a remote team.
- Qualifications: Strong Rust skills and a passion for distributed systems.
- Other info: Embrace a culture of trust, communication, and continual improvement.
The predicted salary is between 70000 - 120000 ÂŁ per year.
Join to apply for the Replication Engineer role at Ditto
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, on an airplane, or at a 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 such as 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.
Role Description
Help us ignite the future of edge data synchronization as a Senior Software Engineer at Ditto! We are seeking someone to work directly within the core of Ditto’s data sync platform and help shape our database replication systems. Design mission‑critical data sync protocols that work in challenging environments to deliver on Ditto’s goal of a high performance, self‑healing, and reliable mesh. Work with a remote team, manage your own time, and tackle interesting problems.
What You’ll Be Up To
- Work with product managers and other engineers to help design and evolve the core technology.
- Troubleshoot production issues and design future remediations to ensure a high‑performance, self‑healing mesh.
- Relentlessly optimize for efficient bandwidth usage and reliable data transfer between peers.
- Build robust data sync technologies using:
- Checksumming, content‑defined chunking, Merkle trees, erasure codes, and data deduplication with content‑addressable storage.
- Modern probabilistic data structures such as Bloom filters and cuckoo filters.
- Highly concurrent async programming in Rust.
- Content addressing and retrieval in a dynamic mesh with no central coordination.
- Low‑level I/O optimization across Ditto’s supported platforms.
What Helps You Thrive
- Excellent Rust experience, either professionally or through personal projects or open‑source work.
- Excitement to learn the fundamentals of distributed file storage and sync systems.
- BSc in Computer Science or equivalent.
- Strong operating systems knowledge covering system calls, concurrency primitives, memory mapping, durability, and write ordering.
- Good algorithmic reasoning and data structure knowledge, especially in probabilistic structures, graph theory, and computational complexity.
- Willingness to travel internationally once a quarter for team get‑togethers and design sessions.
- Strong written communication skills for async collaboration and documentation.
Great‑to‑Haves
- Experience with networking on multiple platforms, including mobile OSes such as iOS and Android.
- Understanding of networking and routing protocols (TCP, UDP, BGP, OSPF, etc.) and core concepts.
- Experience with lightweight formal methods such as property testing and model checking.
- Experience with modern networking advancements such as fountain codes, QUIC, and noise encryption.
- Mobile development experience.
The Benefits Of Building With Us
We offer competitive salaries and meaningful equity. Benefits vary by region to cover what matters most. In the US, that includes health, dental, vision, life, and disability insurance, plus a 401(k) and flexible spending accounts. In the UK, we offer private healthcare through Vitality, a pension plan, and region‑specific coverage. For team members elsewhere, we provide equitable benefits via our global employer platform. Everyone can use flexible time off, and we have Atlanta and San Francisco offices open for meeting up if you prefer a physical workspace.
Apply Anyway
We value grit, curiosity, adaptability, and a genuine spark for what we’re building. If you’re excited about our mission but not every requirement fits, we encourage you to apply. Show us how you’ll make an impact here. We’re always looking for exceptional people 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 and 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.
Seniority level
Mid‑Senior level
Employment type
Full‑time
Job function
Engineering and Information Technology
Industries
Technology, Information and Internet
#J-18808-Ljbffr
Replication Engineer employer: Ditto
Contact Detail:
Ditto Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Replication Engineer
✨Tip Number 1
Network like a pro! Reach out to current employees at Ditto on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for the interview process. This can give you insider knowledge and help you stand out.
✨Tip Number 2
Prepare for technical interviews by brushing up on your Rust skills and understanding data sync protocols. Practice coding challenges that focus on concurrency and algorithms, as these are key topics for the role. We recommend using platforms like LeetCode or HackerRank.
✨Tip Number 3
Showcase your passion for the role! During interviews, share your personal projects or open-source contributions related to database replication or async programming. This demonstrates your enthusiasm and commitment to the field.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the Ditto team.
We think you need these skills to ace Replication Engineer
Some tips for your application 🫡
Show Off Your Rust Skills: Make sure to highlight your experience with Rust, whether it's from work or personal projects. We want to see how you've tackled challenges and what you've built, so don't hold back!
Communicate Clearly: Since we're a fully remote team, strong written communication is key. Use your application to demonstrate your ability to explain complex ideas simply and clearly. This will help us see how you can contribute to our async culture.
Tailor Your Application: Take the time to customise your application for the Replication Engineer role. Mention specific technologies and techniques from the job description that you're familiar with, and show us how your background aligns with our needs.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it shows you're keen on joining our team!
How to prepare for a job interview at Ditto
✨Know Your Rust Inside Out
Since this role heavily relies on Rust, make sure you brush up on your Rust skills. Be prepared to discuss your past projects or contributions to open-source work that showcase your expertise in Rust programming.
✨Understand Data Sync Protocols
Familiarise yourself with the concepts of data sync technologies like checksumming, Merkle trees, and erasure codes. Being able to explain these concepts and how they apply to high-performance systems will impress your interviewers.
✨Show Off Your Problem-Solving Skills
Prepare to tackle some technical challenges during the interview. Practice troubleshooting scenarios related to database replication and data transfer issues, as this will demonstrate your ability to think critically and solve problems effectively.
✨Communicate Clearly and Confidently
As a remote team, strong written communication is key. Be ready to articulate your thoughts clearly, whether discussing technical details or your approach to teamwork. This will show that you can thrive in Ditto's async communication environment.