Live opening · Posted 11 days ago
At a glance
The key details from the original listing.
Your early-applicant advantage
Live timing from JobBeeper.
About the role
Description supplied by the original job listing.
We're looking for someone who thrives in a fast-paced environment and is comfortable navigating ambiguity. You won't just be writing code; you will be architecting systems. Ideally, you are someone who can take a vague problem statement, convert it into technical requirements, and build a scalable solution from the ground up.
Responsibilities:
App Architecture and State Management: Design and build scalable Flutter apps using GetX for state management, routing, and dependency injection. Set conventions for package structure, controllers, bindings, and services that the rest of the team can follow without friction.
Test-Driven Development: Write code with TDD as a default. Build a strong base of unit tests, widget tests, and integration tests so we ship fast without breaking what already works. We believe tests are a pillar of shipping fast in the right manner.
Performance and Memory: Use the Flutter DevTools profiler to hunt down jank, rebuild issues, and memory leaks. Understand how the Dart VM manages memory, how image caches behave, how ListView.builder differs from a naive list and other performance pitfalls. Keep the app smooth on entry-level Android devices, not just flagship phones.
Audio and Video Playback: Own the playback layer, background audio, lockscreen controls, video players, buffering, caching, and resuming.
Payments: Integrate and maintain payment gateway flows (Razorpay/Cashfree). Handle payment idempotency, retries and failure recovery so we never double-charge a user or lose a successful payment to a flaky network.
Notifications and Networking: Set up push notifications (FCM), handle foreground/background/terminated states, deep links, and notification routing. Build clean API interceptors for auth tokens, refresh flows, retries, error normalisation, and request/response logging.
Feature Flags and Remote Config: Use Firebase Remote Config and feature flags to ship new features with gradual rollouts, kill-switch broken features, and A/B test product hypotheses without a forced app update.
End-to-End Ownership: Debug across the stack, work with backend engineers on API contracts, and translate basic requirements into shipped features with minimal hand-holding. Crash triage via Crashlytics, and post-release monitoring.
Lead: Guide junior and mid-level Flutter engineers, review PRs with intent, and help the team grow and execute faster.
Requirements:
Core Stack: Strong proficiency in Flutter and Dart, with 3+ years of production Flutter experience.
State Management: Deep, hands-on experience with GetX controllers, bindings, reactive state, routing, and dependency injection.
Testing: Strong practice of TDD, unit tests, widget tests, and integration tests. You've used Mockito/Mocktail, Flutter tests, and integration tests in production codebases.
Performance: Hands-on with the Flutter DevTools profiler, timeline view, memory view, and CPU profiler. You can read a flame chart and explain why a frame dropped.
Memory Management: Solid understanding of Dart's memory model, GC behaviour, image caching, stream disposal, and common leak patterns in Flutter.
Audio/Video: Production experience with just_audio, audio_service, media_kit, or equivalent. Comfortable with background playback, media notifications, and HLS streaming.
Payments: Shipped at least one app with a real payment gateway integration. Understand idempotency keys, retry semantics, and reconciliation.
Firebase: Comfortable with FCM, Remote Config, Crashlytics, Analytics, and OTP-based authentications.
Networking: Solid command of DIO or HTTP, request interceptors, token refresh, retry logic, and caching.
Release Engineering: Shipped apps to both Play Store and App Store. You know signing configs, provisioning profiles, App Store Connect, and staged rollouts.
Tools: Git, Firebase CLI, and standard CI/CD workflows (GitHub Actions).
Nice to Have:
Experience with native Android (Kotlin) or iOS (Swift) for writing platform channels when Flutter falls short.
Previous experience in a high-growth product-based startup and having seen its journey.
Ability to incorporate AI tools into daily engineering workflows to drive efficiency and deliver higher quality outcomes.
Experience with Supabase.
Familiarity with CI/CD setup for Flutter.
Experience
4-6 yrs
More openings worth a look
Recently tracked roles with full details and direct application links.