Pengalaman saya interview dengan salah satu perusahaan teknologi Indonesia. Keren!!

Muhammad Muizzsuddin
4 min readAug 11, 2020

--

Photo by Sam McGheeon Unsplash

Update: Saya belum beruntung. Tapi saya dapat pengalaman yang tidak bisa dipelajari dari kursus. Thanks!

Halo. Assalamulaikum wr. wb. Selamat malam waktu artikel ini ditulis.

Sekitar satu minggu lebih beberapa hari yang lalu saya menyelesaikan tahapan interview di salah satu perusahaan top Indonesia. Ini adalah pengalaman pertama saya melakukan interview dan semuanya dilakukan secara online. Secara garis besar saya sangat “bersemangat” dengan interview ini. Ada banyak poin yang bisa saya dapatkan dan membantu saya dalam menentukan arah belajar saya di ranah programming.

Awal saya mendapatkan kesempatan interview ini adalah dengan mengirim “job application” ke HRD perusahaan tersebut yang kebetulan baru saja terhubung dengan saya di LinkedIn lewat email. Ini salah satu poin, hubungkan koneksi profesional LinkedIn dengan HRD. Lalu tak berselang lama saya mendapatkan pesan lewat WhatsApp untuk interview pertama.

Oh ya, ini adalah urutan interview saya.

  1. HRD Interview ( mungkin Screening)
  2. Live Coding (menitik beratkan diskusi)
  3. Panel Interview (3 senior developer salah satunya platform engineering manager)
  4. HRD Interview (negosiasi gaji, dll)
  5. Final Interview (Platform Manager)

Screening interview?

Di sesi ini saya melakukan interview dengan dua orang HRD. Mereka bertanya tentang pengalaman saya, apa yang saya tahu dari perusahaan tersebut, dan beberapa pertanyaan teknikal tentang pemrograman. Saya rasa itu adalah screening awal untuk mengetahui apakah saya hanya “pencoba2” atau benar-benar tahu tentang pekerjaan yang saya tekuni.

Istilah pencoba2 ini sebenarnya “ambigu”. Maksud saya adalah, mereka mencoba untuk menggali informasi tentang pemahaman saya tentang dunia pemrograman dengan pertanyaan2 ini. Dan saya duga ini adalah pertanyaan template yang disediakan oleh tim Engineering. CMIIW.

Salah satu pertanyaan: Apa perbedaan Concurency dan parallelism?

Saya merasa cukup percaya diri di sesi ini. Sebagian besar bisa saya jawab dengan yakin. Ada yang saya jawab dengan “Emm,,,”. Mungkin karena saya terpengaruh teman dari Jepang yang tidak langsung blak2an dalam menjawab. Japanese politeness? Maybe..

Live Coding

Pemahaman algoritma adalah poin yang diuji di sesi ini. Saya melakukan interview dengan seorang Backend Engineer. Sebelumnya saya sudah diberitahu oleh HRD bahwa live coding ini bukan ditujukan agar code berjalan. Maka dari itu, diizinkan untuk menggunakan pseudo-code. Namun tidak boleh menggunakan search engine dan documentation.

Ini adalah sesi krusial pertama bagi sebagian besar inteview programmer. Karena kebutuhan untuk show-off skill dan bukan berusaha tipu2 muslihat.

Sedikit spoiler materi: Cara grouping yang cepat? Jelaskan time complexitynya!

Di sesi ini saya sebenarnya mendapat kemudahan. Algoritma yang saya pikirkan waktu itu menggunakan standard library sorting dan saya memakai IDE (memang diizinkan). Maka saya menanyakan kebolehan memanfaatkan autocomplete dan sorting tersebut. Dan boleh! Sebenarnya mungkin ini bisa jadi nilai minus. Tapi sudah terjadi.

Algoritma saya sebenarnya sangat sub-optimal. Karena masalah utamanya malah saya selesaikan dengan complexity n.log n sementara ternyata saya bisa menyelesaikannya dengan n. Sungguh penguji yang baik hati memberi lampu hijau untuk interview selanjutnya. (atau ini mungkin memang kebijakan bahwa semua kandidat akan melalui semua interview).

Sementara itu algoritma grouping saya, sampai saat ini saya rasa cukup optimal. Dari awalnya bisa menjadi n. Grouping in single pass.

Panel Interview

Ini adalah sesi favorit saya.

Saya ditanya banyak hal, mulai dari pengalaman, projek, teknologi yang dikuasai, teknologi yang sedang dipelajari, dan teknikal detail.

Disini ada sesi dimana saya ditanya2 mengenai product knowledge dari project yang sebelumnya saya tangani. Maka disini saya agak gelagapan. Karena saya masih berpikir waktu itu, programmer fokus di implementasi, urusan bisnis, urusan manajemen. Tapi dari pembicaraan yang mengasyikkan saya menyimpulkan bahwa product knowledge itu sangat penting.

Spoiler pertanyaan: Apa fitur unik produk ini? Bagaimana buyer protection dijalankan?

HRD Interview

Ini adalah sesi dimana saya ditanya feedback dari semua interview yang telah saya jalani sebelumnya. Dan juga ditanya pilihan lokasi kerja (ada beberapa kota). Dan harapan gaji.

Saya rasa dititik ini saya terlalu berani untuk mengharapkan gaji tinggi untuk kota dengan umr yang rendah. Meski begitu, sebelumnya saya ditanya berapa gaji saya diperusahaan sebelumnya.

Disini, saya sebenarnya cukup yakin bahwa persoalan tersebut bukan halangan karena perusahaan tersebut cukup besar untuk memberikan banyak “benefit” ke karyawan.

Final Interview

Ini adalah titik balik dalam interview saya.

Disini saya cukup kewalahan ketika mendapatkan tipe interview offensive. Dalam artian penginterview tidak hanya bertanya namun juga dalam posisi menantang pemahaman saya.

Disini saya merasa telah melakukan poin-poin kesalahan yang juga di akhir disebutkan oleh penginterview.

Salah satu poinnya adalah saya langsung mencoba memberikan solusi dari masalah yang ada tanpa melihat apakah ada hal lain yang belum disampaikan dalam uraian masalah tersebut.

Tapi disinilah saya mendapatkan banyak ilmu. Karena disini saya diajak untuk berpikir dan saya mengakui ada banyak hal yang saya hanya mengetahui kulitnya tapi mencoba menampikan bahwa saya telah tahu isinya. Spoiler: GRPC.

Disini saya juga ditanya mengapa saya hanya bertahan dalam waktu yang singkat di project sebelumnya. Karena memang ada yang hanya 2 bulan.

Maka saya jawab dengan jujur (meskipun tentu itu dari perspektif saya). Dan saya rasa jawaban saya kurang memuaskan. Saya menyadari hal tersebut.

Ada juga sesi dimana alasan saya berhenti dari sebuah perusahaan kurang jelas sehingga saya harus membuka lebih dalam alasan berhenti. Mungkin saya harus mempersiapkan jawaban yang lebih jelas dimasa mendatang.

Dan juga pertanyaan tentang produk dari perusahaan tempat saya bekerja yang menurut penginterview kurang masuk akal. Tapi kemudian setelah melalui proses “perdebatan”, akhirnya saya dan penginterview mencapai satu titik temu (atau setidaknya menurut saya) dimana produk ini cukup masuk akal.

Point learned: Do research about product you develop! And act as “auditor” to it!

Akhirnya semua interview selesai. Dari saya sendiri, baik lolos atau tidak bukan masalah. Tentu saya berharap lolos. Tapi jikalau tidak, saya telah mendapatkan ilmu yang bisa saya pelajari untuk persiapan interview berikutnya. Dan pengalaman live coding yang seru. Dan saya sendiri tidak akan terlalu sibuk karena proyek freelance yang mengantri.

Jika saya lolos, artinya pasti ada variabel yang ditolerir oleh tim yang memutuskan hal tersebut. Dan saya akan terus belajar, apalagi mengingat saya masih sangat Junior dalam urusan years-of-experience.

Either case, its good for both of us.

Terimakasih. Selamat malam. Wassalamualikum wr. wb.

--

--