Job Description
About the Role We're looking for a Flutter Developer with strong experience in state management using BLoC with Freezed and a solid grasp of Domain-Driven Design.
You'll build high-quality, maintainable, and testable mobile apps with offline capabilities using Hive and SharedPreferences.
You will collaborate with product, design, and backend teams to ship features quickly and reliably.
What You'll Do Build and maintain Flutter applications using BLoC for state management and Freezed for immutable data and sealed unions.
Apply Domain-Driven Design (DDD) and Clean Architecture to structure features (domain/use-cases/entities, data/repositories, presentation).
Implement offline-first flows, local caching, and preferences with Hive and SharedPreferences (migrations, schema/versioning, sync strategies).
Integrate RESTful APIs (dio/ handle auth, error/retry strategies, and robust serialization with Freezed + json_serializable.
Write unit, widget, and integration tests (bloc_test/mocktail), maintain high code coverage, and automate via CI/CD.
Optimize performance (rendering, memory, jank), profile with DevTools, and ensure accessibility and responsive UI.
Collaborate through code reviews, RFCs, and documentation;
contribute to release pipelines for App Store/Play.
Monitor health in production (Crashlytics/Sentry), instrument analytics, and iterate based on telemetry.
Must-Have Qualifications (Essential) 2–4 years of professional Flutter/Dart development experience.
Strong hands-on experience with BLoC (flutter_bloc) and Freezed (union types, copyWith, equality).
Practical DDD/Clean Architecture experience (layered modules, use cases, repositories, value objects, entities).
Local persistence with Hive (adapters, migrations, type safety) and SharedPreferences for lightweight settings.
API integration with dio/http;
code generation with build_runner, Freezed, and json_serializable.
Testing: unit/widget/integration, bloc_test, mocktail;
familiarity with Goldentests a plus.
Git proficiency (branching, PRs, reviews) and CI/CD exposure (GitHub Actions/Codemagic/Bitrise).
Store release experience (signing, Fastlane or equivalent, submission process).
Solid understanding of SOLID principles, asynchronous programming, Streams/Futures, isolates.
Clear communication, ownership mindset, and ability to work in an agile environment.