Bagaimana programmer Scala diwawancarai? Apa saja aspek yang dicari pewawancara ketika mewawancarai pengembang Scala?
Bagaimana programmer Scala diwawancarai? Apa saja aspek yang dicari pewawancara ketika mewawancarai pengembang Scala?
Jawaban:
Pertama, saya akan mengatakan, pikirkan mengapa Anda membutuhkan pengembang Scala. Apakah ini benar-benar Scala yang Anda butuhkan? Pikirkan tentang apa yang datang bersama dengan Scala (IDE, build tools, libs, lapisan kompleksitas lain di atas Java dll ...). Kembali ke pertanyaan. Ini berjalan dalam dua aspek: Pemahaman teoritis dan kemampuan praktis. jangan biarkan "teori" itu membodohi Anda. Ini sama pentingnya dalam Scala karena kepraktisan juga penting di Jawa.
Lihat apakah mereka dapat memperbaiki potongan kode imperatif menjadi alternatif fungsional yang baik (lihat di atas). Coba loop yang mengimplementasikan beberapa matematika atau sesuatu di sepanjang garis ini.
Temukan selera mereka untuk gaya fungsional vs imperatif. Pilihlah gaya yang lebih fungsional tetapi berhati-hatilah agar itu tidak terlalu berlebihan bagi pihak pengembang.
Lihat seberapa banyak yang mereka ketahui tentang Scala libs (mis. Angkat, kirim, dll.) Dan alat (mis. SBT, fsc, IDEA).
Lihat seberapa baik mereka dapat memanfaatkan Java (code-and- tools). Scala sangat erat digabungkan ke Jawa khususnya di lingkungan yang lebih serius. Mengetahui ini adalah nilai tambah yang besar.
Lihat apakah mereka terhubung ke komunitas. Tanyakan kepada mereka tentang Martin Odersky dan David Pollak. Minta mereka untuk menyebutkan beberapa proyek Scala dan menjelaskannya kepada Anda (Facebook, Twitter, FourSquare, DBPedia, dan DBPedia SpotLight). Lihat apakah mereka tahu bagaimana tepatnya Scala digunakan dalam proyek-proyek ini. Sudahkah mereka membaca artikel, menonton video, dll?
Tanyakan kepada mereka tentang buku-buku itu (hanya ada beberapa). Semakin mereka tahu semakin baik.
Sebagai satu kata terakhir dari peringatan saya dapat mengatakan bahwa bahasa-bahasa brilian memiliki potensi aneh untuk menarik orang yang salah. Berhati-hatilah dengan jenis yang datang ke Scala untuk semua alasan yang salah. Berikut beberapa di antaranya:
PS: Jika kamu menemukan Joe yang baik maka tolong beri tahu saya kalau kami butuh;)
Dalam wawancara dunia nyata, hanya mengetahui Scala adalah setengah dari pertempuran yang dimenangkan. Menyewa seorang programmer yang baik selalu sulit, terlepas dari bahasa!
Pemrogram scala cenderung menggunakan bahasa tersebut karena mereka sudah berada di puncak permainan mereka di Jawa dan ingin “membawanya ke tingkat berikutnya”.
Jika Anda memiliki banyak pasokan pengembang Scala yang tersedia untuk wawancara, maka anggap diri Anda beruntung. Jika tidak, pertanyaan yang lebih relevan mungkin adalah “Aspek apa yang harus saya cari dalam seorang programmer yang akan saya latih untuk menggunakan Scala?” Dan “Perusahaan apa yang saat ini dapat memberikan layanan pelatihan?”
Saya suka melihat solusi untuk masalah kecil seperti ini: Buat histogram dari hasil melempar dua dadu enam sisi 200 kali.
Lihat komentar di sini untuk beberapa jawaban menarik: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Seseorang dengan solusi seperti milik Daniel Sobral, atau yang ini dari Kevin Wright: http://ideone.com/8LFs3 akan layak untuk dilihat lebih dekat.
Jika jawabannya terlihat seperti kode Java, maka pelamar mungkin tidak cukup jauh.
Saya juga ingin melihat bahwa orang tersebut terhubung ke komunitas Scala: Mengetahui buku, penulis, pengembang open source, grup pengguna, orang-orang yang menarik.
Saya belum pernah melakukan perekrutan Scala, tetapi saya akan mencari pemahaman tentang bagaimana implisit bekerja, pola kelas tipe, dan dasar-dasar pemrograman fungsional.