Intermediate Mobile Engineer

Job type: Full Time · Department: Technology · Work type: Hybrid

West Jakarta, Jakarta, Indonesia

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.

Made with