Sebagai satu pendapat dari seseorang yang meminta sampel kode ketika mengevaluasi kandidat, ada beberapa fitur tingkat tinggi (isi kode) dan beberapa fitur tingkat rendah (struktur kode). Fitur tingkat tinggi:
- Identity : Rasa kode. Jika Anda menyebut diri Anda sebagai pembuat kode UI / HCI, saya ingin melihat tampilan / perasaan untuk sesuatu yang visual ketika saya menjalankannya. Jika Anda seorang pembuat DB, saya ingin melihat sesuatu yang menarik dengan representasi atau analisis data. Sampel harus menjadi sesuatu yang Anda banggakan . Jika Anda tidak memiliki setidaknya satu dari itu, Anda tidak memiliki identitas.
- Kedewasaan : Apakah Anda mengubah strategi untuk masalah yang berbeda? Apakah Anda memecahkan masalah yang menarik? Apakah kode atau pendekatan mudah diperluas ke masalah yang sama? Di sisi lain, apakah saya merasa seperti sedang melihat anggota komune kultus kargo?
- Komunikasi : Apakah kode dengan mudah menjelaskan apa yang dilakukannya dan mengapa? Ini tidak berarti kodenya harus sederhana. Sebenarnya, ini adalah bonus untuk membuat kode rumit mudah dimengerti.
Aspek tingkat rendah lebih sederhana:
- Gaya : Kode harus bersih, konsisten (mengikuti beberapa pedoman yang ditetapkan), dan didokumentasikan dengan baik.
- Pengemasan : Harus ada minimum readme pendek, versi runnable, dan tes runnable. Readme harus memberi tahu saya cara menjalankan dua yang terakhir, serta mengapa Anda menunjukkan contoh kode khusus ini.
- Bahasa : Saya biasanya meminta seseorang untuk mengambil sampel dalam bahasa tersebut untuk posisi tersebut, serta yang mereka rasa paling kuat. Memberi ide bagus tentang langit-langit seseorang saat ini.
Untuk kandidat yang baik, saya berharap sampel menjadi: A) Sampel kecil antipeluru atau B) Bagian yang baik dari proyek menarik yang lebih besar (misalnya, modul dari repo pribadi Github). Saya berharap mereka menjadi proyek pribadi atau proyek akademik. Jika mereka mengirim satu dari proyek berbayar, saya berharap catatan bahwa mereka diberi izin untuk menggunakannya. Jika saya tidak mendapatkan catatan itu, saya akan memotong mereka dari kandidat (kandidat yang lemah) atau bertanya kepada mereka tentang hal itu selama wawancara (kandidat kuat). Tidak memiliki izin akan menjadi bendera merah besar (mungkin tidak dapat diatasi). Untuk kandidat yang maju, saya berharap penafian mencatat bahwa beberapa sampel sumber terbaik mereka tidak dapat ditampilkan karena dilakukan sebagai bagian dari pekerjaan mereka. Namun, saya kemudian mengharapkan kesaksian yang memancar tentang mengapa mereka bangga dengan desain yang tidak dapat dipertontonkan itu dan bagaimana mereka menyukainya seperti anak kecil.
Akhirnya, seperti halnya sebagian orang mencela bahwa "Oh, seseorang hanya bisa mendapatkan sampel kode dari internet," argumen tandingannya adalah bahwa kebanyakan orang yang tidak mengerti kode kualitas produksi yang baik juga tidak memahaminya ketika mereka melihatnya . Selain itu, orang dapat selalu memeriksa baris khusus untuk kode Google. Juga, paling-paling, mencuri kode akan membuat seorang kandidat diwawancarai di mana mereka mempermalukan diri mereka sendiri ("Jadi mengapa Anda melakukannya dengan cara ini ...?").
Sebagai catatan terakhir pada kode dari pekerjaan sebelumnya: Hanya saja, jangan. Dari sudut pandang SDM, meminta kode dari pekerjaan sebelumnya tidak pantas dan merupakan tanda bahaya tentang perusahaan. Anda berdua akan memiliki tanggung jawab hukum (yaitu, Anda berdua dapat dituntut) dan itu menunjukkan bahwa mereka tidak tahu apa yang mereka lakukan. Kode yang dilakukan untuk pemberi kerja sebelumnya tidak boleh diberikan kecuali kode tersebut sudah tersedia untuk umum atau Anda memiliki izin eksplisit dari pemberi kerja itu. Lebih buruk lagi, di perusahaan besar, atasan langsung Anda mungkin tidak memiliki kekuatan untuk memberi Anda izin, jadi bersenang-senang dengan departemen hukum dalam kasus itu? Saya yakin mereka akan sangat senang untuk mengekspos IP mereka untuk karyawan yang keluar.