14 poin oleh GN⁺ 2025-08-02 | 1 komentar | Bagikan ke WhatsApp
  • Wawancara live coding pada praktiknya lebih baik mengukur respons stres daripada kemampuan coding seorang engineer
  • Menurut penelitian ilmiah, dalam lingkungan yang diawasi secara real-time muncul penurunan kemampuan kognitif dan variasi performa yang besar
  • Khususnya pada kandidat perempuan, ditemukan fenomena bahwa semuanya gagal dalam lingkungan terbuka, tetapi semuanya lolos dalam lingkungan pribadi
  • Di sebagian besar perusahaan, meski kemampuan beradaptasi terhadap stres tidak benar-benar dibutuhkan, hal ini justru dinilai secara keliru lewat tes coding
  • Tes simulasi, paparan bertahap, dan suplemen pendukung tertentu dapat membantu meredakan stres

Pengalaman pribadi tentang wawancara live coding

  • Sebagian orang menikmati wawancara live coding, tetapi penulis tidak demikian
  • Dalam proses lamaran ke Toptal, penulis gagal dalam tes live coding, tetapi ketika mengerjakannya sendiri lagi, solusinya bisa ditemukan dengan cepat
  • Dari pengalaman ini, penulis menyadari bahwa di bawah pengawasan real-time, stres dapat membuat kemampuan asli tidak keluar sepenuhnya

Otak yang bereaksi terhadap stres

  • Dalam situasi berisiko tinggi dan penuh tekanan waktu, amigdala di otak menjadi aktif dan kadar kortisol meningkat
  • Akibatnya, fungsi korteks prefrontal yang bertanggung jawab atas penalaran kompleks dan ingatan menjadi terganggu
  • Memori kerja adalah ukuran paling penting untuk menilai kemampuan memecahkan masalah baru, dan ini menurun drastis dalam situasi live coding
  • Bahkan pada tingkat kecemasan performa yang ringan, berpikir jernih bisa menjadi hampir mustahil
  • Menjadi sulit untuk fokus, tidak mampu mengingat beberapa langkah sekaligus, dan merasa seperti menjadi ‘orang yang jauh lebih buruk dari biasanya’

Hasil penelitian yang menentukan

  • Dalam makalah yang dilakukan oleh peneliti Microsoft, masalah coding yang sama dibandingkan dengan meminta peserta mengerjakannya di lingkungan pribadi dan lingkungan terbuka
  • Di lingkungan pribadi, peserta mengerjakannya sendirian di ruangan, sedangkan di lingkungan terbuka mereka harus menyelesaikannya di depan pengawas sambil menjelaskan proses berpikir
  • Hasilnya, nilai dalam lingkungan yang diawasi turun hingga setengahnya, dan khususnya variasi hasil menjadi jauh lebih besar
  • Berbeda dari kandidat laki-laki, semua kandidat perempuan dalam lingkungan terbuka tidak lolos, sedangkan dalam lingkungan pribadi semuanya lolos
  • Lingkungan live coding berfungsi sebagai filter eksklusi yang terbukti secara ilmiah yang dapat menyingkirkan engineer yang kompeten

Realitas performa di bawah stres

  • Pada akhirnya, live coding hanyalah ukuran pengganti untuk melihat performa dalam situasi penuh stres
  • Beberapa perusahaan memang mencari orang yang mampu bekerja baik di bawah tekanan, tetapi sebagian besar perusahaan tidak menyatakannya secara jelas dalam lowongan
  • Mengingat sebagian besar pekerjaan tidak berlangsung dalam stres real-time yang tinggi, menyingkirkan engineer unggul hanya karena melakukan kesalahan saat live coding adalah hal yang tidak tepat
  • Lebih masuk akal untuk melihat bahwa live coding mengukur kadar hormon stres daripada kemampuan coding

Cara mengurangi stres

  • Karena live coding sudah umum di industri, latihan adaptasi terhadap stres menjadi perlu
  • Dengan latihan berulang dalam lingkungan yang mirip kondisi nyata (Pramp, Interviewing.io, tes simulasi LeetCode, dll.), otak bisa dibiasakan menghadapi stres
  • Berlatih dengan memasang timer, merekam diri sendiri, atau meminta teman mengawasi sambil perlahan meningkatkan tekanan juga efektif
  • Selain itu, konsumsi suplemen seperti L-tyrosine (membantu mendukung neurotransmiter saat stres) dan L-theanine (membantu relaksasi serta meningkatkan fokus) juga bisa dicoba
  • Sebelum wawancara sungguhan, pastikan untuk menguji metode yang paling cocok bagi diri sendiri lewat latihan simulasi

Kesimpulan

  • Tidak kuat dalam live coding adalah ciri umum manusia, bukan tanda kurangnya kualitas sebagai engineer

1 komentar

 
GN⁺ 2025-08-02
Pendapat Hacker News
  • Saya tidak berniat menggeneralisasi dari kasus saya, tetapi ingin berbagi pengalaman pribadi. Sekarang saya adalah indie developer wiraswasta yang sukses. Salah satu alasan utama saya tetap bertahan sebagai developer indie bahkan di masa-masa sulit adalah karena saya pada dasarnya sudah menjadi tidak bisa dipekerjakan. Saya adalah orang paruh baya di industri teknologi yang sangat ageist, tidak punya gelar ilmu komputer, dan mengalami blank saat wawancara live coding. Saya ingin menekankan bahwa tidak semua stres itu sama. Petugas pemadam kebakaran bisa berlari masuk ke gedung yang terbakar, tetapi justru takut berbicara di depan orang asing. Saya juga kuat menghadapi stres kerja sehari-hari, tetapi tidak sanggup menghadapi beban ketika seseorang mengawasi dari balik bahu saya sambil menentukan masa depan finansial saya. Setelah wawancara selesai, saya sering bisa menyelesaikan soal coding itu. Pewawancara mungkin mengira saya penipu, tetapi hampir 20 tahun pengalaman saya adalah bukti sebaliknya. Banyak orang tampaknya menganggap "false negative" seolah acak, padahal ada juga orang seperti saya yang selalu tersingkir. Saya selalu gagal dalam wawancara gaya audisi; saya bukan tipe orang yang tampil di panggung.

    • Saya sangat relate dengan penilaian yang dilakukan saat orang lain mengawasi. Saya berusia awal 60-an. Di usia 20-an dan 30-an saya masih cukup lumayan saat wawancara, tetapi seiring waktu saya merasa wawancara itu sendiri makin konfrontatif. Dulu suasananya seperti 'berusaha mencari cara agar bisa merekrut', sekarang terasa seperti 'mencari alasan untuk tidak merekrut'. Ini mungkin karena ageism, tetapi saya juga melihat ada perubahan suasana industri. Selama 15 tahun terakhir, pengalaman wawancara terasa makin tidak menyenangkan, dan saya bahkan pernah panik saat wawancara. Meski begitu saya entah bagaimana tetap diterima, dan berkat rekam jejak referensi saya juga pernah mengambil kontrak tanpa wawancara. Startup terakhir tempat saya bekerja kehabisan dana pada akhir 2022, dan saat itu saya memutuskan pensiun. Saya benar-benar menyukai pekerjaannya dan tetap bekerja dengan teknologi terbaru, tetapi alasan terbesarnya adalah saya sudah tidak sanggup lagi menghadapi wawancara.

    • Saya rasa strukturnya sendiri yang bermasalah. Wawancara coding belakangan ini tampak dirancang untuk mengecek apakah orang muda pernah mengerjakan tugas struktur data CS. Mungkin itu ada gunanya di tempat seperti FAANG era 2010-an yang merekrut massal, tetapi untuk perusahaan kecil dan menengah, jauh lebih baik fokus pada situasi kerja nyata seperti membaca kode sungguhan atau membahas edge case. Saya sudah lebih dari 20 tahun bekerja di startup, tetapi tetap tidak bisa lolos tes seperti ini. Saya juga menolak menghafal secara paksa. Kalau ini berarti saya tidak cocok dengan tempat seperti itu, ya memang lebih baik tidak jadi. Saya pernah jadi CTO, meluncurkan beberapa perusahaan, dan mampu mengelola tim dengan baik, tetapi sekarang tetap diperlakukan seperti fresh graduate. Dulu saya pernah gagal karena tidak bisa membuat cache LRU dengan cepat dan rapi, padahal saya ragu seberapa sering itu benar-benar dibutuhkan di startup masa kini. Saya sendiri tidak pernah memakainya belakangan ini. Mungkin orang akan menganggap saya tidak kompeten karena tidak bisa langsung menyelesaikan soal semacam itu, tetapi saya tidak mengerti apa gunanya menguji hal yang tidak dipakai di pekerjaan nyata. Ini seperti merekrut arsitek berdasarkan kemampuan memakai slide rule. Cara rekrutmen seperti ini pada akhirnya melahirkan codebase yang rumit, padahal yang benar-benar dibutuhkan adalah mencapai tujuan bisnis, bukan kompleksitas. Saya ingin bekerja dengan rekan yang bisa memecah masalah dan menjaga logika serta struktur tetap sederhana. Memilih orang pintar lewat leetcode memang ada kelebihannya, tetapi orang yang secara konsisten menyelesaikan masalah nyata dengan efektif jauh lebih baik.

    • Saya pernah mengalami situasi ini dari sisi perekrut. Saya melakukan wawancara telepon dengan seorang mahasiswa yang sudah lama terlibat dalam proyek, dan tampaknya dia tidak bisa menunjukkan kemampuannya dengan baik karena berbagai stres dan hambatan bahasa. Saya bersedia mencoba mengubah formatnya, tetapi kandidat itu sendiri memutuskan tidak ingin melanjutkan. Namun jika dialihkan ke wawancara coding asinkron, yang justru mungkin kita uji hanyalah apakah dia memakai LLM atau tidak. Pada akhirnya, jika saya harus memilih antara menyaring orang yang membeku saat wawancara atau menyaring penipu yang sama sekali tidak mampu, saya rasa lebih baik memfilter yang pertama.

    • Saya sering melihat mismatch sifat seperti ini di perusahaan. Banyak programmer itu introvert, sedangkan pihak yang merekrut sering kali ekstrovert. Jika perbedaan ini tidak dikelola dengan baik, talenta introvert bisa tersisih atau tidak dipahami. Lingkungan open seating juga masalah yang mirip. Manajer mungkin menyukai kolaborasi, tetapi bagi orang introvert itu lingkungan yang sangat berat.

    • Saya penasaran kapan Anda mulai berhasil sebagai developer indie. Saya juga hampir 40 tahun dan sudah lama menjadikan programming sebagai hobi, tetapi sejak tahun lalu saya memutuskan untuk benar-benar menjadikannya profesi. Saya punya banyak proyek publik di Github, banyak pengalaman sukses di bidang lain, dan kemampuan komunikasi saya juga tidak buruk. Namun saya kesulitan dalam live coding. Saya penasaran bagaimana pandangan Anda tentang jalur independent contribution untuk menunjukkan kemampuan nyata. Kalau memang punya kemampuan sungguhan, saya ingin dibayar untuk itu.

  • Minggu ini saya mewawancarai kandidat Data Engineering. Saya memberinya 4 query SQL yang sangat dasar, dan dia membaca soal dengan suara keras lalu langsung memberi jawaban dengan sintaks yang tepat. Soal terakhir sedikit lebih sulit dan dia macet. Ketika saya bilang "coba periksa hasilnya", dia tidak paham dan jadi defensif. Saat saya bilang "coba dump tabelnya", dia sama sekali tidak mengerti dan hanya memberi alasan. Pada akhirnya, SQL yang dia tempel berisi output dari [redacted].ai. Mungkin soal-soal sebelumnya dia selesaikan dengan AI, dan pada soal terakhir kelihatan belangnya. Tanpa masalah teknis seperti ini, kecurangannya tidak akan ketahuan.

    • Alat kecurangan wawancara AI sangat menyebar di kalangan yang lebih muda. Dalam beberapa kasus langsung ketahuan, tetapi kandidat berpengalaman bisa menyamarkan penggunaan AI dengan jeda-jeda seperti 'saya tidak bisa mendengar' dan sebagainya. Di grup manajer tempat saya berada, ini adalah topik rekrutmen yang paling banyak dibahas belakangan ini. Perusahaan yang mampu biasanya menjadikan wawancara terakhir tatap muka langsung. Ada kandidat yang tampak cukup baik di layar remote, tetapi saat bertemu langsung bahkan tidak bisa menjawab pertanyaan dasar, jadi akhirnya ditolak. Ini memang buang waktu dan uang, tetapi tetap dianggap lebih baik daripada biaya salah rekrut. Penggunaan AI menyebar bukan hanya di wawancara teknis, tetapi juga di resume, pertanyaan perilaku, bahkan jawaban format S.T.A.R. buatan ChatGPT. Verifikasi referensi yang tepercaya jadi lebih penting dari sebelumnya. Saya juga berkali-kali mengalami isi pekerjaan yang diceritakan mantan atasan sama sekali berbeda dari yang tertulis di resume. Kalau sejak awal mereka jujur tidak punya pengalaman langsung di domain kami, mungkin tetap bisa kami rekrut, tetapi kalau kebohongannya sekuat ini, kepercayaan langsung hilang.

    • Saat mewawancarai kandidat belakangan ini, sekitar 50% menggunakan live GenAI secara real-time. Sampai sekarang sangat mudah mengetahui siapa yang memakai AI. Dalam percakapan alami itu cepat terlihat. Ironisnya, kandidat terakhir juga selalu mengulang soal lalu menunggu 10–15 detik. Ini berarti tes semacam ini sendiri bukan solusi mendasar atas masalahnya. Justru menciptakan masalah baru dan menjadi penyebab kandidat hebat gugur.

    • Bagaimana kalau "memakai AI bukan kecurangan, tetapi simulasi dari apa yang memang akan dilakukan di pekerjaan nyata"? Jika dilihat dari sudut itu, wawancara tersebut sebenarnya adalah contoh skala kecil yang sangat efektif dari <i>interpretasi requirement</i>. Saya rasa arah yang lebih positif adalah membiarkan orang memakai alat yang memang akan mereka gunakan di pekerjaan nyata sambil tetap menguji pemahaman dasarnya terhadap pekerjaan dan bahasanya. Yang dibutuhkan hanyalah keluar dari Leetcode dan mencari cara yang lebih baik.

  • Pada akhirnya semuanya memang 'tergantung konteks'. Begitu juga dengan wawancara live coding. Dari sisi kandidat ini bukan pengalaman terbaik, tetapi di organisasi besar seperti Meta atau Google, metode ini lebih baik daripada cara lain dalam menurunkan tingkat false positive. Namun pewawancaranya sering tidak cukup terlatih, dan soalnya terlalu mirip teka-teki sehingga sulit kecuali Anda banyak berlatih LeetCode atau baru dari dunia akademik / lulus kuliah. Saya bekerja 6 tahun di bidang assessment dan melihat langsung berbagai proses perekrutan, dari Fortune 10 sampai startup. Saya mendorong penilaian yang mirip dengan pekerjaan nyata bagi kandidat, dan sekarang saya tidak suka lagi penggunaan istilah 'pekerjaan nyata' yang mendekati unpaid labor. Assessment seharusnya menjadi sarana agar perusahaan berani menawarkan gaji tinggi dengan tenang. Dengan munculnya AI, soal take-home yang singkat pun semakin sulit dijaga keadilannya. Karena itu ada perusahaan yang kembali bergantung pada metode ekstrem seperti onsite interview dan pengawasan real-time. Solusi ideal menurut saya adalah memastikan semua kandidat bisa menunjukkan kemampuan terbaiknya dalam waktu, lingkungan, dan alat yang sama. Saya terus memikirkan masalah ini, tetapi belum menemukan jawabannya.

    • Orang sering bilang "ini bekerja baik di level Meta atau Google", padahal sebenarnya tidak ada datanya. Saya pernah bekerja dengan developer kelas F yang berasal dari Facebook dan Google. Faktanya perusahaan besar seperti ini juga tetap memecat 3–5% tenaga kerjanya, yang merupakan bukti bahwa wawancara saja tidak cukup berhasil menyaring false positive. Menurut saya tingkat kesalahan 3% terlalu tinggi dibanding waktu yang dihabiskan pewawancara. Pada dasarnya tidak jauh beda dari level 'Fizzbuzz' yang lama.

    • Ini seperti tidak meminta tukang batu membangun dinding, tetapi langsung merekrut begitu sertifikasinya tervalidasi. Banyak profesi lain bekerja seperti ini. Kalau ternyata tidak cocok, tinggal diberhentikan setelah direkrut. Tidak perlu melalui proses wawancara perusahaan yang merendahkan.

    • Engineer terbaik yang pernah saya lihat sering kali justru diklasifikasikan sebagai false negative. Mereka tegang di wawancara live coding dan tidak bisa menunjukkan kemampuan mereka dengan baik. Saya rasa kita tidak bisa begitu saja memastikan bahwa wawancara semacam ini "bekerja dengan baik".

    • Setelah bilang "tergantung konteks", lalu menyimpulkan "wawancara live coding itu efektif", menurut saya tidak konsisten. Saya pun bisa saja mengatakan "tergantung konteks, tetapi live coding tidak efektif". Secara logika tidak ada bedanya.

    • Lolos leet-code memang berguna untuk menyaring orang yang sama sekali tidak punya kemampuan memecahkan masalah. Solusi terbaik adalah menciptakan lingkungan di mana kandidat bisa mengeluarkan performa terbaik dengan alat dan lingkungan miliknya sendiri. Tetapi dalam praktiknya, saya justru merasa leetcode onsite di papan tulis sambil pair programming dengan pewawancara mungkin yang paling adil. Itu benar-benar lingkungan yang nyaman.

  • Saya rasa kedua penjelasan itu bisa benar sekaligus. Memang ada developer "senior" yang sebenarnya tidak bisa bekerja, dan live coding membantu menyaring orang seperti itu. Tetapi orang juga bisa gagal wawancara karena alasan lain.

    • Ada banyak developer yang bagus di live coding, tetapi kurang pengalaman dalam desain sistem skala besar. Orang-orang seperti ini sering memperburuk codebase dengan memasukkan technical debt, anti-pattern, dan inkonsistensi. Ini justru tipe yang benar-benar perlu dihindari. Perusahaan percaya senior yang sudah ada akan mengendalikan orang baru, tetapi karena setiap perusahaan selalu bilang "codebase kami berantakan", solusi ini juga tampaknya tidak efektif.

    • Kalau Anda membiarkan mereka duduk sendiri di kamar dan coding, Anda tidak akan kehilangan talenta hebat yang hanya tidak bisa tampil dalam lingkungan yang tidak normal.

    • Live coding belakangan ini sudah melampaui tes coding sederhana; sekarang levelnya menuntut hafalan banyak algoritme dan menggabungkan dua atau tiga algoritme dalam 30 menit untuk memecahkan soal. Karena waktu habis untuk menyelesaikan soal, malah tidak ada waktu untuk menunjukkan kemampuan coding yang sebenarnya.

    • Dalam 20 tahun bekerja di industri, saya belum pernah benar-benar bekerja bersama "senior yang tidak mampu" seperti itu. Cukup dengan resume dan percakapan 15 menit, saya sudah bisa menyaring mereka. Sebaliknya, saya jauh lebih sering melihat orang yang lolos wawancara whiteboard tetapi justru berdampak buruk pada produktivitas tim.

    • Saya tidak paham kenapa lingkungan dengan tenggat singkat, sambil berpikir dan menjelaskan di depan whiteboard, harus dianggap esensial. Kalau tujuannya menyaring orang yang tidak bisa bekerja nyata, tidak perlu sampai seperti ini.

  • Menurut saya, satu-satunya cara untuk benar-benar memeriksa kemampuan melakukan suatu pekerjaan adalah dengan benar-benar menyuruh orang itu melakukan pekerjaan tersebut. Kalaupun ada metode penilaian pengganti, kalau kita bisa meminta mereka melakukan pekerjaan nyatanya, tidak ada alasan memakai cara lain. Jika pekerjaan perusahaan itu sendiri terlalu rumit untuk dipotong menjadi tugas yang bisa dikerjakan saat wawancara, mungkin perusahaan itu sebenarnya hanya melakukan hal-hal yang rumit secara tidak perlu. Misalnya, jika yang dibutuhkan adalah kemampuan mengangkat beban 10 kilogram, ya suruh saja orang itu mengangkat beban 10 kilogram. Tetapi yang terjadi justru tes aneh seperti 'kami akan menilai kekuatanmu, jadi lepaskan celana dan jepit ember 1 kg dengan bokongmu lalu angkat'. Intinya, cukup lihat keterampilan yang memang dibutuhkan untuk pekerjaan nyata. Kalau chef, suruh memasak di dapur sungguhan; kalau konselor dukungan, lihat cara berkomunikasi dalam situasi simulasi. Untuk phone screening pun bisa dilakukan dengan melihat layar mereka secara real-time.

    • Ada sanggahan bahwa "kalau menyuruh kandidat benar-benar bekerja saat wawancara, bukankah akan muncul isu kecurangan atau eksploitasi upah?" Jika tugas wawancara itu dimanfaatkan oleh perusahaan, secara hukum bisa menimbulkan masalah.

    • Ada juga usulan untuk mempekerjakan mereka langsung selama sehari, seminggu, atau sebulan, lalu jika cocok baru direkrut. Namun pendekatan seperti ini tidak cocok dengan sistem employer healthcare ala Amerika.

    • Dari sisi perusahaan, itu memakan terlalu banyak waktu. Karena itu mereka memilih proxy yang lebih condong ke false negative daripada false positive.

    • Saya penasaran bagaimana pendapat Anda tentang kekhawatiran bahwa memberi pekerjaan nyata saat wawancara bisa dianggap sebagai permintaan 'kerja gratis'.

    • Karena perlu waktu lama untuk beradaptasi dengan organisasi baru, mengetes lewat pekerjaan nyata justru bisa jadi tidak efisien. Live coding assessment dianggap lebih baik untuk mengukur komunikasi, pemecahan masalah, dan kemampuan coding murni.

  • Setelah punya anak, kemampuan saya dalam wawancara coding turun drastis. Dulu saya tidak pernah seperti ini, tetapi sekarang terasa terlalu banyak yang dipertaruhkan dalam wawancara. Saat memikirkan asuransi kesehatan, cicilan, pensiun, dan sebagainya, tekanannya jadi besar. Sangat menyakitkan ketika saya benar-benar freeze saat wawancara, lalu baru terpikir solusinya setelah selesai. Semakin banyak waktu yang saya habiskan untuk latihan, justru performa saya makin turun. Karena punya tanggungan keluarga, semakin banyak berlatih saya malah merasa bersalah. Efek belajarnya kecil dan saya justru makin tertekan. Setelah bekerja di big tech, saya merasa gaya wawancara seperti ini diperkenalkan dengan niat sangat "menguji semua orang secara setara", tetapi kenyataannya sama sekali tidak mencerminkan perubahan situasi atau ketimpangan hidup tiap orang. Rekan kerja yang tahan stres pun bisa berubah beberapa tahun kemudian. Ini dimulai atas nama menghilangkan bias, tetapi menurut saya metodenya harus diubah.

    • Perasaan seperti ini bukan cuma Anda. Seiring bertambah usia, kecepatan belajar menurun dan waktu luang berkurang, jadi latihan leetcode juga makin tidak efisien. Menjengkelkan melihat realitas bahwa orang yang punya lebih banyak waktu luang justru mendapat lebih banyak imbalan.

    • Sebagai cara meredakan stres, saya menyarankan mencoba meditasi, pernapasan, L-Theanine, beta blocker, dan semacamnya. Saya juga menyarankan memantau detak jantung dan tekanan darah dengan smartwatch. Cara-cara ini memang membantu memutus lingkaran setan stres.

  • Ini adalah lingkungan stres yang sangat tinggi dan berbeda kualitasnya dari stres pekerjaan sehari-hari. Untuk berbagi pengalaman wawancara di Google: saya adalah orang yang membuat mesin pencari lokal pertama di Belanda, tetapi di Google saya diminta oleh pewawancara yang memakai topi koboi untuk menulis binary search di whiteboard dengan spidol. Saya biasanya tidak menulis dengan tangan, hanya memakai keyboard, dan mereka juga sama sekali tidak tertarik melihat pengalaman saya merancang search index. Saya jadi curiga mungkin yang diinginkan Google adalah mentalitas 'koboi'.

    • Saya juga dulu terbujuk bujuk rayu recruiter Google untuk wawancara, tetapi pewawancaranya begitu buruk sampai-sampai, meski saya bahkan melewati wawancara teknis, sejak itu saya terus menolak tawaran apa pun dari Google. Sebagian besar pertanyaannya bergaya 'jebakan' atau menanyakan struktur UNIX kuno yang tidak relevan dengan kenyataan (misalnya struktur inode). Itu sama sekali tidak terkait dengan role-nya. Perusahaan harus punya proses pelacakan pertanyaan wawancara, umpan balik, dan pelatihan pewawancara. Sampai sekarang masih banyak perusahaan yang membiarkan pertanyaan ditentukan oleh selera pribadi pewawancara.

    • Struktur seperti ini sebenarnya memang bekerja sesuai niatnya. Perusahaan-perusahaan seperti ini menginginkan orang yang sanggup menahan penghinaan apa pun dari perusahaan. Karena kalian memang tidak saling fit, berarti keduanya sama-sama berhasil.

    • Kalau Anda merasa dihina hanya karena diminta melakukan binary search, mungkin ego Anda terlalu besar.

    • Kalau ada gaji tahunan $250k ditambah stock option Google, saya rela menanggung sedikit "penghinaan" selama sehari.

  • Saya memandang live coding screening sebagai 'percakapan tentang kode'. Saya menjelaskan dengan jelas kepada kandidat bahwa tujuan wawancara adalah melihat apakah kami bisa saling berkomunikasi dengan baik. Kemampuan saja tidak cukup; orang itu juga harus bisa berkolaborasi bersama. Misalnya, kalau di tengah percakapan dia salah mengimplementasikan karena salah paham, atau seberapa bagus pun kodenya tetapi tidak bisa berdiskusi teknis, itu tetap masalah. Itulah sebabnya pertanyaan tipe Fizzbuzz penting: bukan hanya untuk menguji kemampuan, tetapi juga untuk menguji kemampuan 'diskusi teknis'.

    • Betul. Hakikat wawancara live coding bukanlah "apakah bisa menyelesaikan masalah", tetapi "apakah bisa menjelaskan bagaimana akan menyelesaikannya". Dasarnya adalah sedikit fondasi teknis dan kemampuan komunikasi. Sebagian besar pekerjaan nyata adalah menjelaskan kepada manajer nonteknis, jadi anggap saja ini yang sedang diuji.

    • Saya suka pendekatan seperti ini. Saya bisa menyelesaikan FizzBuzz dalam setidaknya 3 bahasa dan 4 cara, dan percaya diri bisa menjelaskan semuanya.

  • Saya juga menyadari masalah ini, dan setuju bahwa belum ada alternatif yang benar-benar memuaskan. Sepanjang karier, saya berkali-kali melihat orang yang benar-benar "bicara dan bertindak seperti engineer tetapi sebenarnya tidak bisa coding". Saya juga sering menyesal merekrut orang setelah mengabaikan kemampuan coding mereka saat wawancara. Saya berharap developer muda juga memahami bahwa banyak tahap dalam proses perekrutan justru lebih menguntungkan kandidat yang lebih tua. Saya tahu industri ini penuh dengan engineer yang tidak punya kemampuan coding nyata tetapi lolos berkat kemasan "ahli" yang tidak perlu. Merekrut seseorang tanpa pernah melihat proses coding-nya sama saja seperti merekrut gitaris untuk band hanya berdasarkan resume, percakapan, dan referensi. Seorang pakar gitar yang sebenarnya tidak pernah memainkan gitar tetap bisa saja lolos. Ada orang-orang yang memang bisa lewat dengan cara seperti itu tanpa kualifikasi khusus. Kalau dalam wawancara kita hanya menebak-nebak tanpa bukti langsung, pada akhirnya bias dan prasangka pasti ikut campur.

    • Menanggapi pernyataan "ini bermasalah tetapi tidak ada alternatif", ada juga sistem yang berbasis lisensi seperti dokter dan pengacara. Mereka tidak diminta mendemokan operasi sebelum operasi sungguhan, padahal risikonya jauh lebih tinggi. Faktanya, prosedur verifikasi justru lebih keras untuk posisi bawah, sementara manajer atau jabatan yang dampaknya lebih besar malah lebih mudah lolos.

    • Saya rasa menyuruh kandidat menulis pseudocode di whiteboard lebih baik. Itu mengurangi stres sintaks dan membuat logika pemecahan masalah lebih terlihat. Sekaligus cocok dengan gaya kolaborasi saya sendiri, yaitu bertukar ide bersama di whiteboard.

  • Fenomena “stres itu terpisah dari kemampuan” terus berulang. Paper Microsoft juga mengerikan. Kebanyakan saran hanya berupa "rajin-rajin LeetCode", sambil mengabaikan stres (kortisol). Saya berlatih dengan cara membiasakan diri pada lingkungan stres itu sendiri. Teman-teman tidak bisa melatih dengan cukup keras, dan coach terlalu mahal per jam. Karena itu akhir-akhir ini saya sedang mengembangkan side project bernama Tough Tongue AI. Ini adalah live code editor berbasis suara yang memberikan pertanyaan real-time, gangguan, dan umpan balik langsung. Dengan latihan ini, ketegangan karena 'ada yang mengawasi saya' lama-lama jadi terasa biasa. Jika wawancara live coding akan terus ada, kita butuh cara melatih bukan algoritmenya, tetapi respons fisiologisnya sendiri, yaitu stres.

    • Ini salah satu alat belajar terbaik.