Interested? Click the button to apply.
Lead Software Engineer, Backend - Ads & Personalisation Singapore (OneNorth)
Get to know our Company:
When you're an engineer at Grab, you are part of the heart and soul of the company. Our passion is anchored in the work that we do, and this is reflected in the impact we make on millions of lives on a daily basis. Our team is empowered by creating amazing services and tools that serve millions of passengers, driving partners, and fellow grabbers.
Get to know the Team:
GrabAds allows Advertisers, Agencies, and Merchants to engage the Grab Audience via innovative online advertising experiences. Through our unique ecosystem and transacting user base, our clients are able to reach their desired audiences at scale, while driving measurable business outcomes.
We would want to invite talented and passionate engineers to join our journey, to create value for our users, drivers, merchants, and advertising partners, while continuing to make everyday lives better across Southeast Asia.
As part of the Ads Billing & Reporting team, you will have opportunities to work on multiple backend service clusters which deal with business critical functions such as billing and auto settlement of our Advertisers. You will also get to work on real time systems and data pipelines which are implemented in Scala and run using Spark. 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:
Design, implement, instrument, and deploy highly available services with tight SLAs, and champion for operational excellence across initiatives
Lead Collaboration with stakeholders across teams and roles, to identify and resolve ambiguous, multi dimensional business and product needs
Work with the team to explore and create new design / architectures geared towards scale and performance
Design, implement and deploy data pipelines implemented using Scala
Work closely with infrastructure team in building and scaling back-end services as well as performing root cause analysis investigations
Mentor junior engineers
Participate in interview loops to help Grab continue hiring top industry talent
The must haves:
A degree in Computer Science, Software Engineering, Information Technology or related fields
7+ years of experience in software engineering in a distributed systems environment
Strong Computer Science fundamentals in algorithms and data structures
Familiarity with running large scale web services; understanding of systems internals and networking are a plus
Strong understanding of system performance and scaling
Possess excellent communication, sharp analytical abilities with proven design skills, able to think critically of the current system in terms of growth and stability
You can be a good coder in any language (C++, C, Java, Scala, Rust, Haskell, OCaml, Erlang, Python, Ruby, PHP, Node.JS, C# etc.), but willing to work on Golang
Experience with big data technologies like Spark, Presto, streaming systems like Flink and databases like Druid, ScyllaDB is a strong plus
Our core services tech stack consists of Golang with Redis, MySQL, DynamoDB, Elasticsearch data stores as well as HAProxy load balancers. They all run on the AWS cloud infrastructure with auto-scaling abilities. For data processing we use Apache Spark.
We use GitHub for our code repository and we adhere to the basic Continuous Delivery tenets utilizing a host of tools to support our release pipeline and code quality. These include Travis CI, New Relic, PullReview, Code Climate, Papertrail, Gemnasium, JFrog and Jenkins.