Jobs · Engineering

Senior Software Engineer, Networking

Ditto · Washington, DC · 1 mo ago
Engineering$145/hrFull-time
We need to output HTML fragment with sections: headings

for sections like About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Use
  • for any list of duties/requirements/benefits, and

    for prose. Do NOT repeat job title as heading. Do NOT put Job ID / requisition numbers as headings. Remove boilerplate, navigation, legal, EEO, equal-opportunity, scam-warning, duplicated lines, application instructions. Include a section ONLY when posting has real, specific content for it — never emit heading followed by filler/placeholder text like "commensurate with experience", "not specified", etc. Never create Pay/Schedule/Benefits sections unless posting actually states them. The posting includes Benefits section (The Benefits Of Building With Us). It mentions competitive salaries and meaningful equity, benefits vary by region, US includes health, dental, vision, life, disability insurance, plus 401(k) and flexible spending accounts, flexible time off, Atlanta office open. So we can include Benefits section. Pay: not explicitly stated; only "competitive salaries". That's vague but maybe considered not specific enough? The rule: never create Pay/Schedule/Benefits sections unless posting actually states them. It says "competitive salaries and meaningful equity." That's a statement about pay but not specific numbers. Is that considered stating pay? It says "competitive salaries". Might be considered stating pay but not specific. The instruction: "never create Pay/Schedule/Benefits sections unless the posting actually states them." It does state "competitive salaries". So we could include Pay section with that statement. However they also say "Prefer a few substantive sections over many thin ones." Might combine Pay into Benefits? But they have separate headings list. Could include Benefits only, and mention salary within Benefits? But they said Benefits section for benefits; Pay separate. Since they mention salaries, we could include Pay section with that line. However we need to avoid filler like "commensurate with experience". "competitive salaries" is not filler? It's somewhat generic but still a statement. I'd include Pay section with that sentence. Schedule: posting mentions "Work remotely, set your own schedule". That's schedule info. So we can include Schedule section with that. Now we need sections: About the role (maybe "About The Position" heading). Responsibilities (the bullet list under "As a Software Engineer – Networking, You Will"). Requirements/Qualifications/Skills: The posting has "What You’ll Need" (requirements) and "Nice to Haves". Could combine into Requirements section with required and nice-to-haves as sublists? But we need to follow rule: use

    for section headings. Could have Requirements heading and then list required items; maybe also a separate "Preferred Qualifications" but not in list. The instruction: Use

    for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can choose which headings to use based on content. We have content for About the role (the paragraph about Ditto and About The Position). Responsibilities (the bullet list). Requirements (the "What You’ll Need" list). Skills maybe overlapped with Requirements; but we can just use Requirements. Benefits (the benefits). Pay (competitive salaries). Schedule (Work remotely, set your own schedule). We should not include Qualifications or Skills separately if not needed. We must preserve ALL substantive information; do not invent or summarize away detail. So we need to include all bullet points from responsibilities, requirements, nice-to-haves, benefits, etc. We need to remove boilerplate: The initial "About Ditto" paragraph is okay as part of About the role? The "About Ditto" is company description; we can include that in About the role section. Also "As a globally distributed..." etc. Also the EEO statements etc should be removed. Also "Apply Anyway" and "Equal Opportunity Employer" sections should be removed (they are boilerplate). Also "At Ditto, we are proud to be an equal opportunity employer..." appears twice; remove. We need to keep the substantive content: The mission, description, about the position, responsibilities, what you'll need, nice to haves, benefits. We need to format as HTML fragment only. Let's extract: 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." About The Position: "Ready to shape the future of mesh networking? Join a team at the forefront of next-generation network technology at Ditto. We're expanding our core network stack and building high-performance solutions in next-generation networking, including routing protocols, end-to-end connectivity, transport mechanisms, and edge platforms for mesh systems. Work remotely, set your own schedule, and solve complex, meaningful problems." But note "Work remotely, set your own schedule" also appears later; we might duplicate. We'll keep schedule in Schedule section. Responsibilities (As a Software Engineer – Networking, You Will): list each bullet: - 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. What You’ll Need (requirements): - 5+ years of professional experience building systems software, with at least 3 years focused on networking, transport protocols, or or routing. (Note typo "or or". Keep as is.) - 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. Benefits: - 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 office is always open if you ever want a place to work or meet up with teammates. Pay: maybe just "competitive salaries and meaningful equity". Could be part of Benefits but we already have Benefits. However we could keep Pay separate with that sentence. But to avoid duplication, maybe we incorporate salary into Benefits? The Benefits section already mentions competitive salaries and meaningful equity as first bullet. So we could keep Benefits only and not create Pay section. The instruction: "Prefer a few substantive sections over many thin ones." So better to not create Pay if it's already covered in Benefits. However the Benefits section currently includes that line; we can keep it there. So we will not create separate Pay section. Schedule: "Work remotely, set your own schedule". Also maybe mention remote work. We'll put that. Now we need to output HTML with headings

    and content. Structure:

    About the role

    ... (company description + About The Position maybe combined?)

    But we have two paragraphs: company description and About The Position. Could combine into one

    or separate

    s. The rule: use

    for prose. So we can have multiple

    under the heading. Then

    Responsibilities

    • ... each bullet
    Then

    Requirements

    • ... required
    Then

    Nice to Haves

    maybe we could call it "Preferred Qualifications" but not in list. However we have heading "Nice to Haves" in the posting. The allowed headings list includes Skills, Qualifications, etc. Not "Nice to Haves". But we could use "Skills" or "Qualifications". However we already used Requirements for required. Nice to haves could be placed under "Preferred Qualifications" but not in list. The instruction: Use

    for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we could use "Qualifications" for required and "Skills" for nice to haves? But that might misrepresent. Better to keep "Requirements" for required and maybe "Preferred Qualifications" not allowed. Could we put nice-to-haves under same Requirements heading as a separate list labeled? But we must not invent headings not in list. However we could still use

    Requirements

    and inside have two
      s: one for required, one for nice-to-haves with a preceding

      indicating "Nice to have". That would keep only one heading. That seems acceptable: we preserve all info, not adding extra headings. The rule: Use

      for section headings (list). It doesn't forbid having multiple
        under same heading. So we can do that. Similarly Benefits we can have

        Benefits

        with
          . Schedule:

          Schedule

          with

          . Now we need to ensure we don't include boilerplate like "Equal Opportunity Employer", "Apply Anyway", etc. Let's craft. About the role: combine company description and About The Position. Paragraph 1: Ditto is redefining... (company description). Paragraph 2: Ready to shape the future... (About The Position) maybe ending before "Work remotely

Similar jobs