Role DescriptionWe're looking for a Senior Software Engineer to join Ditto's Data Sync team, one of our core engineering teams, and help keep mission-critical work moving when connectivity disappears. Our technology lets edge devices access the data they need and share updates as connections come and go, so applications keep working when a device goes offline.
In this role, you'll help shape the foundation behind that experience. It's a rare and deeply interesting challenge: making software dependable in a world that's distributed, unpredictable, and often offline. Your work will help customers build applications that don't have to wait for a connection to do what matters. You'll be part of a core technical team changing what's possible at the edge.
What You'll Be Up To...- Build reliable Rust systems - Design and deliver production-grade libraries and services, using async programming and concurrency to meet performance and reliability needs.
- Develop decentralized sync capabilities - Design and build systems that keep data consistent across heterogeneous peers, applying CRDTs and techniques such as content addressing, deduplication, and Merkle trees.
- Improve mesh observability - Instrument metrics, logs, and traces to track data propagation, diagnose production issues, and improve bandwidth use, reliability, and self-healing.
- Turn customer problems into product improvements - Work directly with customers to debug issues on their devices and translate what you learn into engineering changes.
What Helps You Thrive...- Relevant technical toolkit - You're comfortable building in Rust, writing asynchronous code, and using metrics and observability tools to understand system behavior.
- Emotional intelligence and conflict resolution - You listen carefully, navigate disagreements constructively, and communicate clearly.
- Passion for offline-first problem-solving - You're energized by helping customers run mission-critical workloads on edge devices, even when they can't rely on a connection to a central system.
- Strong written communication - As part of an async, distributed team, you write clear design docs, RFCs, and code reviews for both technical and non-technical readers.
- Curiosity about AI - You look for thoughtful ways to use AI for automation, ideation, or decision-making in your role.
Great-to-Haves...- Prior hands-on experience with CRDTs, distributed systems, or offline-first data synchronization.
- Experience building software or integrating with embedded databases or data sync platforms.
- Basic networking knowledge: IPv4, TCP, UDP, Bluetooth Low Energy, mesh networking concepts.
- Experience with property-based testing, model checking, or other lightweight verification techniques.
- A track record of open-source contributions in relevant ecosystems.
The Benefits of Building with UsWe offer competitive salaries and meaningful equity. We believe everyone on the team should have a stake in what we're building. Benefits vary by region to make sure you're covered in the ways that matter most. In the US, that includes health, dental, vision, life, and disability insurance, plus a 401(k) and flexible spending accounts.
Regardless of where you live, everyone at Ditto can utilize flexible time off. And while we work remotely, our Atlanta office is always open if you ever want a place to work or meet up with teammates.
Apply AnywayAt Ditto, we know game-changers don't always come wrapped in a "perfect" resume. Years of experience? Every single bullet point checked? Meh. That's not what drives us.
What does matter?
- Grit.
- Curiosity.
- Adaptability.
- And a genuine spark for what we're building.
So if you're fired up about our mission but not sure you tick every box - hit that apply button anyway. Use your application to show us how you'll make an impact here.
We're always on the lookout for exceptional humans who want to grow, stretch, and build something meaningful with us.