About This Role
This Flutter Developer role at CUBE84 involves building and shipping Flutter applications for both Android and iOS platforms. The position requires a developer who can translate Figma designs into robust layouts, handle API integrations, and ensure app usability even with weak signals. The ideal candidate will also be responsible for the entire release process and contribute to team improvement through code reviews and mentorship.
Responsibilities
- Build and ship Flutter apps for Android and iOS
- Turn Figma designs into layouts that work on various screen sizes and text scales
- Write low-level designs for features, keeping network code out of the UI and using a clean repository layer
- Integrate REST APIs and handle authentication and token refresh
- Design error, empty, and loading states for applications
- Connect to Salesforce through REST APIs and OAuth 2.0 for some projects
- Handle local storage, caching, and offline behavior to ensure app usability on patchy networks
- Set up and maintain builds, signing, flavors, and releases to the Play Console and App Store Connect
- Read, fix, and resubmit apps after rejection from App Store review
- Use Flutter DevTools to find and fix jank, extra rebuilds, and memory leaks
- Write unit, widget, and integration tests
- Review pull requests and mentor junior developers
- Estimate own work and raise risks early
- Work with QA, project managers, and clients through UAT and release
Requirements
- 3 to 5 years of professional mobile development experience, with at least 2 years hands-on in Flutter and Dart
- Strong knowledge of Dart 3: sound null safety, futures and streams, async and await, error handling, and when to move work to an isolate
- Understanding of the widget tree: stateless versus stateful, the widget lifecycle, keys, const constructors, and what actually triggers a rebuild
- Ability to work through tricky layouts with Row, Column, Flex, Stack, slivers, and constraints, and debug overflow or unbounded height errors
- Experience with one state management approach (Bloc or Cubit, Riverpod, or Provider) in production, and ability to explain the choice
- Proficiency in handling navigation with go_router or Navigator 2.0, including nested routes, guards, and deep links
- Ability to build API layers with dio or http, handle JSON with json_serializable or freezed, and use a repository pattern
- Experience using Hive, Isar, sqflite, or shared_preferences for local data, and secure storage for tokens
- Production experience with Firebase: Auth, Cloud Messaging, Crashlytics, and Analytics
- Ability to write platform channels, and sufficient Kotlin or Swift knowledge to read native code and wire up a plugin