Image for post
Image for post

In this article I’ll share my experience of working, time-to-time, remotely. From 1 day (Work from Home) to 1 full month remote in different timezone (7 hours time difference). Working remotely is the new trend in tech companies. however it’s not scaling well for all team process.

Synchronous vs Asynchronous team

We can split team process into 2 categories: The one with Synchronous and asynchronous process. I’ll go through both with advantage, tradeoff and how is it scaling to enable seamless remote working.

Synchronous team process

Having a synchronous process is the default standard in most of the companies. …


Image for post
Image for post

Working at Grab for 2 years on the Android Passenger App, I had the opportunity to take interviews very quickly. The company is growing insanely fast (We still have a lot of open positions). I took more than 50 interviews and hired a few of the candidates. Today I’ll share about the interview process at Grab, for mobile engineers, and how to maximise your chances.

This is a personal thought based on my experience and may not reflect your interview experience. Opinions expressed are solely my own and do not express the views or opinions of my employer.

Interview process

Grab’s interview process (For mobile engineers, Android or iOS) is composed of a screening process plus 3 interviews rounds with a total of 5 interviews. This includes 2 back-to-back rounds with engineers, and a final round with an engineering manager. …


Image for post
Image for post

This article will explain the journey of an image from a developer point of view. Starting when you receive an image from the designer until it’s display in the most optimised way.

This article is following the talk I made during a Singapore Kotlin User group meetup at Google Singapore. Slides and video are available bellow.

Before adding and image to your app

Before adding your image to your application you can apply some optimisations. There are a bunch of tools available online that can do that. However in most cases it’s a lossy compression. Feel free to use any of those:

PNGQuant, ImageMagick , PNGGauntlet, PNGOut, PNGCrush, OptiPNG, CryoPNG, PNG Compressor, Yahoo Smush.it, PNGOptimizer, PunyPNG, TinyPNG, PNGWolf, Advpng, DeflOpt, Defluff, Huffmix, TruePNG, PNGnq-s9, Median Cut Posterizer, scriptpng, pngslim


Image for post
Image for post

Working on Android App Start optimisation for the past 6 month at Grab (We are hiring), We did a lot of profiling and we immediately saw a lot of operations are done by the system just before you see the first frame.

This document will explain the 7 main steps requires to launch any Android App. We will also measure each steps to get the actual cost. We will use MonoClock from Kotlin to measure time delta.

This will also help you in monitoring our application start performance and detecting performance regression.

All pieces of code of the article are summarise on a github sample project (Hello world app)…

About

Lucas Nelaupe

Android developer at @GrabSG focusing on performance at scale.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store