Lo Gak Butuh Leetcode 500 buat Jadi Senior
Gue gak pernah ngerjain Leetcode lebih dari 50 soal. Tapi gue dihire sebagai senior engineer. Bukan karena gue jenius - tapi karena wawancara yang gue ambil gak ngukur hapalan algoritma.
0xNN · · 4 min read
Gue gak pernah ngerjain Leetcode lebih dari 50 soal. Bukan sombong - gue cuma sadar: Leetcode ngukur hapalan, bukan kemampuan engineering.
Tapi gue dihire sebagai senior engineer di beberapa tempat. Bukan karena gue jenius. Tapi karena gue pilih wawancara yang tepat dan tahu apa yang sebenarnya diukur.
---
Masalah Leetcode
Leetcode populer karena objektif. Gampang diskorin. Tapi masalahnya:
1. Lo latihan pola soal, bukan problem solving. Setelah 100 soal, lo mulai liat pola: "oh ini two pointers," "oh ini sliding window." Lo bukan mikir - lo mencocokkan.
2. Gak relevan sama kerjaan sehari-hari. Kapan terakhir lo nulis red-black tree dari nol di production? Gak pernah.
3. Bias terhadap yang punya waktu luang. Senior engineer dengan keluarga, side project, dan production on-call gak punya waktu grinding 500 soal. Fresh graduate punya.
4. Gak ngukur apa yang bikin senior itu senior. Maintainability, code review, arsitektur, komunikasi - gak ada di Leetcode.
---
Yang Sebenarnya Diukur di Level Senior
Wawancara senior yang bagus ngukur tiga hal:
1. Navigasi codebase existing
Bukan nulis dari nol. Tapi baca kode orang lain, ngerti polanya, dan nambahin fitur tanpa ngerusak yang udah jalan.
Di wawancara, ini bisa diuji lewat take-home yang realistis atau pair programming di codebase tiruan.
2. Trade-off reasoning
"Kenapa lo pilih PostgreSQL daripada MySQL?" - jawaban yang bener bukan "PostgreSQL lebih bagus." Tapi: "Karena butuh JSONB buat flexible schema, dan write-heavy-nya rendah."
Senior engineer tiap hari bikin keputusan dengan informasi gak lengkap. Wawancara harus ngukur itu.
3. Communication & collaboration
Gue pernah gagal di technical round karena jawaban teknis gue bener - tapi gue gak bisa jelasin ke non-technical stakeholder.
Leetcode gak ngukur ini sama sekali. Senior yang gak bisa komunikasi = liability.
---
Cara Gue Prepare Tanpa Grinding Leetcode
Gue prepare wawancara senior dengan:
1. System design deep dive
Gue pilih 3 sistem yang gue pernah kerja-in, dan gue dalemin: arsitektur, bottleneck, failure mode, scaling decision. Ini jadi modal jawab "ceritain tentang proyek lo."
2. Satu bahasa yang dalem
Gue dalemin JavaScript (ekosistem gue) samapi ke event loop, memory leak patterns, V8 optimization. Bukan soal hapalan - tapi karena ini yang ditanyain di real wawancara.
3. Code review sebagai pemanasan
Daripada Leetcode, gue minta temen ngasih PR palsu. Gue review: apa yang salah, apa yang bisa diperbaiki, apa security issue-nya. Ini skill yang sebenernya diuji.
4. Behaviorals dengan format STAR
Gue tulis 5 cerita dari pengalaman: conflict with teammate, production incident, technical decision, mentorship, failure. Setiap cerita distructure rapi.
---
Kapan Leetcode Masih Berguna?
Jujur: buat perusahaan tertentu (FAANG, unicorn tertentu), Leetcode masih jadi gatekeeper. Tapi:
• Jumlahnya makin dikit yang pure Leetcode
• Banyak yang udah pindah ke take-home / system design / pairing
• Leetcode-heavy company biasanya ngasih kompensasi di atas rata-rata - jadi investasi lo terbayar
Tapi Leetcode 500 bukan tiket jadi senior. Senioritas diukur dari dampak, bukan dari hapalan.
---
Gue Saranin: Jangan Grind, Pilih Wawancara yang Tepat
Daripada lo habiskan 200 jam buat Leetcode, mending:
• 50 jam baca codebase open source yang lo kagumi
• 50 jam nulis dokumentasi atau blog post teknis
• 50 jam latihan system design
• 50 jam improvement portofolio / side project
Itu ngasih lo lebih banyak value - buat wawancara maupun karir.
Karena senior engineer sejati bukan yang hafal 500 soal. Tapi yang bisa ngebaca situasi, bikin keputusan, dan deliver dampak.
*Coba lo pikirin: kapan terakhir lo nulis binary search di production? Bandingin sama kapan terakhir lo debug production issue jam 2 pagi. Jawabannya nunjukin mana skill yang sebenernya penting.*
Referensi
• LeetCode Problem-Solving Resources
• Google Engineering Practices: Code Review
• NIST Secure Software Development Framework