Intermediate Mobile Engineer

Intermediate Mobile Engineer
Paper.id is a Bank Indonesia–licensed payment service provider. We run two production Flutter apps — the main Paper.id app and our wallet app — used by Indonesian businesses to invoice, pay and get paid. When our app is wrong, someone’s money is wrong.
What you’ll do
• Build and ship features across both apps, from design handoff through release, crash triage and the fix
• Own your features in production — Crashlytics, Performance and Analytics are yours to watch and act on
• Make payment flows survive real Indonesian mobile networks: retries, idempotency, and correct state when the response never arrives
• Extend our shared design system and reusable components rather than forking widgets per screen
• Work directly with Product, UI/UX and backend engineers on what gets built and how
What we’re looking for
Must have
• 3+ years building and shipping production mobile apps, with Flutter in production
• Strong Dart and BLoC. We run flutter_bloc with bloc_concurrency and get_it — Riverpod or Provider experience is fine if you’ll go deep on BLoC
• You’ve shipped to both App Store and Play Store: release cycles, store review, staged rollouts, and supporting the app versions already on people’s phones
• REST integration and a real grasp of retries, timeouts and idempotency on unreliable connections
• Automated tests as part of the work — widget and bloc-level, not manual QA only
• Ownership. You take a feature to done, chase down the crash that’s yours, and raise the problem you found rather than routing around it
Nice to have
• Familiarity beyond mobile — our Go services or the Angular web app. Enough to trace an issue across the API boundary and read the code on the other side rather than handing it off
• Payments or fintech — QRIS, virtual accounts, e-wallets, disbursement
• Enough native Android/iOS to debug platform channels, push (APNS/FCM) and permissions
• Design system or shared package work
• Mobile CI/CD and release automation
• Feature flagging / remote config
Our stack
Flutter (Dart 3.8) · Firebase — Crashlytics, Analytics, Performance, Remote Config, FCM · shared internal design system package
Around you: Go services over REST · Angular 19 + NgRx on web · MySQL, ArangoDB, Redis · GCP, Kubernetes
How we work
Small squads with genuine autonomy and genuine accountability. Docs and code review are in English.
You'll be redirected to
the company's application page