Saya telah melihat sejumlah pertanyaan sejak saya berada di sini di mana, dalam jawabannya, seseorang telah menyatakan bahwa mereka tidak akan pernah menggunakan portofolio atau sampel kode yang dikodekan di luar proses wawancara untuk menilai seorang kandidat, karena ada kemungkinan bahwa kode telah ditulis oleh orang lain. Saya menemukan diri saya terkejut dengan ini.
Cara saya melihatnya, jika saya meminta seseorang untuk datang dan menyelesaikan masalah sederhana di tempat, sangat sedikit yang bisa saya pelajari darinya. Saya tidak bekerja untuk perusahaan seperti Google di mana pekerjaan dicari dan saya dapat menuntut waktu sehari seseorang. Tetapi sepotong besar kode hobi menulis bisa memberi tahu saya banyak.
Ya, ada kemungkinan plagiarisme, tetapi mereka harus dilatih dengan sangat baik untuk melalui diskusi selama satu jam tentang kode itu. Dan jika itu masalahnya, mereka harus menjadi pembelajar yang sangat cepat untuk melewati masa percobaan 3 bulan mereka (di mana saya dapat menyingkirkan mereka tanpa alasan dan tanpa pemberitahuan). Jika mereka menjadi programmer yang baik dengan cepat, cukup adil, saya telah ditipu, tetapi saya masih memiliki programmer yang baik.
Pada akhirnya, biaya untuk perusahaan kami dan manfaat bagi calon penjiplakan sangat minim.
Ini membuat saya berpikir tentang industri lain. Seniman, fotografer, desainer semua menggunakan portofolio dan tidak ada yang terlalu khawatir tentang plagiarisme di sana. Seorang penulis akan mendapatkan dana untuk sebuah buku berdasarkan bab-bab yang telah ia tulis pada masanya sendiri. Anda tidak akan meminta seorang arsitek untuk datang dan menggambar spesifikasi desain untuk sebuah rumah pada saat wawancara.
Jadi apa yang membuat kami berbeda? Mengapa begitu penting untuk menempatkan seseorang di depan komputer dan membuat mereka membuat kode penggabungan data atau kalkulator faktorial, kadang-kadang tanpa akses ke alat yang kita gunakan sehari-hari, seperti internet? Apa yang salah dengan gagasan portofolio kode?
Saya benar-benar tertarik untuk mengetahui, jika saya berpotensi membuat kesalahan besar yang belum membakar saya.
Pertama-tama, kami adalah insinyur, bukan seniman. Kami bekerja dalam tim, jadi dalam pengalaman kerja kami yang sebenarnya, kode "kami" sering kali merupakan hasil kerja tim, karena itulah cara kerja nyata biasanya dilakukan. Tidak ada banyak kode profesional yang bisa saya klaim untuk kepemilikan tunggal
Kedua, sebagian besar kode dalam portofolio hipotetis saya adalah kode yang tidak dapat saya tunjukkan kepada siapa pun, karena ini bersifat rahasia. Kode yang saya buat untuk proyek hewan peliharaan pribadi saya tidak mencerminkan semua keterampilan dan perilaku kerja saya yang khas.
sumber
Saya telah mewawancarai banyak orang selama saya menjadi praktisi perangkat lunak. Saya telah mencapai titik di mana saya percaya bahwa kuis dan tugas pemrograman mainan adalah pemborosan bandwidth yang berharga. Kuis dan tugas pemrograman mainan hanya berfungsi untuk menguji apa yang diketahui pewawancara. Mereka bukan cara yang akurat untuk mengukur apa yang diketahui seorang kandidat. Pada titik ini dalam karier saya, saya hanya menerima omong kosong jenis ini jika, dan hanya jika, saya diberi kesempatan untuk mengelola tes saya sendiri di akhir wawancara.
Cara terbaik untuk menilai kemampuan praktisi perangkat lunak adalah berbicara dengannya dengan suara yang tenang dan menenangkan. Minta kandidat untuk membahas apa yang dibutuhkan posisi saat ini. Ketika kandidat mengemukakan suatu bidang yang diminati, minta dia untuk menguraikan bidang itu. Tujuannya di sini adalah untuk mendapatkan kandidat untuk menurunkan pengawalnya. Tidak ada jumlah pembinaan yang dapat mempersiapkan calon untuk interogasi "sentuhan lembut". Cepat atau lambat, jerat akan mengencang di leher calon yang mencoba untuk BS jalannya melalui wawancara.
sumber
Saya memang meminta sampel kode untuk pelamar dan mendapatkan referensi selama wawancara. Namun saya biasanya memberi bobot lebih pada pengkodean papan tulis yang dilakukan selama wawancara.
Setiap wawancara pengembang yang saya lakukan melibatkan pergi ke papan tulis untuk mengimplementasikan solusi untuk masalah sederhana. Namun, ada aturannya:
Pemohon harus berbicara melalui implementasi saat mereka melakukannya.
Saya memiliki tiga masalah yang implementasinya mirip dan saya beri tahu mereka bahwa mereka dapat menggunakan kembali atau memperbaiki kode yang telah mereka tulis.
Inti dari semua ini, dari setiap wawancara adalah untuk mencoba dan mendapatkan ide bagus tentang kemampuan pelamar dan bagaimana mereka dapat cocok dengan pekerjaan. Bagian "praktis" dari wawancara dalam pengalaman saya telah membantu sedikit dalam hal itu. Ini juga membantu saya mengevaluasi kode sampel karena saya tahu lebih banyak tentang cara program.
sumber
Contoh kode adalah cara yang cukup efisien untuk menyingkirkan calon - saya dapat menilai sampel kode dalam 5 - 10 menit, tetapi bahkan layar ponsel membutuhkan waktu 15 menit dan perlu penjadwalan (dan tidak terlalu berguna dalam menyapu apa pun kecuali sangat bawah tumpukan dalam pengalaman saya).
Saya pikir keberatan utama untuk sampel kode dua kali lipat, dan mudah diatasi:
Jelas, ini benar. Setiap penghalang dalam aplikasi atau proses perekrutan berpotensi menghilangkan kandidat yang diinginkan. Yang penting di sini adalah untuk mengetahui audiens Anda - jika Anda memiliki 1000 resume untuk satu pembukaan Anda, Anda dapat membeli beberapa negatif palsu dalam pelayanan efisiensi. Jika Anda memiliki lima resume, Anda dapat memperoleh beberapa ketidakefisienan dalam proses penyaringan.
Apa yang saya pikir kebanyakan orang lewatkan, adalah bahwa wawancara dan perekrutan pada dasarnya adalah permainan "menemukan alasan untuk tidak mempekerjakan orang ini". Untuk pekerjaan apa pun yang layak, ada banyak pelamar yang memenuhi syarat - yang terakhir berdiri biasanya yang tidak memicu bendera merah di sepanjang jalan. Sangat mudah untuk melihat yang terbaik dari orang lain atau tidak berkomitmen, tetapi itu tidak ada gunanya bagi Anda dalam merekrut karena Anda akan mendapatkan 10 kandidat berbeda yang membuat Anda nyaman. Itu tidak membuat Anda semakin dekat dengan suatu keputusan.
Setiap berita gembira yang Anda kumpulkan sepanjang proses peninjauan, penyaringan, wawancara, dll. Berpotensi memicu keputusan tidak mempekerjakan. Anda harus menyeimbangkan sensitivitas pemicu tidak-mempekerjakan Anda dengan prospek Anda saat ini (dan masa depan yang potensial). Jika Anda berada dalam industri yang membosankan, dengan banyak kode lawas, birokrasi, dan gaji yang buruk (seringkali hal-hal di luar kendali Anda) maka pemicu Anda harus kurang sensitif daripada mengatakan, Google. Jika tidak, Anda akan menghadapi risiko tidak pernah mempekerjakan orang.
Secara pribadi, saya menemukan kompromi termudah bagi saya adalah meminta tetapi tidak mengharuskancontoh kode. Jika saya mendapatkannya, itu hanya titik data tambahan untuk mengevaluasi kandidat. Demikian pula, jika saya memiliki seorang kenalan yang pernah bekerja dengan kandidat di masa lalu, saya akan memberikan sedikit pertimbangan pada pendapat-pendapat kenalan itu. Tidak pernah bekerja dengan siapa pun yang saya tahu tentu saja tidak mendiskualifikasi kandidat mana pun - itu hanya berarti bahwa pekerjaan saya dalam mengevaluasi mereka sedikit lebih sulit (dan mungkin akan mencakup latihan pengkodean jika mereka melakukan wawancara). Jika sampel Anda buruk (atau kenalan saya membuat Anda marah), itu cukup tidak mempekerjakan. Mereka yang memberikan sampel mungkin atau mungkin tidak memiliki kaki kecil pada mereka yang tidak dalam penyaringan awal - tergantung pada kualitas dan kuantitas tumpukan resume dan sampel, lebih banyak informasi mungkin lebih baik atau lebih buruk daripada tidak ada informasi.
Yah begitulah. Demikian juga resume - tetapi kami masih mengumpulkannya. Mengapa? Karena tiga alasan utama - resume atau sampel yang buruk tidak mudah disewa, ketahuan memalsukan resume atau sampel adalah tidak mudah disewa, dan mereka adalah topik percakapan yang baik dalam sebuah wawancara. Semakin cepat saya bisa mengetahui kandidat adalah orang bodoh, semakin baik untuk semua orang.
Jika Anda cukup pintar untuk menjiplak sampel yang bagus tanpa ketahuan, bicarakan dengan cerdas tentang hal itu, dan selesaikan wawancara - saya tidak terlalu memiliki masalah dengan bagaimana Anda bisa melewati penyaringan. Mungkin ada beberapa masalah etika di sini, tapi itu bukan bidang keahlian saya, jadi saya tidak akan keluar dari cara saya untuk mengevaluasi karakter moral selama wawancara. Bagi saya, ini hampir sama dengan bos saya yang meminta saya untuk mewawancarai seseorang yang tidak melalui proses penyaringan sebagai bantuan. Begitu Anda berada di tahap wawancara, tidak masalah bagaimana Anda sampai di sana karena ada begitu banyak informasi yang lebih baik dan akan keluar selama wawancara.
TL; DR - contoh kode adalah alat skrining yang hebat, tetapi Anda harus berpikir dengan hati-hati apakah Anda bisa memerlukannya atau tidak. Setelah penapisan yang lalu, bobot wawancara jauh lebih tinggi dari sampel.
sumber