Senior Software Engineer, Mobile (Flutter), Merchant Experience


Jakarta, Indonesia


Platforms & eCommerce / Software Development

Sep 3

Job Description:

Get to know our Team:

At Merchant Experience (Mex) our goal is to make merchants happy, and help them thrive in their business. We support all merchants, between tiny merchants (like a warung or hawker) and big, international franchises. Merchants have a lot of different businesses: restaurants, supermarkets, fashion, online stores, people who sell on social media, and many more. We level the playing field between tiny merchants and big merchants by giving them the same tools to grow their business, to attract customers, to become more efficient and be able to concentrate on what they do best inside one GrabMerchant Super App and Portal. If you go to a restaurant, chances are high you have seen some of the products of our team already.

We have millions of very different merchant end-users who earn money in Southeast Asia that use our tools: cashiers, store owners, managers, merchant back office for marketing, and reporting. Stability, quality and innovation to engage more customers are the most important qualities for them running their business. Our tools collect and analyze billions of transactions every month that lead to merchant insights on how they can improve their business.

We are a distributed team with two thirds in Indonesia, and third in Singapore. Our communication is in English, both in spoken and written form. Our team has direct end-user contact, and impact on the bottom line for merchants and thus, Grab

Get to know the Role:

We are seeking talented & passionate Engineers to join our team, you will have opportunities to work on multiple backend services as well as participating in merchant immersions, talking directly to the end-users, identifying their challenges and how we can help them in their work life. It is very important that our team members take initiatives to identify problems, and have the right mindset and skill sets to solve them.

The day-to-day activities:

You are a significant and autonomous contributor to your team who is trusted with designing, creating, delivering, and operating your team’s software systems in a consistently high quality manner. When working on the systems within your team’s domain, you take into account the appropriate architectural patterns, code design, and infrastructure options, ensuring that you deliver a system that is secure, reliable, maintainable, extensible and very well tested. Beyond delivery to the production system, engineers will be responsible for post deployment monitoring as well. Senior engineers will also look for opportunities to improve processes within one’s own team.

In addition to being trusted to operate independently, you also maintain a good partnership with your technical and non-technical stakeholders for projects that you are involved in. You take an active role in your projects as a team member involved in product design to rollout, taking ownership of your work and constantly focusing on moving these projects forward.

Being an experienced team member, you are also expected to continuously help the team grow and improve either by mentoring new or junior members of your team or by introducing and adopting process improvements.

The must haves:

  • Understanding of programming paradigms such as OOP, TDD, reactive programming and dependency injection.
  • Working knowledge of several architectural approaches including clean architecture like MVVM or VIPER.
  • Experience in writing maintainable and testable code, including API design, unit testing and UI testing techniques.
  • Highly accountable and takes ownership of one’s own work.
  • Eager to learn, to take more responsibility and create impact on millions of users.
  • For senior software engineer:
  • 4+ years of professional mobile software development experience
  • Experience owning an end-to-end feature
  • Experience running large scale applications and global understanding of systems internals and tools like crash analytics, remote debugging and continuous integration.
  • Possess excellent communication, sharp analytical abilities with proven design skills, able to think critically of the current system in terms of growth and stability
  • Deep understanding about the CI/CD implementation

Tech Stacks

Our core services use Golang, Redis, MySQL, DynamoDB, Elasticsearch, Scylla. They all run on the AWS cloud infrastructure with auto-scaling abilities.

Our Merchant mobile super app is exclusively written in Flutter, and only uses native when needed, e.g. for code that is closer to hardware like printer drivers for merchants. Our portal is built on Golang and React. The system design of app and portal supports hundreds of software engineers collaborating without creating unnecessary dependencies.

Our Commitment

We are committed to building diverse teams and creating an inclusive workplace that enables all Grabbers to perform at their best, regardless of nationality, ethnicity, religion, age, gender identity or sexual orientation and other attributes that make each Grabber unique.

About Grab

Grab is the leading superapp platform in Southeast Asia, providing everyday services that matter to consumers. Today, the Grab app has been downloaded onto millions of mobile devices, giving users access to over 9 million drivers, merchants, and agents. Grab offers a wide range of on-demand services in the region, including mobility, food, package and grocery delivery services, mobile payments, and financial services across 428 cities in eight countries.

Apply Back to job

You must be logged in to to apply to this job.


Your application has been successfully submitted.

Please fix the errors below and resubmit.

Something went wrong. Please try again later or contact us.

Personal Information


View resume



Drive Southeast Asia Forward with us