Senior Software Engineer, Fullstack - Customer Data Platform

  • Full-time

Company Description

About Grab and our workplace

Grab is Southeast Asia’s leading superapp. We are dedicated to improving the lives of millions of users across the region by providing them everyday services such as deliveries, mobility, financial services, enterprise services and others. More than that, we provide the opportunity for them to have a better life. And that aspiration starts inside Grab because we believe in a seamless blend of work and home life, making every aspect of life better for all.

Guided by The Grab Way, which spells out our mission, how we believe we can achieve it, and our operating principles—the 4Hs: Heart, Hunger, Honour and Humility—we work to create economic empowerment for the people of Southeast Asia. With our unwavering commitment to our values, we believe that we're more than a service provider; we're agents of positive change.

Job Description

Get to know the Role:

As an engineer on the Customer Data Platform at Grab, you will be helping serve our mission to power personalization efforts by building a marketplace of customer attributes to enable audience creation and user grouping across all lines of business, whether in relation to passengers, driver partners, or merchants. Our customers span across teams and products, including marketing, ads, rewards, driver incentives, personalization, etc. You will work closely with a cross functional team of engineers on service and event driven architectures spanning real-time, batch, as well as offline workloads.

We are looking for a strong Full Stack Engineer who is proficient in both back end and front end development. 

The day-to-day activities:

  • Design, build, rollout, and operate cutting edge backend services built primarily in Go that service high throughput (thousands of QPS) with low latencies (in the order of a few milliseconds)
  • Own critical, reliable services with low downtime budgets and a strong emphasis on operational excellence, i.e. availability, scalability, maintainability, including
  • Service capacity and demand planning
  • Root cause analysis
  • Tuning and optimization
  • Incident management
  • Work in a cross functional team of SREs, backend engineers, and frontend engineers to design scalable, efficient, and performant engineering platforms
  • Design, build, rollout, and operate large scale data processing pipelines
  • Participate in code and design reviews with the team, for software run as realtime services (primarily Go based), in event driven architectures (using streaming / queueing), or as batch workloads (e.g. using Spark)
  • Collaborate with product and experience teams to define and prototype feature specifications

Qualifications

The must haves:

  • A degree in Computer Science, Software Engineering, Information Technology or related fields and/or a demonstration of strong computer science fundamentals
  • 4+ years of experience in software engineering in a distributed systems environment. Some experience in Frontend.
  • Familiarity with running large scale web services; understanding system internals and networking are a plus
  • Strong understanding of system performance and scaling
  • Excellent communication, sharp analytical abilities, and the ability to think critically of the current system in terms of growth and stability
  • You can be a good coder in any language (Go, C++, C, Java, Scala, Rust, Haskell, OCaml, Erlang, Python, Ruby, PHP, Node.JS, C# etc.), but willing to work on our tech stack

Tech Stack

The Customer Data Platform team uses Go for backend services, Kafka as an event log, Spark as a batch processing stack, ScyllaDB, DynamoDB, and RDS MySQL for data persistence, with a Redis for cache and Elasticsearch for full text search for segments. The frontend stack is built with Javascript using React. Our SDLC involves working with Terraform, GitLab, Jenkins, and a range of other internal tools, and operations involve working with AWS, Kibana, Datadog, and potentially Kubernetes.

Privacy Policy