6–10 years of software engineering experience, with 4+ years building production Flutter applications
Demonstrated experience owning significant features or modules end-to-end, not just contributing to them
Track record of improving a codebase — reducing crashes, paying down tech debt, or introducing standards others adopted
Experience working in product-driven or startup environments with evolving requirements
Strong proficiency in Dart and Flutter with production-grade apps shipped to both iOS and Android
Deep, hands-on experience with at least one state management approach at scale (Bloc/Cubit, Riverpod, or equivalent) — and a clear view on the trade-offs between them
Solid understanding of the Flutter rendering pipeline: widget rebuilds, keys, isolates, and diagnosing jank with DevTools
Experience writing platform channels or integrating native SDKs, with working knowledge of Swift/Kotlin when the problem demands it
Experience with RESTful API integration, serialisation, error handling, and offline/caching strategies
Practical experience with automated testing in Flutter (unit, widget, and integration/golden tests) and mobile CI/CD (Codemagic, Fastlane, GitHub Actions, or equivalent)
Hands-on experience with production monitoring, crash reporting, and analytics (Crashlytics, Sentry, Datadog RUM, or equivalent) — using the data to prioritise fixes and decide what stays
Solid grasp of mobile security: secure storage, certificate pinning, token handling, and protecting personal data on device
Collaboration Skills
Ability to review and shape API contracts with backend engineers before implementation begins
Strong written communication across distributed, cross-functional teams — your technical decisions should be legible to both Product and Engineering
Ability to work with Design to surface implementation constraints early — not after a feature has been built the wrong way
Ability to work with QA on test strategy and edge cases before release, not only when fixing reported bugs
Willingness to mentor — reviewing code to teach, not just to approve
Nice to Have
High-transaction consumer apps in F&B, e-commerce, logistics, or similar (ordering, loyalty, delivery), including payment gateway integration and payment flows (3DS, redirects, failure/retry states)
Experience building apps that support multiple regions: localisation, currencies, region-specific configuration and feature availability
Experience with offline-first architectures or complex local/remote sync patterns
Experience shipping features behind feature flags or A/B tests
Experience with super app patterns, modular Flutter packages, or add-to-app integration
Experience building custom native modules beyond basic platform channels (e.g. WidgetKit, CoreLocation, Live Activities on iOS; custom Android SDKs or background services)
Effective use of AI-assisted development tools, with the judgement to review and own what they produce
岗位职责
Position Responsibilities
Feature development and implementation on the Flutter app, from requirements through production on both App Store and Play Store
Architecture decisions within the Flutter layer: module boundaries, state management, navigation, and data flow
Integration with backend APIs — including shaping contracts with backend engineers before implementation begins
UI implementation in Flutter, translating design intent into performant, accessible, platform-appropriate interfaces
Platform integration where Flutter alone is not enough: platform channels, native SDKs, and plugin maintenance
App performance and reliability: crash-free rate, frame rendering (jank), startup time, memory and battery efficiency
Release health across both stores: signing, build flavours, environment management, TestFlight and Play Console tracks, staged rollouts, and hotfixes
Production incident ownership: leading diagnosis of crashes, ANRs, and defects through root cause analysis to lasting fixes, not just patches
Continuous improvement of the codebase: refactoring, modernising legacy modules, and paying down tech debt as part of regular delivery, not as a separate project
Code review, technical mentoring of mid-level engineers, and contribution to Flutter engineering standards