FAQ: How we go about recruiting a developer
A step-by-step guide on our interview process
By Nandita Coutinho
Before we begin, let’s talk a little bit about who we are.
We are Indonesia’s first unicorn and #17 on Fortune’s Top 50 Innovative Companies which are changing the world for the better. Here are a couple of recent articles about us by CNBC and the South China Morning Post.
We have product + engineering centres in Jakarta, Singapore and Bangalore.
Some facts about GO-JEK and it’s impact in Indonesia:
- 100MM: Number of completed orders in the first 14 months of operation of the app
- 900X: Rate of growth in the first 18 months of operation of the app
- 18 months: Time from launch of app to Unicorn valuation
- 5MM: Year To Date amount of tips given to drivers by customers in USD
- 3 Million+: Number of Martabak delivered by GoFood in 2016
- 300k: Number of drivers who’ve had their lives changed, and monthly income increase 15% on average
- 90k+: Number of restaurants on GO-FOOD
- 50+: Number of cities in Indonesia where GO-JEK services are available
- Our fleet of 300k drivers collectively cover an average of 4.5 million kilometres — that’s more than 7 round trips to the moon — daily.
We love being a part of GO-JEK, not just because of its brand and presence in Indonesia. We love it because we work on hard problems with nice people who are passionate about building beautiful things, well.
We usually take two to three weeks from start to finish.
- Contact Us
The easiest way to reach us is by sending us your resume at email@example.com.
We take resumes seriously. One of us will reach out to you in under 48 hours, after we have had a chance to understand what you’re looking for.
We would love it if you could include links to all of your work that is in the public domain that you think would help us understand you better. Apps, side projects, open source contributions, blogs — please link all of them in your resume.
2. A Quick Phone Call
One of us will set up a quick phone call with you. The conversation will last anywhere from 20 minutes to an hour, depending on the role.
We have two basic objectives for this call:
First, if you have any questions about the work that we do, or around the role that you are applying for, we will do our utmost to answer them. If we can’t, we may schedule a follow-up call with someone in GO-JEK who can.
Second, we would like to understand your experience better and see if there is a match between your skills and what we are looking for. Let’s face it, a resume does not always do justice to a person’s rich experience. Hence, the call!
3. Write Some Code
“Talk is cheap. Show me the code.” — Linus Torvalds
The only way to evaluate programmers is through code. Since a real world problem would take far too long to solve, we have instead consciously selected a very simple, high school level command line based coding problem.
You can use any object oriented language that you are comfortable with to solve the problem. We emphasise writing clean, well designed, decoupled code that follows open source conventions, has fine grained commits and has solid test coverage. Aside from a unit testing library, the problem needs no external libraries or frameworks.
Typically, for someone comfortable with the language, git and a unit testing library the solution will take no more than 2 to 4 hours. You will have 48 hours to complete this problem, and you can do so from the comfort of your home.
4. Assignment Review
Once you submit the solution , we have it evaluated by an automated system that validates basic hygiene factors like output, and if that clears, by a senior GO-JEK engineer for quality and design.
The problem statement has a set of rules. Please pay careful attention to them. Part of what we evaluate in this stage is the ability to grasp written requirements. You are, of course, always welcome to come back to us with questions and clarifications.
Our responsiveness on this stage varies from one to three days.
After reviewing your solution, if the results are positive, we will invite you to our office for further rounds of discussion. You can choose the day that you would like to come in based on your convenience. Once you come into our office, we ensure that all the rounds are completed on the same day.
5. Code Pairing
This round happens in the GO-JEK office, and takes one to two hours.
In the code pairing round, the scope of the original problem statement will be extended to take the problem in a new direction.
You will be pair programming with a senior engineer from GO-JEK to extend and refactor the solution you sent in for the previous round.
We will be looking to understand your problem solving approach, coding style, comfort with in depth discussions on design and familiarity with tools and techniques. Please bring in your own laptop, set up for your comfort.
6. Technical Interviews
There will be between one and three rounds of technical interviews.
In terms of focus areas of these interviews, you will find a strong emphasis on design, code quality, level of comfort with all layers of the stack and ability to build working software from ideation to production. We will also delve into prior projects, key design and execution decisions made there and the rationale behind them.
A thorough understand of the tools you use most often, including programming languages, editors, shells and systems will also be expected.
7. Bar Raiser
The rumours are true! We are very choosy about whom we make part of our family. That is why, in the penultimate round of discussions, every candidate must speak with either Ajey Gore, the Group CTO, GO-JEK, Niranjan Paranjape, CTO, GO-JEK or a member of the Board of Directors. The conversation would revolve around your aspirations and expectations from GO-JEK, as well as our expectations from you.
Post the Bar Raiser, we will have an offer related conversation with you. In most cases, we will make an offer to you, on the very same day!
We hope this article has clarified your questions regarding the recruitment process as a whole. Throughout the process, you would have someone from our team, most likely a recruiter, stay in touch with you.
So what are you waiting for? Apply to us on firstname.lastname@example.org!