> Markdown version of [/jobs/ext/2708964-software-engineer](https://www.wearedevelopers.com/jobs/ext/2708964-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer - **Company:** DITTO - **Location:** United States (Remote available) - **Experience:** Expert - **Contract:** Permanent contract - **Skills:** JavaScript (Programming Language), Bluetooth Low Energy (Bluetooth), C Sharp (Programming Language), Code Review, Databases, Data Synchronization, Software Debugging, Programming Tools, Mesh Networking, Networking Basics, Transmission Control Protocol (TCP), Data Logging, Mobile Os, Swift (Programming Language), Kotlin, Free and Open-Source Software, Api Design - **Published:** September 4, 2026 - **Apply:** https://startup.jobs/senior-software-engineer-rust-ditto-com-8140936 ## About the Role * Systems-level Rust experience (3+ years) - You've built production-grade Rust libraries or systems. You're comfortable with unsafe, FFI boundaries, async runtimes, and reasoning about memory layouts and performance at the microsecond level. * Observability and telemetry design experience - You've designed or significantly contributed to instrumentation, logging, metrics, or tracing systems. You understand the tradeoffs between signal granularity and overhead, and you've thought about what makes telemetry useful, not just voluminous. Experience with OpenTelemetry is a strong plus. * Library/SDK development mindset - You've built software that other developers consume as a dependency. You think about API design, backward compatibility, developer experience, and the principle that your library is a guest in someone else's application. * Cross-platform and FFI fluency - The Rust core ships via FFI to Swift, Kotlin, C#, JavaScript, and more. You need to be comfortable working across language boundaries and understanding how your Rust code behaves when called from a different runtime. * Strong written communication - We're an async-first, distributed team. Your design docs, RFCs, and code reviews are your primary communication tools. You can explain complex systems decisions clearly to both engineers and non-technical stakeholders. * Customer empathy - You're willing to engage directly with customers, debug production issues on their devices, and translate field experience into engineering improvements. Nice to haves: * Android/Kotlin or mobile platform experience * Experience with embedded databases, data sync, or offline-first architectures * Background in developer tooling or developer experience teams * Networking fundamentals: TCP/UDP, Bluetooth Low Energy, mesh networking * Open-source contributions in relevant ecosystems (Rust observability, FFI tooling, cross-platform SDKs) ## Description Ditto's SDK runs on thousands of devices across iOS, Android, desktop, and embedded platforms - from restaurant POS terminals to military radios. The Rust core is the engine, consumed via FFI across all of them. Once it ships, we have limited visibility into how it behaves in our customers' environments. When something goes wrong, we need to understand what happened - often on devices we can't access, on networks we don't control, running workloads we didn't anticipate. You'll own the observability story for Ditto's SDK. That means designing and building the telemetry pipeline that runs inside the Rust core: what we instrument, how we collect and buffer it locally, how we get it off the device, and how we make it useful - both for our engineering team diagnosing issues and for our customers understanding how Ditto is performing in their applications. This isn't configuring Datadog dashboards. You'll be designing systems that run on constrained hardware with intermittent connectivity, where every byte of overhead matters and the observability system must never degrade the SDK's core functionality. You'll think about bounded buffers on devices with 2GB of RAM, support bundles that help our support engineers resolve issues in hours instead of days, and remote telemetry that gives us fleet-level visibility across hundreds of customer deployments., * SDK Observability Pipeline - Design, build, and maintain the client-side telemetry system in the Rust core. Metrics, structured logging, and tracing that work across all platforms the SDK targets, with configurable verbosity, sampling, and export. * Support Bundles - Evolve our current log bundle system into comprehensive support bundles that capture device state, recent telemetry, configuration, and diagnostic metadata - giving our support engineers (and customers) the context they need to resolve issues quickly. * Logging System Performance - Reduce the I/O and compute overhead of our current logging infrastructure. The SDK's observability should be near-invisible to the host application's performance. * Rust SDK Ownership - Own feature development and customer support for our Rust SDK, including direct engagement with customers debugging production integration issues. ## Related Videos - [Get ready to Rustle](https://www.wearedevelopers.com/videos/698-get-ready-to-rustle) - [Kotlin Multiplatform - True power of native code reuse](https://www.wearedevelopers.com/videos/4-kotlin-multiplatform-true-power-of-native-code-reuse) - [Hacking iOS and Developing for Airbnb with Nicolas Haunold, Software Engineer at Airbnb](https://www.wearedevelopers.com/videos/100361-hacking-ios-and-developing-for-airbnb-with-nicolas-haunold-software-engineer-at-airbnb) - [Kubernetes and Microservices with Multi-Model Databases](https://www.wearedevelopers.com/videos/382-kubernetes-and-microservices-with-multi-model-databases) - [Building a Cross-Platform BLE Client with Kotlin Multiplatform and Kable](https://www.wearedevelopers.com/videos/100250-building-a-cross-platform-ble-client-with-kotlin-multiplatform-and-kable) - [Rust in the Real World: Adoption, Migration, and Tradeoffs](https://www.wearedevelopers.com/videos/100147-rust-in-the-real-world-adoption-migration-and-tradeoffs) ## Related Articles - [4 reasons why you should learn Rust in 2021 – and maybe even have fun doing it](https://www.wearedevelopers.com/magazine/35-4-reasons-why-you-should-learn-rust-in-2021-and-maybe-even-have-fun-doing-it) - [Top in-demand programming languages to learn in 2021](https://www.wearedevelopers.com/magazine/30-top-in-demand-programming-languages-to-learn-in-2021) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline) - [Dev Digest 131 - AI'm not sure about OSS](https://www.wearedevelopers.com/magazine/472-dev-digest-131-ai-m-not-sure-about-oss)