Senior Software Engineer, Networking
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, airplane, or 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 like 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.
As a Software Engineer – Networking, you will:
Design, implement, and own core components of Ditto’s networking and transport stack, spanning overlay networking (routing, virtual connections, channel lifecycle) and underlying physical transports and protocols (BLE, LAN, Wi-Fi Aware, AWDL, etc.).
Drive the re-architecture of the networking stack toward a more modular, scalable, and high-performance design, establishing clear interfaces and ownership boundaries between transport layers and mesh abstractions.
Debug and systematically improve real-world connectivity issues including data transfer reliability, MTU negotiation, pairing instability, throughput ceilings, and cross-platform data sync behavior.
Build and optimize transport mechanisms with explicit attention to flow control, backpressure, congestion handling, retries, connection lifecycle management, and failure recovery.
Identify and eliminate performance bottlenecks across latency, memory footprint, CPU utilization, and tail behavior in highly concurrent, asynchronous systems.
Design protocol state machines, wire formats, and transport abstractions that remain correct under unreliable networks, intermittent connectivity, and constrained environments.
Establish meaningful observability through targeted logging, metrics, and diagnostics to enable rapid production debugging and root-cause analysis.
This role is ideal for engineers passionate about networking, distributed systems, and building low-level infrastructure that operates at scale and in constrained environments.
What You’ll Need
5+ years of professional experience building systems software, with at least 3 years focused on networking, transport protocols, or or routing.
Strong proficiency in Rust or C++, including ownership and borrowing semantics, async runtimes, concurrency primitives, and profiling / optimization techniques.
An understanding of some of key mesh networking topics such as TCP, UDP, and QUIC semantics and tradeoffs, including connection establishment, congestion and flow control, retransmission behavior, MTU/fragmentation, and practical implications for latency, throughput, and reliability in real-world systems.
Exposure to or experience working with networked services and protocols. Demonstrated ability to debug complex behavior in networked and concurrent systems (race conditions, deadlocks, resource leaks, latency spikes).
Experience designing modular APIs and abstractions that scale across multiple implementations and evolve safely over time.
Clear written and verbal communication skills in a distributed, asynchronous team environment.
A passion to learn new networking technologies, APIs, and approaches to build at the bleeding edge of mesh networking.
Nice to Haves
Experience with mesh networking protocols, routing algorithms, or gossip protocols.
Understanding of mobile platform constraints including background execution models, battery optimization, OS suspension/resume cycles, and their impact on persistent connections.
Experience with Apple Core Bluetooth or Android WiFi Aware APIs.
Experience with Linux networking, sockets, async I/O, or low-level systems programming.
Willingness to travel once per quarter for in-person team gatherings.
The Benefits of Building with Us
We 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 and San Francisco offices are open if you ever want a place to work or meet up with teammates.
Apply Anyway
At 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.
Check your CV against this role
Drop your CV. You get a 0-100 fit score against the actual job description, plus the read a senior engineering lead would write. Private to you.
Score this once, or every future role
Start the candidate journey and every new role on the board gets scored against you.
Five minutes. Tell us what you’re after, drop your CV once, pick how we should reach out. You get a candid read back and you only hear from us when a role fits.