Senior Software Engineer, SDK React Native
Ditto
- Saint Paul, Illinois, United States
- Saint Paul, Illinois, United States
About
Own the React Native SDK.
Drive the design, implementation, and ongoing maintenance of Ditto's React Native SDK, ensuring it meets our high standards for reliability, performance, and developer ergonomics. Craft idiomatic APIs for React Native developers.
Expose public interfaces that feel natural—hooks, TypeScript types, familiar async patterns, and clear error handling—while abstracting away the complexity of native bridges and synchronization internals. Build and maintain native bridges.
Implement safe, efficient bindings between JavaScript and native code via JSI, TurboModules, or the classic bridge, handling threading, serialization, memory management, and error propagation. Debug across the full stack.
Trace issues from JavaScript through the React Native bridge, into native Android and iOS code, and potentially into our Rust core. You'll need to be equally comfortable in Chrome DevTools and Android Studio. Work with other SDK owners.
Work closely with the engineers who own our native Android, iOS, and Rust SDKs to ensure the React Native SDK stays in sync with platform capabilities and benefits from shared improvements. Develop comprehensive test suites.
Write and automate unit, integration, and end-to-end tests—including native interop scenarios and multi-device synchronization tests—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 React Native architecture and cross-platform SDK design through design reviews, documentation, and coaching to level up the team. What You'll Need
5+ years of professional mobile development experience
with a proven track record of delivering production-quality applications or libraries. Deep expertise in React Native internals.
Hands-on experience with the native bridge architecture, JSI, TurboModules, or Fabric. You understand how JavaScript communicates with native code and have debugged issues that span both worlds. Strong Android development experience.
You've built or maintained Android applications in Kotlin or Java. You can navigate Android Studio, read native stack traces, understand the Android lifecycle, and debug issues at the native layer. This isn't about owning our Android SDK—it's about being effective when React Native issues lead you into native Android code. Debugging and diagnostic expertise.
Ability to trace issues across the JavaScript-native boundary, read stack traces from multiple languages, interpret logs and memory profiles, and isolate problems in complex cross-platform systems. Test automation and CI/CD fluency.
Experience designing and implementing unit, integration, and end-to-end tests for mobile SDKs, 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
Native module development experience.
You've built custom native modules for React Native that bridge to platform-specific APIs or native libraries, handling threading, serialization, and lifecycle concerns. iOS development experience.
Familiarity with Swift or Objective-C and Xcode, enabling you to debug issues on both mobile platforms when they arise. FFI and JNI experience.
Background building and maintaining Foreign Function Interface bridges, particularly JNI bindings between Kotlin/Java and native code. Rust development experience.
Hands-on work writing, testing, and maintaining Rust codebases, with familiarity in Cargo workflows and idiomatic Rust patterns. Experience with SDK distribution.
Proven ability to publish packages to npm, including versioning, TypeScript declarations, changelog management, and migration guides. Track record of open-source contributions.
Demonstrated involvement in React Native or mobile SDK projects that showcases collaborative development and code quality. 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. In the UK, we offer private healthcare through Vitality, a pension plan, and region-specific coverage. For our team members elsewhere in the world, we work with our global employer platform to offer equitable benefits and coverage. 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. Equal Opportunity Employer
Ditto is proud to be an equal-opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristics. Ditto is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let us know.
#J-18808-Ljbffr
Languages
- English
Notice for Users
This job comes from a TieTalent partner platform. Click "Apply Now" to submit your application directly on their site.