About the job Senior Mobile Engineer (Flutter)
Organization Description
Our client is a Government of Bangladesh institution.
About the Role
Our client is looking for a Senior Mobile Engineer (Flutter) to take full ownership of the mobile application layer of a large-scale, mission-critical ERP platform. This is a deeply hands-on senior role for an engineer who has already built, shipped, and maintained production Flutter applications, and who knows from direct experience where Flutter projects go wrong.
The engagement opens with an intensive initial delivery phase covering two mobile applications, working from detailed requirements, API contracts, and UI/UX designs prepared in advance of your joining. Beyond that phase, you will retain long-term ownership of the mobile platform, including enhancement, hardening, and maintenance throughout the contract term. You will report directly to the Technical Project Manager and work alongside a team of ten engineers spanning backend, frontend, QA, and UI/UX.
Our client is not looking for someone who simply assembles widgets against a design file. Instead, our client is seeking an engineer with well-formed, defensible opinions on application architecture, state management, and offline data strategy—someone who can establish mobile codebase standards, advocate for them during code reviews, and ensure the application remains fast, predictable, and stable as it evolves. If you have spent years learning which Flutter decisions become expensive eighteen months later, this role is built for you.
Key Responsibilities
- Own the mobile applications end-to-end, from architecture and implementation through testing, release engineering, and post-release support.
- Define and enforce the mobile application architecture, including layering, module and feature boundaries, dependency direction, and clean separation of presentation, domain, and data concerns.
- Select, document, and standardize the state management approach across the codebase, and ensure it is applied consistently rather than mixed ad hoc.
- Design and implement offline-first data handling, local persistence, and synchronization with backend services, including conflict resolution, retry and backoff strategies, and recovery from partial sync failures.
- Integrate with .NET-based RESTful APIs, covering authentication, token lifecycle and refresh, structured error handling, and secure local storage of sensitive data.
- Establish and maintain the mobile testing strategy across unit, widget, golden, and integration tests, with meaningful coverage on business-critical paths.
- Profile and optimize application performance, including widget rebuild behavior, memory footprint, large-list rendering, cold start time, and network and battery efficiency.
- Set up and maintain mobile build and release pipelines, including versioning, build flavors, code signing, artefact management, and release documentation.
- Review all mobile contributions, establish and uphold coding standards, and mentor other engineers who work in the mobile codebase.
- Translate UI/UX designs into accurate, responsive, and accessible interfaces across a wide range of device sizes, screen densities, and OS versions.
- Collaborate with backend engineers on API contract design, ensuring endpoints and payloads are shaped for mobile constraints rather than mirroring web requirements.
- Participate in Agile ceremonies, provide realistic estimates, and manage work transparently in JIRA.
- Document architecture decisions, build and release procedures, and known constraints so the codebase remains maintainable beyond your tenure.
Skills & Qualifications
- 6+ years of professional mobile application development experience, including 4+ years working substantively with Flutter and Dart.
- At least two production Flutter applications shipped and maintained in a live environment, with demonstrable ownership from architecture through release. Be prepared to walk through them in detail.
- Deep, practical command of Dart, including async/await, Futures, Streams, isolates, sound null safety, generics, and extension methods.
- Expert understanding of how Flutter actually renders, including the widget, element, and render trees, the build and rebuild lifecycle, the correct use of keys, and the common causes of unnecessary rebuilds and dropped frames.
- Proven expertise in at least one mature state management approach, such as BLoC/Cubit, Riverpod, or Provider, with a clearly reasoned rationale for the choice and a candid understanding of its trade-offs and failure modes.
- Strong grasp of mobile application architecture patterns, including Clean Architecture, feature-first or layered project structuring, the repository pattern, and dependency injection.
- Hands-on experience with offline-first design and local persistence using SQLite/Drift, Isar, Hive, or equivalent, including schema migration and data synchronization.
- Solid experience consuming RESTful APIs using Dio or http, including interceptors, retry and backoff, pagination, response caching, and robust error handling.
- Practical knowledge of mobile security, covering secure storage, certificate handling, code obfuscation, biometric authentication, and protection of data at rest and in transit.
- Demonstrated discipline in automated testing for Flutter, spanning unit, widget, golden, and integration tests.
- Competence in platform channels and native integration with Android/Kotlin and iOS/Swift for cases where Flutter alone is insufficient.
- Working knowledge of mobile build and release engineering, including Gradle configuration, build flavors, application size optimization, code signing, and CI/CD for mobile.
- Ability to diagnose and resolve production issues using profiling and observability tooling such as Flutter DevTools, crash reporting, and performance monitoring.
- A working awareness of Flutter's common pitfalls and anti-patterns, and the judgment to avoid them before they become technical debt.
- Familiarity with Git, disciplined branching strategies, and JIRA.
- Excellent communication skills, with the ability to work effectively alongside backend, QA, and UI/UX colleagues and to explain technical trade-offs to non-mobile engineers.
- Familiarity with Agile or Scrum methodologies is mandatory.
- Experience with localisation and multi-language support, including Bangla, is nice to have.
- Prior involvement in enterprise, ERP, or government-scale applications is nice to have.
- Experience with enterprise or internal application distribution outside the public app stores, including MDM and private distribution channels, is nice to have.
- Exposure to backend development in .NET and to PostgreSQL data models is nice to have.
- Experience contributing to Flutter open-source packages or the wider community is nice to have.
Employment Structure
- On-site in Dhaka | Full-time & Contractual
- Salary: BDT 110,000 - 130,000
- Benefits: 3 Festival bonuses
- Work Week: Sunday-Thursday, 9:00 AM-6:00 PM
Hiring Process
- Screening interview with Talvette
- Online technical test
- On-site interview with the Technical Director
- On-site interview with the management team
- Receive a conditional offer
- Reference and background check
- Receive formal offer
- Join their team full-time