GreyOrange
As a Senior Mobile Engineer, you will lead the design, architecture, and development of our enterprise Flutter applications that power day-to-day retail operations, including RFID inventory management, replenishment, omnichannel fulfilment, cycle counts, receiving, stock transfers, and associate productivity.
Unlike consumer mobile applications, gStore operates in demanding enterprise environments where reliability, performance, and scalability are critical. You'll solve complex engineering challenges involving hardware integration, real-time synchronisation, offline workflows, and large-scale deployments while helping define the future architecture of our mobile platform. This role is ideal for engineers who enjoy solving difficult technical problems, take ownership end-to-end, and want to build products that have a measurable impact on global retailers.
Responsibilities:
- Design, develop, and maintain enterprise-grade mobile applications using Flutter and Dart.
- Define scalable mobile architecture using Clean Architecture, SOLID principles, and modern state management patterns.
- Build reusable frameworks and components used across multiple applications.
- Develop intuitive, responsive user experiences optimised for rugged handheld devices and tablets.
- Integrate with RFID readers, barcode scanners, Bluetooth peripherals, mobile printers, cameras, and native platform SDKs.
- Design robust offline-first synchronisation strategies that gracefully handle intermittent connectivity.
- Partner with backend engineers to define scalable APIs and efficient synchronisation protocols.
- Optimise application startup time, memory usage, battery consumption, and overall responsiveness.
- Troubleshoot complex production issues involving hardware communication, networking, concurrency, and performance.
- Write high-quality, maintainable, and well-tested code using unit, widget, and integration testing.
- Participate in architecture reviews, technical design discussions, and code reviews.
- Mentor engineers and help establish engineering best practices across the mobile organisation.
- Work closely with Product Management, UX, QA, and Customer Success to deliver customer- facing capabilities.
Requirements:
- 8+ years of professional software engineering experience.
- 4+ years building and shipping production Flutter applications.
- Expert knowledge of Flutter and Dart.
- Strong understanding of Flutter internals, asynchronous programming, isolates, streams, and application lifecycle.
- Experience building large-scale enterprises or B2B mobile applications.
- Strong experience with Clean Architecture and modular application design.
- Experience with state management frameworks such as Riverpod, Bloc, or Provider.
- Experience integrating REST APIs, GraphQL, WebSockets, and real-time data streams.
- Experience implementing offline-first applications using local persistence technologies such as Hive, Isar, SQLite, or Realm.
- Experience integrating native Android and iOS functionality using Platform Channels.
- Excellent debugging, profiling, and performance optimisation skills.
- Experience working within Agile software development teams.
- Strong written and verbal communication skills.
