Caizin
Website:
caizin.com
Job details:
As a senior Flutter developer, you will lead the design, development, and evolution of our cross-platform (iOS & Android) inventory auditing mobile app using Flutter. You will tackle complex challenges in UI/UX, offline-first data handling, synchronisation with backend services, on-device processing, and edge-case robustness for field usage. As a senior contributor, you will set engineering standards, mentor team members, drive architectural decisions, and ensure the app remains performant, secure, and maintainable.
Responsibilities
- Design, develop, and maintain high-quality cross-platform mobile features using Flutter and Dart for seamless iOS and Android experiences.
- Architect and optimise local relational data models (e. g., using SQLite or similar) for efficient storage, querying, and offline-first reliability.
- Implement robust data synchronisation workflows between the mobile app and backend services via RESTful APIs, handling conflicts, retries, and partial syncs.
- Integrate and maintain JavaScript-based processing modules for on-device business logic and computations.
- Participate in architectural discussions for new features, performance improvements, scalability, and long-term codebase health.
- Write clean, testable, maintainable code following best practices, state management patterns (e. g., Bloc, Provider, Riverpod), and mobile architecture standards.
- Develop comprehensive unit/integration tests and contribute to automated testing strategies across the mobile pipeline.
- Collaborate closely with product managers, designers, backend engineers, and QA to deliver polished, end-to-end features.
- Debug and resolve complex production issues, edge cases, and field-reported problems with reliable, long-term fixes.
- Work with CI/CD pipelines (GitLab CI, GitHub Actions, Fastlane, Codemagic, etc. ) for automated builds, testing, and app store deployments.
- Document technical designs, patterns, decisions, and workflows for team knowledge sharing.
- Mentor junior developers through code reviews, pair programming, and sharing best practices in mobile engineering.
Requirements
- 8+ years of professional software development, with 5+ years focused on mobile app development.
- Strong expertise in Flutter and Dart for building production-grade cross-platform applications (published apps on App Store/Google Play preferred).
- Hands-on experience with local mobile data storage, relational models (e. g., SQLite, Hive, and Drift), and offline-first / offline-ready patterns.
- Proven experience integrating with backend services, consuming and designing RESTful APIs, and handling authentication/sync logic.
- Familiarity with embedding and executing JavaScript in mobile apps (e. g., via Flutter.js, webview, or custom bridges).
- Deep understanding of mobile state management and architecture patterns (Bloc, Provider, Riverpod, Redux, MVVM, etc. ).
- Experience setting up and using CI/CD pipelines for mobile (build automation, testing, deployment to stores).
- Proficiency in writing unit/widget/integration tests and promoting testing culture.
- Strong debugging, performance optimisation, and problem-solving skills for mobile-specific challenges.
- Excellent communication skills and proven ability to collaborate in cross-functional teams.
Good To Have
- Hands-on experience with SQLite (or equivalents like Drift, sqflite) in production mobile apps.
- Deep knowledge of offline-first strategies, conflict resolution, and background sync mechanisms.
- Familiarity with push notifications (Firebase Cloud Messaging), background processing (WorkManager/Background Fetch), and mobile security (encryption, secure storage, app hardening).
- Experience optimising mobile performance (memory, battery, UI rendering) and using advanced debugging tools (Flutter DevTools, Android Profiler, Instruments).
- Contributions to shared component libraries, design systems, or modular/monorepo mobile codebases.
This job was posted by Kashmira Burande from Caizin.
Click on Apply to know more.