My Software Engineer Internship Hunting Journey — Indonesian Startups!

Traveloka, Tokopedia, Cermati, and others!

Rangga Garmastewira
9 min readJun 14, 2018

Internship, a.k.a. “kerja praktek”, is a mandatory course for students of ITB. A lot of juniors has asked me about my internship hunting journey. I’ve finally decided to write my story now in my spare time waiting for graduation :P. I hope you guys will enjoy it!

Preparation

It was January of 2017, 5/6 months before we will start our internships at our chosen companies. I thought everybody was chill, but I just realised that some of my friends have already applied to a lot of companies since December. I did not want to be left out, so I started to work my ass preparing to search for potential companies.

The most crucial thing is definitely a resume/CV. As I also intended to apply for foreign companies, My TOKI friend suggested me a resume making guide described in this awesome blog post by Rakina, an Indonesian Google intern. In summary:

  • Avoid the Indonesian way of CV making. I’ve seen a lot of CVs that mention kindergarten, religion, age, height, weight, and even SKIN COLOUR :(. Seriously, nobody gives a damn about those things.
  • Keep your resume short, at maximum only one page. Try to only write projects and experience that are relevant to your job opening. IMO for software engineer job, it’d be nicer to put your side projects instead of irrelevant volunteer experience (e.g. taught Arabic to kindergarten students) on your resume.

Last but not least, you need to improve your skills in technical interview by mastering algorithm and data structures. While some companies select interns by asking candidates to create projects, most companies only make decision based on coding interview performance. I used HackerRank for training, although I recently discovered that LeetCode might be more suitable for interview purpose.

If you want to practice your English as well, you can try Pramp! You will be matched with random people across the globe and interview each other. If you’re rich enough, you should also buy this legendary book authored by Gayle McDowell. I guess that book is considered as software engineer interview bible worldwide. There are a lot of questions there, and each question’s solution is very detailed.

Summary

UPDATE: Here’s the summary of my internship application process and results. Also, here’s the my opinion on each process’s difficulty.

  1. Dekoruma (Accepted): 1 technical interview (4 questions). Difficulty: 4.5/5
  2. GDP Labs (Accepted): 1 online coding test (3 questions, 2 hours). Difficulty: 4.5/5
  3. Tokopedia (Rejected): 1 online coding test (5 questions, 2 hours), 1 semi-technical interview. Difficulty: 3.5/5
  4. Cermati (Accepted): 1 project assignment, 2 technical interviews (each 2 questions). Difficulty: 3/5
  5. Traveloka (Accepted): 1 online coding test (1 question + multiple choice questions), 2 technical interviews (1 coding + 1 system design). Difficulty: 2/5
  6. Google Japan (Rejected): 1 online coding test, 2 technical interviews (each 45 minutes). Difficulty: 3.5/5

Dekoruma

This is my real first coding interview, and probably the most memorable one!

A lot of my colleagues had applied and got accepted to famous companies such as Bukalapak and Tokopedia. I thought they might have run out of slots, so it would be nice to apply to non-mainstream companies. I knew Dekoruma as I previously stalked my Web Development assistant’s LinkedIn profile, Nathan. He’s really cool, so he probably worked for cool companies too :P.

I applied at http://engineering.dekoruma.com/, and I got a follow up from a very nice lady, Nia, via phone call. I really thought she was a recruiter because that’s how it is usually and she’s even nicer from other companies’ HR. We scheduled a coding interview via Skype for next week.

As I received the Skype call, we first talked a little bit about my resume. Later, I was ultimately surprised upon discovering that she, herself, would be the one who interviewed me…

As expected from my first coding interview, I messed up the whole interview. Trying to code while explaining what I was typing at the same time felt so unnatural. I couldn’t even give the O(log n) solution when I was asked to create a simple power (a^b) function. There were four questions in total. Fortunately, Nia guided me carefully and patiently. I did get the correct solution for each question in the end. IMO this was the hardest interview compared to other companies’ interviews. The interview lasted for 2 hours, and I was extremely exhausted and disappointed in my performance :(

Three days later, I unexpectedly received an offer from Dekoruma. I was extremely glad as this was my first interview attempt and my first offer as well. Dekoruma was actually my best preference to work. I was just really proud that I could be accepted in a company whose interview was hard as hell. It was until GDP Labs offered me to work in Bandung office that I finally had to decline the offer.

Cermati

I did not remember how I got to know Cermati, but the reason of my application is exactly the same as my application for Dekoruma. If I’m not wrong, I found the job opening in LinkedIn. The first challenge was to build a crawler using Node.js. I really like the challenge because I learned a lot of things about JavaScript (e.g. learning how Promise actually works) and created something that’s kind of useful compared to my previous university course projects. After I submitted the challenge, I was scheduled for two technical interviews.

I still remember very well my interviewers which are Albert and Oby (Cermati’s CTO!). They were really kind and helpful throughout the interviews. Each interview consists of 2 coding questions; one’s easy and the other’s moderate. In the end, I got an offer from Cermati as well. Just like Dekoruma, I decided to decline the offer because of GDP Labs’ Bandung office offer.

Tokopedia

I applied to Tokopedia via its job opening. The next day, I received a coding test link at HackerRank via email. There were 5 questions, and I’d say the questions were quite hard. I was really disappointed that I could only solve 3 out of five questions. Nevertheless, I got contacted back by Tokopedia, and they scheduled a non-technical interview.

The interview did not go well at all. I did a video call with three software engineers at the same time. They were not friendly and not impressed of me at all. I struggled when they asked what Tokopedia feature I would like to work on. They did an inspection to skills I put on my resume, e.g. they ask what is React and how it works. They also asked what a microservice is, and I couldn’t answer it back then.

Most of my friends got an offer on the same week after they did the interview while I did not. Three weeks later, a follow up email came, and it’s a rejection. Just as I’ve expected :(.

GDP Labs

Applying to GDP Labs was different from applying to other companies. There is no official job opening or whatsoever. I heard from my friends that I just need to send an email directly to the CTO at onlee@gdplabs.id. I really thought a CTO who’s influential like On Lee would respond in a very long time, yet he actually responded in only like 1 minute :’). After he responded, I was contacted by HR the next day for the online coding test.

The online coding test consisted of 3 questions. IMO all of the questions were quite difficult. I could solve 2 questions with optimal solutions, while I could only give a brute-force solution for the other one.

The next week, I got an offer from GDP Labs. I was actually ready to decline the offer because from what I know, GDP Labs’s internship is in Jakarta. However, I know that GDP Labs has an office in Bandung. Although there has been no intern who’ve worked there yet, I tried to ask the HR if it’s possible to work as an intern in Bandung office. Surprisingly, GDP allowed me to do so! Thus, I definitely don’t have to worry about housing and food. Everything will be prepared by my mom :D.

After a careful consideration and discussion with family (especially my mom who was really worried about me living by myself), I finally decided that GDP Labs Bandung would be my internship destination.

Traveloka

I really looked forward to working at Traveloka. I know my seniors who are often referred as “imba” (god-like) worked there. However, they did not open the job application until April/May, and I have registered GDP Labs as my destination for my internship to campus. Nonetheless, I was very intrigued about how the recruitment works there. I decided to apply there even though I knew I would have to decline it.

Surprisingly, the interview was much easier that I have imagined. First round is an easy coding test with additional OOP multiple choice questions. The next round was two interviews, which are coding and system design interview. Both questions were relatively easy, but each has follow-up questions. My interviewers were kind and helpful as well.

The next day, I got an offer from Traveloka. As I’ve previously said, I had to decline the offer and send my gratitude to my recruiter and interviewers as well.

Bonus: Google Japan

I actually applied for Google Japan just for fun. I mean, I know that I won’t be responded at all. I heard that applying to Google requires one to seek a referral if you want to be responded. I was really blown away that Google actually scheduled me for an online coding test! I felt so special until I discovered that almost every single person who applied there actually got responded :).

The coding test was actually easy. Much easier than GDP Labs’ questions! There were 2 questions and I solved them both perfectly. After I finished it, I got a follow-up from my recruiter that I was selected for the phone interview phase. The interview was scheduled 3 weeks after my recruiter’s email. One day before they interview date, they even asked for a reschedule due to a busy week at Google :(.

While the office I applied to was Japan office, the call actually came from New York. I was disappointed that the call is made via phone instead of using Hangouts/Skype. The voice was very shaky. I think I annoyed the interviewer by repeatedly saying “sorry”, “excuse me”, etc. just to confirm what the questions is. I also ignored the fact that the coding is done in Google Docs, and I was not accustomed to it.

The interviewer itself was really nice and helpful, just like the typical warm American. IMO the question itself was not really hard. In the end, he asked follow-up questions regarding what I should do if the input is huge, and I struggled to give good answers.

The next two days, I got a rejection email sent by my recruiter. I did not expect much either, but I felt really happy that even though I did not have experience in competitive programming, I could get a phone interview with Google :D.

Others

I sent my resume to other companies like TripVisto, UrbanIndo, Bukalapak. Most of them did not respond my email. TripVisto did respond my email like 4 months after my application and asked for an interview, but I chose to decline it.

I also sent my resumes to myriads of U.S. companies, e.g. Facebook, Twitter, Uber, Dropbox, and Sony. All of them did not respond except for Uber who sent me a rejection after one hour I submitted my application :D.

Conclusion

That’s all about my internship journey. I did not regret my decision to bombard my resume to a lot of companies. I enjoyed doing a lot of coding interviews as it told me how good or bad I was at that time. Realising failure earlier somehow motivated me to study better. Declining offers were indeed the worst part of the journey. The interviewers have sacrificed their time just to get to know me, and it’s kind of unfair to reject their offers.

My final tips would be:

  • Prepare better for interviews. If you know programming when you just entered university like me, you are at a big disadvantage. I sometimes envy my friends who were informatics olympiad participants in the past that I’ll never be on the same level as them. This is actually proven wrong. With enough practices, you should be able to ace interviews as well.
  • Apply to a lot of companies and be early. You never know whether the company will process your application. Therefore, it does not hurt to just spread your resume everywhere. You should also be early as possible as ambitious people might consume all the internship slots first.

I hope this article helps and inspires you in any way. Good luck to your internship hunting journey!

--

--

No responses yet