Jebakan dan Petunjuk

4-Tips: Coders Mewawancarai Coders

Menghindari Memperkenalkan Bug Saat Mempekerjakan

Saya telah meninjau CV dan resume sejumlah kandidat internasional selama lima tahun terakhir, melakukan wawancara sebanyak tiga digit dengan kandidat yang menarik perhatian saya.

Namun, saya resmi menjadi insinyur perangkat lunak.

Apakah Anda atau tim Anda memiliki kesenjangan di mana manajemen tidak memiliki pengetahuan mendalam untuk menghadapi tantangan dalam sebuah wawancara, namun para insinyur belum pernah berlatih melibatkan kandidat secara verbal dengan cara yang berguna?

Anggap saja lebih mudah untuk meningkatkan keterampilan seorang teknisi dalam cara melakukan wawancara daripada meminta manajer non-teknis untuk mengetahui apakah arsitektur berorientasi data yang dinyatakan oleh seorang kandidat adalah jenius atau palsu.

Ini mahal jika Anda atau staf teknis Anda menghabiskan banyak waktu untuk membantu wawancara. Ini adalah peralihan konteks yang besar bagi seorang pengembang dan ketika Anda mempertimbangkan untuk meninjau lamaran, mengobrol dengan pekerja terkait tentang kebutuhan Anda dan apa yang harus difokuskan, ditambah waktu wawancara dan tanya jawab, itu banyak waktu.

Jika grup Anda merekrut karyawan, itu karena terlalu banyak pekerjaan yang harus diselesaikan. Ini berarti biaya peluang yang lebih tinggi dari biasanya di bidang non-rekayasa.

Setiap waktu yang dihabiskan untuk tidak melakukan pekerjaan utama Anda harus efektif.

Beberapa orang pada dasarnya cekatan dalam menilai orang, namun seperti kita ketahui, pengalaman yang berulang juga penting. Saya tahu hal itu bermanfaat bagi saya. Berikut adalah beberapa kesimpulan utama saya.

Jangan menyamakan kapasitas untuk memahami teknologi dengan kapasitas untuk memahami manusia

Sebagian besar dari Anda yang membaca ini meraih kesuksesan berdasarkan bakat dan kerja keras Anda dalam pemrograman, matematika, atau teknik.

Wawancara bukanlah salah satunya.

Menilai orang bukanlah coding. Ini bahkan bukan sains. Itu seni.

Ada beberapa pola, tetapi polanya sangat berbeda sehingga Anda harus membawa wawasan terbaik Anda.

Meskipun demikian, Anda perlu memanfaatkan pengetahuan Anda tentang subjek tersebut untuk menilai kelayakan kandidat untuk pekerjaan tersebut. Salah satu keterampilan yang dapat dan harus Anda gunakan adalah kemampuan Anda untuk melihat sesuatu yang baru, dengan sabar meninjaunya, dan dengan demikian, memahaminya dengan lebih baik daripada orang yang lancang atau terburu-buru.

Untuk memanfaatkannya, Anda harus tetap fokus. Ini membawa kita ke tip berikutnya.

Pastikan Anda menilai pengetahuan mereka, bukan hanya berbicara tentang teknologi

Kendala yang umum terjadi adalah membicarakan tentang teknologi dibandingkan mengeksplorasi hal-hal spesifik yang mereka ketahui. Anda mencoba untuk mendapatkan pemahaman apakah pengetahuan mereka cocok dengan posisi yang ingin Anda isi.

Anda dan kandidat secara otomatis memiliki banyak kesamaan minat. Sangat mudah – bahkan menggoda secara sosial – untuk membangun hubungan baik dengan seorang kandidat tetapi gagal dalam tugas Anda: untuk menentukan apakah mereka mampu melakukan pekerjaannya.

Anda tidak perlu bersikap kasar, tetapi beralihlah dari obrolan teknis ke hal spesifik tentang apa yang dibutuhkan grup Anda.

Apakah Anda memiliki basis kode dengan cakupan pengujian yang buruk? Jangan puas membiarkan mereka mengatakan menurut mereka kode harus memiliki kasus pengujian, bersandarlah pada mereka tentang di mana dan kapan mereka melihatnya berhasil, gagal, pro, kontra.

Mereka bilang mereka “tahu” OOP? Baik, tapi tanyakan kapan terakhir kali mereka menulis sesuatu yang menghindari warisan atau kelas, dan alasannya.

Ini bukan pesta makan malam di mana Anda bertemu dengan sesama pembuat kode dan berbagi cerita yang sama. Anda mencari pengalaman langsung, dijelaskan, dengan contoh, berkaitan dengan kebutuhan Anda.

Kata-kata teknologi itu seperti petunjuk— kata-kata itu tidak akan menunjukkan nilai sampai direferensikan

Siapa pun yang CV-nya membuat Anda tertarik, pasti tahu banyak kata-kata teknologi. Hasilnya, jika saya mau, saya bisa membuat kandidat yang paling malas sekalipun agar terdengar cerdas dengan membimbing mereka untuk melontarkan kata-kata hampa tentang “layanan mikro”, “pengujian”, “pola desain”, atau istilah industri lainnya.

Tugas Anda adalah membuat mereka menunjukkan bahwa mereka memahaminya melalui pengalaman sendiri mereka.

Dapatkah mereka memberi tahu Anda betapa mereka bosan dengan bug pemadam kebakaran akibat permasalahan lintas sektoral yang dijalankan dengan buruk dalam kode lama, melobi manajemen agar meluangkan waktu untuk memperbaikinya sehingga menghemat waktu, uang, dan parasetamol departemen mereka untuk pengembang dukungan, dan jelaskan refactornya?

Jika demikian, mereka tidak perlu mengumumkan bahwa mereka adalah “pemula” yang memahami “modularitas”. Mereka jelas memahami sejumlah istilah teknologi secara visual, dan sekarang Anda memahami cara mereka berpikir dan bertindak serta dapat membayangkan apakah istilah tersebut tepat untuk tugas yang perlu Anda selesaikan di perusahaan Anda.

Yaitu. menyelidiki apa yang mereka ketahui, bukan hanya apa yang mereka katakan.

Ajukan pertanyaan yang tidak dapat mereka jawab atau yang tidak dapat mereka jawab

Kuncinya di sini adalah mengapa Anda menanyakan pertanyaan seperti itu. Itu karena mereka akan punya jawabannya, Anda hanya perlu menafsirkannya.

Orang pintar sering kali menjadi pintar karena mereka kompetitif (walaupun hanya dengan diri mereka sendiri) untuk belajar keras dan menghasilkan pekerjaan berkualitas tinggi. Secara problematis, daya saing dapat mengarah pada perilaku menyedihkan pewawancara yang berusaha membuktikan dirinya pintar.

(Selain itu, jika Anda diwawancarai oleh orang-orang yang merasa tidak aman sehingga perlu menjadikan Anda sebagai pria alfa, tanyakan apakah perusahaan itu cocok untuk Anda.)

Saat Anda menjadi pewawancara, tidak perlu melakukan postur. Anda sudah mempunyai tugas — yaitu menilai apakah orang yang Anda ajak bicara mampu berkontribusi dan berkembang di organisasi Anda.

Fakta: tidak ada seorang pun yang memasuki pekerjaan baru dengan mengetahui segalanya. Anda ingin seorang rekrutan menjadi efektif dengan mempelajari apa yang tidak mereka pelajari. Jika mereka gagal dalam tugas ini, maka biayanya mahal. Orang yang direkrut akan menjadi orang yang tidak berguna, dan lebih buruk lagi, orang yang tidak berguna yang menguras tenaga orang-orang di sekitarnya karena orang lain harus membantu mengisi kesenjangan dalam pengetahuan dan produktivitas.

Temukan cara untuk mendorong kandidat ke bidang yang tidak mereka ketahui, lalu perhatikan bagaimana respons mereka.

Apakah mereka memikirkannya dengan matang dan menemukan keterbatasan mereka atau apakah mereka melakukan tindakan verbal yang setara dengan melambaikan tangan untuk mengalihkan perhatian Anda? Apakah mereka frustrasi? Apakah mereka menanyakan jawabannya kepada Anda? Apakah mereka mengusulkan strategi bagaimana mereka belajar?

Pertanyaan yang berhasil bisa berupa apa saja, atau kombinasi. Pertanyaan-pertanyaan aneh tentang atom, masalah pengkodean akademis adalah hal yang umum (meskipun sering kali tidak ada gunanya digunakan sebagai "gotcha", bukan sebagai diagnostik). Ada pertanyaan-pertanyaan seperti “Berapa biaya yang harus Anda keluarkan untuk mencuci semua jendela di Seattle?”

Saya merasa efektif untuk menyelidiki dengan satu atau lebih pertanyaan teknis spesifik tentang bahasa pilihan kandidat (menunjukkan seberapa baik mereka menguasai bahasa tersebut) dan kemudian pertanyaan semi-hipotetis tentang situasi yang masuk akal yang diambil dari perangkat lunak perusahaan sendiri saya ( membantu menentukan apakah pengetahuan mereka bersifat akademis atau terapan).

Kesimpulannya

  • Pertanyaan yang menantang — cara mereka bereaksi sama pentingnya dengan jawaban apa pun
  • Mintalah mereka menjelaskan alasannya, dan yang lebih penting lagi bagaimana, dari contoh yang mereka berikan
  • Tetap fokus — ini adalah percakapan, bukan percakapan
  • Ingatkan diri Anda bahwa manusia bukanlah algoritma

Semoga beruntung.