Skip to content

How Do You Interview a Programmer?

July 30, 2007

Mencari karyawan yang pas itu susah-susah-sulit. Hehe, iya, bukan susah-susah-mudah, krn emang susah. Saya gak bohong.😛

Berikut ini hanya salah satu artikel dari sekian banyak referensi ttg how-to-recruit/interview-programmer.

Explore an Area of Expertise

“Hire for a talent, not a particular narrow niches”. Jadi jangan menilai orang dari skill-nya saat ini. Teknologi itu cepat berubah, shg skill saat ini bisa jadi udah kadaluarsa dlm bbrp tahun. Nilailah talenta, alias kemampuannya untuk berkembang dan belajar. Orang yang cepat menyerap hal-hal baru. Orang yang seperti ini tinggal disuruh kursus aja, pasti gak lama kemudian akan memiliki skill yang dibutuhkan saat itu.

Teorinya sih gampang, tapi sebenernya susah. Kita cenderung terpukau oleh resume yang mencantumkan sederet technical skill. Secara naluriah pun kita sering condong ke calon yang siap pakai (baca: sudah menguasai skill/tools tertentu), karena itu lebih mudah dan cepat, gak usah ngajarin lagi.

“Let them choose an area in which they feel they have expertise.” Lebih baik lagi kalau selain punya talenta, si calonnya sendiri tau dia minatnya di mana dan punya expertise di bidang apa. Dengan begitu lebih gampang mengarahkannya.

Have Them Critique Something

Idenya adalah untuk memancing dialog. Bukan pertanyaan yang jawabannya singkat atau Yes/No doang.

“What parts of Java don’t you like and why?” Minta si calon mengkritik sesuatu. Boleh mengenai teknologi tertentu, sepotong sample codes milik tim kita, atau topik yang lebih umum.

*ngomong-ngomong, tadinya aku pikir Java yang dimaksud tuh pulau Jawa, haha, stupid me😛 *

Ask Them to Solve Problem

Selain minta kritik, cara lain untuk memancing open-ended dialog adalah dengan meminta si calon korban memikirkan sebuah desain, atau solusi atas sebuah masalah.

“Present problems, not puzzles”. Hati-hati, jangan terjebak dengan permainan puzzle atau tricky question. Puzzle itu seperti pedang bermata dua. Memang di satu sisi kita akan terkesan jika si calon bisa menjawab sebuah teka-teki yang sulit. Tapi kita gak bisa memastikan, apakah itu muncul dari pemikirannya sendiri atau karena dia pernah mendengar teka-teka itu sebelumnya.

Joel menyebut puzzle thing ini sebagai brain teaser questions. Silakan baca The Guerrilla Guide to Interviewing yang dia tulis. Tentang itu disebut di bagian akhir. Selain Joel, buku How Would You Move Mount Fuji juga ada menyinggung hal yang sama.

So, pointnya adalah, sodorkan problem sungguhan, bukan permainan teka-teki.

Look at Their Code

“Ask them to bring to the interview a sample of code they had written in the past”. Jadi waktu telepon minta dia datang test/interview, pastikan minta dia mempersiapkan sample code-nya. Hmm, tapi dari mana kita tau bahwa itu beneran code punya dia? Ya waktu interview nanti minta dia jelasin dong. Harusnya dari diskusi ketahuan apakah itu code dia atau contekan.

Atau bisa juga minta dia nulis/coding di tempat, langsung saat test/interview. Tapi mengenai ini ada beberapa perdebatan. Katanya gak make sense ah, disuruh NULIS PAKE TANGAN DI ATAS KERTAS. Soalnya in real work, programmer SUNGGUHAN ya coding pake IDE, lengkap dengan auto-completion, macros, indexed API documentation, dan context-sensitive help.

Anyway, entah minta dia nyiapin dari rumah atau disuruh “pura-pura” coding (hehe), prinsipnya kita perlu melihat code dia. Kata Joel lagi, kalau kita mau sewa katering kita pasti mencicipi masakannya dulu toh. Mau sewa magician kita juga minta dia tunjukin some tricks kan? So sama, mau hire programmer, lihatlah sample code-nya. (The Joel Test: 12 Steps to Better Code, step ke-11)

Find Out What Books They Read

Hmm, tentunya buku yang relevan lah ya. Programming books. Bukan komik, tabloid, novel, manga.😛

“Several people indicated that they ask candidates about the programming books they read to see if a programmer is self-motivated or concerned about improving their own programming skills.”

Gak usah dibahas lagi, udah jelas kali ya. Bukan cuman ditanyain judulnya, tapi ya suruh ceritain isi bukunya, apa intinya, dan apa yang dia pelajari dari buku itu.

Ask About a People Problem

“As important as technical ability, or perhaps more important, is personality. How well would the candidate fit the team? How well would they fit the work environment?”

Tanyakan problem apa yang pernah dialami dengan boss sebelumnya, dan bagaimana dia dealt with it. Kalau bisa, cek referensi yang tercantum dalam resume-nya. Apa pendapat mereka tentang si calon?

Bagi beberapa orang, mungkin ingin tau juga apakah si calon ini orang yang enak juga diajak bergaul di luar jam kantor. Kalau memang hal ini penting, boleh selidiki apa hobinya, siapa aja teman-temannya, dll. Tapi tetap hati-hati menanyakannya, sebab bisa jadi buat beberapa orang pertanyaan sejenis ini seperti mau mengorek-ngorek kehidupan pribadinya.

Buat beberapa orang mungkin aspek ini malah gak penting. Asal bisa bekerja dengan baik, don’t care about anything else. Katanya malah kadang bagus juga punya “a professional pain in the ass”, because we need nudging out of our comfort zone once in a while, so we can look at problems from a different perspective.

Get to Know Them

“Ask about a project that was especially interesting to them, or challenging, or successful, or most proud of.” Bicarakan tentang project yang dicantumkan di resume-nya, how the team organized, teknologi/arsitektur apa yang dipakai, apakah project tsb sukses. Apa perannya dalam project tsb? Siapa leadernya? Bagaimana irama kerja tim tsb?

Tapi sejam interview tentu saja gak cukup untuk mengenal si calon. Karena itu kita punya masa percobaan selama 3 bulan. So manfaatkan masa itu sebagai kesempatan untuk merasakan bagaimana bekerja bersama kandidat. Kalau bisa, jangan dihabiskan untuk training saja, karena feel-nya tentu lain antara training dengan bekerja sungguhan.

Kalau selama masa percobaan kita ngerasa gak cocok, jangan ragu-ragu untuk terminate! Karena seringkali hanya itulah satu-satunya kesempatan company untuk mengakhiri hubungan kerja tanpa kewajiban membayar pesangon atau kemungkinan dituntut secara hukum. So, trial them in probation period.

–> Kesimpulan, ya memang susah-susah sulit mendapatkan karyawan yang pas, hehehe…😉

Ada satu komentar di blog-nya Joel, katanya kita (interviewers) seringkali lupa akan 1 hal. Gak masalah kita di sisi mana: interviewer atau interviewee, interview adalah sebuah test terhadap skill dan etika bagi kedua belah pihak.

I couldn’t agree more!🙂

*dirangkum dari artikel “Writing Better Code, How to Interview a Programmer” by Bill Venners*

From → IT, matabaca, opini

One Comment
  1. there’s one more: within probation (usually 3 months). in that period we can see the actual performance of the programmer in the real world.

Comments are closed.

%d bloggers like this: