Intermediate Mobile Engineer
Job type: Full Time · Department: Technology · Work type: Hybrid
West Jakarta, Jakarta, Indonesia
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.
• 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
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
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
Small squads with genuine autonomy and genuine accountability. Docs and code review are in English.
Autofill from resume
Save time by uploading your resume. (Only PDF or DOCX format supported)