Software Engineer-SDKs at Ditto

We are redirecting you to the source. If you are not redirected in 3 seconds, please click here.

Software Engineer-SDKs at Ditto. Location Information: USA. About the role:. As a Kotlin Multiplatform Engineer on Ditto’s SDKs team, you will play a pivotal role in simplifying real-time data synchronization for developers across multiple platforms. You’ll leverage Kotlin’s shared code capabilities to craft elegant, high-performance SDK modules that run seamlessly on Android, iOS, web, IoT, and desktop. Working closely with product managers, designers, and backend engineers, you’ll translate user needs into intuitive APIs and robust libraries—all while navigating the low-level FFI layer to connect Kotlin with our Rust core.. From day one, you’ll own the full development lifecycle: architecting shared multiplatform modules, writing and refining FFI bindings for safe, efficient cross-language calls, authoring comprehensive automated tests, and streamlining CI/CD pipelines for reliable releases. You’ll partner directly with customers and support teams to diagnose integration issues, optimize performance on resource-constrained devices, and iterate quickly on feedback.. You’ll join a small, globally distributed group that values trust, clear communication, and continuous improvement. In our async-first culture, your written design docs and code reviews carry as much weight as face-to-face meetings, and occasional offsite gatherings bring us together to share learnings and strengthen our bond. If you’re passionate about pushing the boundaries of cross-platform development, mentoring teammates on best practices, and delivering world-class SDK experiences, this is the role for you.. As a Senior SDK Engineer, you will:. Own the Kotlin Multiplatform SDK roadmap . Drive the design, implementation, and ongoing maintenance of Ditto’s shared Kotlin Multiplatform libraries, ensuring they meet our high standards for reliability, performance, and developer ergonomics.. Craft idiomatic, platform-native APIs . Expose public interfaces that feel natural in each target environment—Android, iOS, web, and desktop—while maximizing shared-code reuse and minimizing platform-specific boilerplate.. Build and maintain FFI bridges . Implement safe, efficient Foreign-Function Interface bindings between Kotlin/Native and our Rust core, adhering to best practices for memory management, threading, and error handling.. Ensure cross-platform compatibility . Manage source sets, Gradle configurations, and platform quirks to deliver seamless SDK behavior across diverse architectures and operating systems.. Develop comprehensive test suites . Write and automate unit, integration, and end-to-end tests (including native interop scenarios) to continuously validate SDK functionality and guard against regressions.. Integrate with CI/CD pipelines . Collaborate with the Release and QA teams to embed your tests into our continuous integration workflows, monitor release quality, and iterate rapidly on customer feedback.. Partner with customer support . Triage and resolve customer-reported integration issues, debug edge-case failures in the field, and feed learnings back into product and engineering roadmaps.. Mentor and evangelize best practices . Share your expertise in Kotlin Multiplatform, FFI integration, and cross-platform testing techniques through design reviews, brown-bags, and one-on-one coaching to level up the entire SDKs team.. What you’ll need:. 4+ years of professional software development experience . Proven track record of delivering production-quality applications and libraries in a team setting.. Deep expertise in Kotlin Multiplatform . Hands-on experience configuring shared modules, source sets, and Gradle builds to target Android, iOS, desktop, and web.. Embedded database familiarity . Practical use of on-device storage solutions such as SQLite or SQLDelight, especially in synchronization scenarios.. Debugging and diagnostic chops . Ability to read native stack traces, interpret logs and memory dumps, and troubleshoot issues across distributed environments.. Test automation and CI/CD fluency . Experience designing and implementing unit, integration, and end-to-end tests, and integrating them into automated build and release pipelines.. Excellent communication skills . Strong written and verbal communication to thrive in an async-first, distributed team—drafting clear design docs, participating in code reviews, and coordinating with customers and stakeholders.. Nice to Haves:. Mobile networking and transport knowledge . Experience with REST, TCP/UDP, QUIC, Bluetooth Low Energy, and other mobile-device communication protocols.. Proven FFI integration skills . Solid background building and maintaining Foreign-Function Interface bridges—ideally between Kotlin/Native and Rust—to ensure safe, high-performance interop.