Loading…
Grab Vietnam Careers Week
GrabGrab Engineering
Summary
Grab announced its first Grab Vietnam Careers Week, held in Ho Chi Minh City from 22 to 26 October 2016, aimed at hiring engineers to improve regional transportation and reduce congestion. At the time, Grab operated on 23 million mobile devices supported by 460,000 drivers across Southeast Asia. The announcement features an interview with Singapore-based iOS engineer Hai Pham and Android engineer Son Nguyen discussing team culture, regular hackathons termed "Grabathons", and relocation to Singapore. Technical candidates undergo a Codility test and are evaluated on clean mobile architecture, testing, and performance maintenance. The engineers also offer advice on apartment hunting through online community forums and adapting to life in Singapore.
Context
Grab is expanding its engineering ranks to support mobility services operating across 23 million mobile devices and 460,000 drivers in Southeast Asia.
Approach / What changed
Grab is hosting an in-person hiring event in Ho Chi Minh City from 22 to 26 October 2016, where Singapore R&D centre mobile engineers conduct interviews and screen candidates through Codility tests.
Takeaways
- Mobile engineering applicants must pass a Codility test and demonstrate skills in clean architecture, testing, and performance maintenance.
- Grab runs regular internal company hackathons named 'Grabathons' to iterate on and improve apps and services.
- The engineering team at the Singapore R&D centre supports mobile operations spanning 23 million devices and 460,000 drivers across Southeast Asia.
Related reading
Grab ·
Battling with Tech Giants for the World's Best Talent
Grab maintains research and development centres across Singapore, Seattle, and Beijing to develop mobility and transaction platforms for Southeast Asia. Engineer Brandon Gao turned down an offer from a major Seattle-based technology corporation to remain at the company due to rapid growth and high engineering impact. During backend infrastructure changes starting in May 2015, Grab transitioned core services from Node.js and Ruby to Golang. A weekend Golang prototype created by Gao evolved into the primary data service linking backend servers to 580,000 drivers across the region. Additionally, his initial work on the User Trust team established a machine-learning risk and fraud detection system supporting large-scale mobile transaction volumes.
Grab EngineeringGrab ·
How We Cut GrabFood.com’s Page JavaScript Asset Sizes by 3x
GrabFood.com faced high cloud costs while serving over 1 TB of weekly network egress across 175 million requests. To minimize egress and improve page performance, the engineering team audited and reduced their webpack dependencies using tools such as webpack-bundle-analyzer and dependency-cruiser. Their strategies included lazy loading rarely used libraries, unifying duplicate modules under single entry points, and substituting utility libraries like axios with native browser Web APIs. Additionally, altering implementation approaches, such as replacing client-side signed JWT cookie encoding with plain JSON strings, eliminated heavy Node dependencies like crypto. These optimizations reduced JavaScript static assets from 750 KB to 250 KB, decreased CloudFront costs by 20%, and accelerated build times by 3.6x.
Gibson ChengGrab ·
App Modularisation at Scale
Grab transitioned its monolithic mobile application into a modular architecture to resolve increasing code conflicts, slow releases, and difficult team collaboration. The team decomposed the single module by establishing base infrastructure modules, shared UI and utility libraries, discrete feature modules, and bridge kit modules for inter-module communication. Dependency injection using Dagger ties these components together in the main app module while preventing feature modules from directly depending on one another. The architecture spans over 1,000 modules across the app, with more than 200 modules in the Grab Financial Group payments domain where over 95% of modules build in under 15 seconds. This approach accelerated Gradle CI and local builds through parallel compilation and caching, though it increased Gradle sync times, IDE memory usage, and configuration maintenance overhead.
Amar JainGrab ·
How We Improved Agent Chat Efficiency with Machine Learning
Agent typing time represented a large portion of Grab's chat support journey, and 85% of messages were still free typed because agents customized static templates to fit their personal style. To accelerate typing across multilingual markets without robotic templates, Grab built SmartChat, a machine learning feature that provides contextual sentence completion. The team opted for a lightweight seq2seq architecture using single-layered GRU encoder-decoders in TensorFlow instead of bulky attention models to keep model latency under 100ms. The user interface was implemented in React using a content-editable div with inline typeahead suggestions activated via keyboard shortcuts.
Suman Anand