Cara Rekrut Software Engineer yang Tepat untuk Tim Anda
Panduan ini membahas cara screening CV developer, pertanyaan interview programmer, dan kesalahan yang sering terjadi saat merekrut software engineer. Cocok untuk HR, pemilik bisnis, atau founder yang belum punya latar belakang teknis.
Mengapa cara rekrut software engineer sering membingungkan HR non-teknis
CV software engineer biasanya penuh daftar teknologi: Java, React, Docker, AWS, Kubernetes. Bagi HR non-teknis, semuanya tampak sama meyakinkan. Padahal ada jarak besar antara orang yang pernah menyentuh sebuah teknologi dan orang yang sanggup membangun fitur dengannya sampai dipakai pengguna. Akibatnya, kandidat dengan CV rapi lolos ke tahap teknis, sementara kandidat dengan CV sederhana tapi kuat terlewat, dan waktu tim engineering habis untuk interview yang tidak perlu.
Kesulitan kedua ada di senioritas. Judul jabatan tidak seragam antar perusahaan, jadi 'senior' di satu tempat bisa setara 'mid' di tempat lain. Cara paling aman adalah menentukan lebih dulu kebutuhan konkret posisi: stack yang dipakai, ukuran tim, seberapa mandiri orangnya harus bekerja. Setelah itu nilai CV dan jawaban interview terhadap kebutuhan tersebut, bukan terhadap daftar teknologi yang paling panjang.
Tantangan
1
Daftar teknologi tidak menunjukkan kedalaman
Kandidat bisa menulis dua puluh teknologi di CV tanpa pernah memakainya di proyek serius. HR yang menyaring berdasarkan kata kunci akhirnya meloloskan CV yang padat istilah dan melewatkan CV yang ringkas tapi berisi.
2
Portofolio dan repositori sulit dibaca HR
Tautan GitHub berisi puluhan repositori, banyak di antaranya hasil tutorial atau fork. Tanpa tahu mana yang ditulis sendiri, HR tidak bisa menilai kualitasnya dan terpaksa meminta bantuan engineer yang waktunya terbatas.
3
Judul senioritas tidak konsisten antar perusahaan
Lima tahun di startup kecil dan lima tahun di perusahaan besar menghasilkan pengalaman yang berbeda. Jika tingkat senioritas hanya dibaca dari judul jabatan dan lama kerja, penempatan gaji dan ekspektasi sering meleset.
4
Take-home test dan live coding sama-sama berisiko
Tes di rumah yang terlalu panjang membuat kandidat bagus mundur, sedangkan live coding yang menegangkan menyingkirkan orang yang sebenarnya kuat di pekerjaan harian. Format yang salah menyaring kandidat dengan cara yang keliru.
Dari tumpukan CV ke shortlist
Ilustrasi alur: CV masuk, disaring terhadap kriteria, dan hanya kandidat yang paling relevan yang maju ke tahap berikutnya.
Cara lama
Buka CV satu per satu dari email dan job portal, lalu tandai teknologi yang cocok secara manual.
Minta tim engineering membaca tumpukan CV dan menentukan siapa yang layak dihubungi.
Hubungi kandidat satu per satu untuk jadwal interview, sebelum tahu mana yang benar-benar relevan.
Dengan TalentRank
Susun Custom Hiring Criteria untuk posisi: stack inti, tingkat senioritas, dan bukti proyek yang dicari.
Unggah semua CV ke CV Screening AI untuk mendapat peringkat dan ringkasan kandidat terhadap kriteria tersebut.
Kumpulkan data awal lewat WhatsApp Prescreening, seperti ketersediaan bergabung dan tautan portofolio atau GitHub.
Jalankan AI Interview dengan pertanyaan teknis dasar, tinjau skor dan ringkasannya, lalu jadwalkan interview teknis dengan tim.
Kriteria screening CV developer yang layak dipakai
Tentukan bobot tiap kriteria bersama engineer atau tech lead sebelum lowongan dibuka. Gunakan tabel ini sebagai titik awal, lalu sesuaikan dengan stack dan tingkat senioritas posisi Anda. Kriteria prioritas tinggi menentukan lolos atau tidaknya kandidat.
Kriteria
Prioritas
Tanda yang baik di CV
Perlu ditanyakan
Kecocokan tech stack dengan pekerjaan
Tinggi
Teknologi inti posisi muncul di deskripsi proyek dengan peran yang jelas, misalnya membangun API dengan Node.js untuk aplikasi yang dipakai pengguna, bukan sekadar disebut di bagian skill.
Teknologi hanya muncul di daftar skill, tanpa satu pun proyek yang menyebutnya. Tanyakan di interview di mana dan bagaimana teknologi itu dipakai.
Bukti proyek nyata dan repositori
Tinggi
Ada proyek yang berjalan dan bisa dicoba, atau repositori dengan riwayat commit yang berkelanjutan, README yang menjelaskan cara menjalankannya, dan struktur kode yang rapi.
Repositori hanya berisi hasil tutorial atau fork tanpa perubahan, dengan satu commit besar. Minta kandidat menjelaskan bagian mana yang ditulis sendiri.
Kemampuan problem solving
Tinggi
Deskripsi pengalaman memuat masalah, pilihan solusi, dan alasan memilihnya, misalnya mengatasi query lambat atau mengurangi waktu muat halaman dengan langkah yang bisa dijelaskan.
Pengalaman hanya berisi daftar tugas seperti membuat fitur dan memperbaiki bug, tanpa konteks masalah atau keputusan teknis yang diambil.
Kesesuaian tingkat senioritas
Tinggi
Cakupan tanggung jawab sesuai level: junior mengerjakan tugas terarah, mid memiliki fitur utuh, senior memengaruhi arsitektur, membimbing rekan, dan ikut menentukan prioritas teknis.
Judul senior dengan tanggung jawab yang setara junior, atau sebaliknya. Nilai cakupan pekerjaan dan dampaknya, bukan hanya lama pengalaman dan judul jabatan.
Pengalaman kerja tim dan code review
Sedang
Menyebut kerja dengan product manager, designer, atau QA, memakai pull request dan review kode, serta terbiasa dengan alur seperti branching, testing, dan deployment bersama tim.
Semua proyek dikerjakan sendirian tanpa review dari siapa pun. Ini wajar untuk freelancer, tetapi perlu ditanyakan bagaimana kandidat menjaga kualitas kodenya.
Komunikasi tertulis dan kerapian CV
Sedang
CV singkat dan jelas, tiap proyek punya satu kalimat tentang tujuan produk dan satu kalimat tentang kontribusi pribadi. Tulisan yang jernih biasanya sejalan dengan komunikasi teknis yang jernih.
CV panjang, penuh istilah, dan tidak menjelaskan produk atau hasil kerja. Sulit untuk tahu apa yang sebenarnya dikerjakan kandidat dalam proyek tersebut.
Kecocokan tech stack dengan pekerjaan
Tinggi
Tanda yang baik di CV: Teknologi inti posisi muncul di deskripsi proyek dengan peran yang jelas, misalnya membangun API dengan Node.js untuk aplikasi yang dipakai pengguna, bukan sekadar disebut di bagian skill.
Perlu ditanyakan: Teknologi hanya muncul di daftar skill, tanpa satu pun proyek yang menyebutnya. Tanyakan di interview di mana dan bagaimana teknologi itu dipakai.
Bukti proyek nyata dan repositori
Tinggi
Tanda yang baik di CV: Ada proyek yang berjalan dan bisa dicoba, atau repositori dengan riwayat commit yang berkelanjutan, README yang menjelaskan cara menjalankannya, dan struktur kode yang rapi.
Perlu ditanyakan: Repositori hanya berisi hasil tutorial atau fork tanpa perubahan, dengan satu commit besar. Minta kandidat menjelaskan bagian mana yang ditulis sendiri.
Kemampuan problem solving
Tinggi
Tanda yang baik di CV: Deskripsi pengalaman memuat masalah, pilihan solusi, dan alasan memilihnya, misalnya mengatasi query lambat atau mengurangi waktu muat halaman dengan langkah yang bisa dijelaskan.
Perlu ditanyakan: Pengalaman hanya berisi daftar tugas seperti membuat fitur dan memperbaiki bug, tanpa konteks masalah atau keputusan teknis yang diambil.
Kesesuaian tingkat senioritas
Tinggi
Tanda yang baik di CV: Cakupan tanggung jawab sesuai level: junior mengerjakan tugas terarah, mid memiliki fitur utuh, senior memengaruhi arsitektur, membimbing rekan, dan ikut menentukan prioritas teknis.
Perlu ditanyakan: Judul senior dengan tanggung jawab yang setara junior, atau sebaliknya. Nilai cakupan pekerjaan dan dampaknya, bukan hanya lama pengalaman dan judul jabatan.
Pengalaman kerja tim dan code review
Sedang
Tanda yang baik di CV: Menyebut kerja dengan product manager, designer, atau QA, memakai pull request dan review kode, serta terbiasa dengan alur seperti branching, testing, dan deployment bersama tim.
Perlu ditanyakan: Semua proyek dikerjakan sendirian tanpa review dari siapa pun. Ini wajar untuk freelancer, tetapi perlu ditanyakan bagaimana kandidat menjaga kualitas kodenya.
Komunikasi tertulis dan kerapian CV
Sedang
Tanda yang baik di CV: CV singkat dan jelas, tiap proyek punya satu kalimat tentang tujuan produk dan satu kalimat tentang kontribusi pribadi. Tulisan yang jernih biasanya sejalan dengan komunikasi teknis yang jernih.
Perlu ditanyakan: CV panjang, penuh istilah, dan tidak menjelaskan produk atau hasil kerja. Sulit untuk tahu apa yang sebenarnya dikerjakan kandidat dalam proyek tersebut.
Pertanyaan interview programmer yang membedakan kandidat
Pertanyaan interview programmer terbaik meminta kandidat bercerita tentang pekerjaan nyatanya, lalu digali dengan pertanyaan lanjutan. Gunakan tiga kelompok ini untuk interview awal, dan sisakan soal teknis mendalam untuk sesi bersama engineer.
Pengalaman teknis dan proyek
1.Ceritakan satu fitur terakhir yang Anda bangun dari awal sampai rilis. Bagian mana yang Anda putuskan sendiri?
Jawaban yang baik: Jawaban yang baik menyebut keputusan konkret dan batas tanggung jawab. Jawaban yang hanya memakai kata kami tanpa peran pribadi perlu digali lagi.
2.Mengapa Anda memilih teknologi itu dibanding alternatifnya di proyek tersebut?
Jawaban yang baik: Kandidat yang paham menyebut pertimbangan seperti ukuran tim, performa, atau kebutuhan bisnis, bukan sekadar bilang karena populer atau karena sudah biasa.
3.Apa bug tersulit yang pernah Anda temukan di production, dan bagaimana Anda melacaknya?
Jawaban yang baik: Jawaban yang kuat menunjukkan cara berpikir sistematis: membuat hipotesis, memeriksa log, mempersempit penyebab, lalu memastikan perbaikannya tidak merusak bagian lain.
Problem solving dan code review
4.Jika sebuah halaman tiba-tiba lambat saat pengguna bertambah, apa yang Anda periksa lebih dulu?
Jawaban yang baik: Jawaban yang baik dimulai dari pengukuran, bukan tebakan: memeriksa query, jaringan, atau beban server sebelum mengubah kode apa pun.
5.Bagaimana Anda me-review pull request dari rekan yang lebih junior? Apa yang Anda komentari dan apa yang dibiarkan?
Jawaban yang baik: Kandidat senior biasanya membedakan masalah penting seperti logika dan keamanan dari soal selera gaya, serta memberi komentar yang mendidik.
6.Kode lama Anda sendiri yang mana yang sekarang Anda anggap kurang baik? Apa yang akan Anda ubah?
Jawaban yang baik: Kemampuan menilai karya sendiri secara jujur menunjukkan kematangan. Kandidat yang merasa semua kodenya sudah benar patut ditanya lebih jauh.
Kerja sama dan senioritas
7.Bagaimana Anda menjelaskan kendala teknis kepada orang non-teknis seperti HR atau tim bisnis?
Jawaban yang baik: Jawaban yang baik memakai analogi dan dampak ke bisnis, bukan istilah teknis. Kemampuan ini penting karena engineer hampir selalu bekerja dengan tim lain.
8.Saat estimasi waktu meleset, apa yang Anda lakukan dan kepada siapa Anda memberi tahu?
Jawaban yang baik: Kandidat yang matang memberi kabar lebih awal beserta pilihan solusi, bukan menunggu mendekati tenggat. Ini menunjukkan tanggung jawab dan kejujuran.
9.Apa yang Anda lakukan jika tidak setuju dengan keputusan arsitektur dari tech lead?
Jawaban yang baik: Jawaban yang sehat mencakup menyampaikan data dan alternatif dengan sopan, lalu menjalankan keputusan akhir dengan baik, tanpa memendam atau menentang diam-diam.
Kesalahan umum
01
Menyaring CV dari jumlah teknologi yang tertulis
CV dengan daftar teknologi terpanjang belum tentu paling mampu. Nilai kecocokan dengan stack inti posisi dan bukti pemakaiannya di proyek, lalu abaikan teknologi tambahan yang tidak dibutuhkan pekerjaan.
02
Memberi take-home test yang memakan berhari-hari
Kandidat yang sudah bekerja tidak punya waktu panjang untuk tes gratis. Batasi tugas sekitar dua jam, mirip pekerjaan sebenarnya, dan bahas hasilnya bersama kandidat daripada hanya memberi nilai.
03
Memakai soal algoritma untuk semua posisi
Soal algoritma ala kompetisi jarang mencerminkan pekerjaan harian sebagian besar posisi. Pilih tugas yang mirip pekerjaan nyata, misalnya memperbaiki fungsi yang bermasalah atau membaca potongan kode lalu memberi komentar.
04
Tidak melibatkan engineer sejak menyusun kriteria
HR yang menyusun kriteria sendirian sering memakai istilah yang kurang tepat. Libatkan satu engineer selama dua puluh menit di awal untuk menentukan stack inti, level, dan hal yang tidak bisa ditawar.
05
Menyamakan lama pengalaman dengan senioritas
Sepuluh tahun mengerjakan hal yang sama berbeda dengan lima tahun yang terus naik tanggung jawab. Tanyakan apa yang berubah dalam cakupan kerja kandidat dari tahun ke tahun, bukan hanya berapa lama.
Skenario
Skenario ilustratifIlustrasi untuk menjelaskan cara kerja, bukan kasus klien nyata.
Perusahaan
Sebuah perusahaan jasa logistik skala menengah yang ingin membangun tim produk internal untuk aplikasi pelacakan pengiriman.
Situasi
Perusahaan membuka satu posisi backend engineer dan menerima banyak lamaran dari job portal dan LinkedIn. HR belum punya engineer senior yang sempat membaca semua CV.
Hasil yang diharapkan
Waktu engineer terpakai untuk interview dengan kandidat yang paling relevan, dan keputusan akhir tetap ada di tangan tim.
1HR dan satu engineer menyusun Custom Hiring Criteria: stack inti, level mid, dan syarat adanya proyek yang pernah dirilis.
2Semua CV diunggah ke CV Screening AI, yang memberi peringkat dan ringkasan tiap kandidat terhadap kriteria tersebut.
3Kandidat teratas dihubungi lewat WhatsApp Prescreening untuk mengumpulkan ketersediaan, ekspektasi, dan tautan repositori.
4Kandidat yang lolos menjalani AI Interview, lalu HR meninjau skor dan ringkasannya dan engineer memutuskan siapa yang dipanggil ke interview teknis.
Yang Anda terima
Peringkat kandidat terhadap kriteria posisi yang Anda tetapkan
Ringkasan CV per kandidat: stack, proyek, dan cakupan pengalaman
Jawaban, skor, dan ringkasan dari AI Interview untuk ditinjau HR
Data awal dari WhatsApp, seperti ketersediaan dan tautan portofolio