Software Engineer, Expo/Flutter
ClerkFull Time
Senior (5 to 8 years), Expert & Leadership (9+ years)
Candidates must have at least 3 years of experience building production software with a proven track record of shipping reliable code in a team setting. Fluency in Dart and comfort designing idiomatic, null-safe APIs are essential, along with hands-on Dart FFI experience for building bridges to native code. A strong testing discipline including unit, integration, and CI pipelines is required, as is familiarity with CI/CD tools like GitHub Actions or CircleCI. Clear and concise communication, particularly in async written form, is also necessary. Nice-to-have qualifications include experience building or maintaining SDKs, libraries, or developer tools in Rust or other languages, familiarity with Kotlin, JavaScript/TypeScript, or Swift, background in peer-to-peer or real-time synchronization systems, and prior work with performance profiling or memory-constrained environments.
The Staff Software Engineer will set the technical vision and drive the end-to-end delivery of Ditto's Flutter package, empowering developers to synchronize data in real-time across multiple platforms. This includes designing idiomatic Dart APIs, architecting cross-platform plugin modules, and building reliable bridges between Dart and Ditto's native core using Dart FFI and platform channels. The engineer will own architecture decisions, performance profiling, and release automation, while also mentoring other engineers and shaping best practices within the mobile organization. Responsibilities also include collaborating with product, design, and backend teams to translate developer-experience goals into intuitive APIs and high-performance code, diagnosing integration issues with customers and support engineers, optimizing for battery, memory, and start-up time, and iterating rapidly based on feedback. The role involves crafting clear design documents, conducting thorough code reviews, championing rigorous testing and observability, and fostering a culture of collaboration and continuous improvement. Specific duties include implementing and enhancing Flutter SDK features, delivering scoped ticket work such as adding new API methods or fixing defects, writing unit and integration tests, owning quality from test to release, participating in code reviews, collaborating cross-functionally with product, QA, and support teams, producing and maintaining documentation like README updates and code examples, and communicating progress and blockers proactively.
Simplifies multi-platform app development and synchronization
Ditto.live simplifies the development of native applications for various platforms, including iOS, macOS, Android, and web. Its main product, the Edge Sync Platform, addresses the challenge of data synchronization by allowing developers to manage data that is distributed across multiple devices and cloud infrastructures. This platform enables developers to write their code once and deploy it across different platforms, which saves time and reduces effort in the app development process. Unlike many competitors, Ditto focuses on providing a seamless experience for developers by offering features like peer-to-peer authentication and offline syncing. The company's goal is to enhance the efficiency of app development and improve user experiences by enabling the creation of interconnected applications.