Perusahaan kami sedang mencari programmer baru. Dan inilah masalahnya - ada banyak pengembang yang terlihat sangat hebat dalam wawancara, tampaknya mengetahui teknologi yang Anda butuhkan dan memiliki latar belakang pekerjaan yang baik, tetapi setelah dua bulan bekerja, Anda mengetahui bahwa mereka tidak dapat bekerja dalam wawancara tersebut. sebuah tim, menulis beberapa kode membutuhkan waktu yang sangat lama, dan terlebih lagi, hasilnya tidak sebagus yang seharusnya.
Jadi, apakah Anda menggunakan tes formal (ada?)? Bagaimana Anda mengenali programmer yang baik - dan orang yang baik? Adakah pertanyaan 'baik' sederhana yang mungkin mengungkapkan masalah di masa depan? ... atau itu hanya tentang 'perasaan' Anda tentang orang tersebut (mis., terutama pengalaman Anda), dan mencobanya?
Sunting: Menurut jawaban Manoj, berikut adalah pertanyaan terkait dengan tugas pengkodean di wawancara kerja.
sumber
Jawaban:
Buat mereka untuk berbicara tentang apa yang mereka minati. Saya belum bertemu dengan seorang pengembang yang benar-benar bersemangat ketika berbicara tentang pemrograman tetapi tidak dapat benar-benar kode. Mereka mungkin ada, tentu saja - dan wawancara Anda harus memeriksa kompetensi juga - tetapi semangat adalah indikator yang baik dalam pengalaman saya. (Perhatikan bahwa itu tidak sama dengan bisa "berbicara bicara" dalam hal kata kunci.)
Tanyakan kepada mereka apa yang tidak mereka sukai tentang bahasa atau platform favorit mereka. Bagaimana mereka memperbaiki sesuatu? Apa yang ingin mereka lihat di versi selanjutnya? Apakah mereka punya proyek hobi? Jika mereka punya blog, baca itu. Periksa keberadaan online umum mereka.
sumber
Mempekerjakan orang yang baik adalah sulit .
Butuh beberapa kesalahan nyata bagi saya untuk menjadi lebih baik. Anda mulai lebih mempercayai saluran pencernaan Anda setelah beberapa kali Anda tidak mempercayainya dan menyesalinya.
Saya sangat menghormati pertanyaan layar ponsel Steve Yegge dan telah menggunakan ini sebagai dasar untuk mewawancarai orang-orang dengan beberapa keberhasilan.
Saya juga berpikir bahwa saya menjadi lebih baik dalam mewawancarai orang-orang setelah membaca panduan Joel untuk mewawancarai gerilya (sekarang di versi 3.0, itu di depan versi untuk web dan semuanya, itu harus bagus).
Ada juga 57 pertanyaan lain (per 20/11/2008) tentang Rekayasa Perangkat Lunak Stackexchange yang ditandai dengan wawancara dan beberapa di antaranya terlihat sangat relevan, jadi lihatlah.
sumber
2^16
. Dan versi jalur cepat di bagian bawah hanyalah parodi yang buruk.Beberapa ide:
Ajukan beberapa pertanyaan terbuka dari beberapa sudut yang berbeda:
Pilih sesuatu — apa saja — yang diklaim kandidat tahu dengan baik. Ajukan pertanyaan sederhana dan kemudian, berdasarkan jawaban, tanyakan yang lain, pertanyaan yang sedikit lebih detail, dan lanjutkan "menggali" sampai Anda mencapai batas pengetahuan kandidat. Ini memberi Anda gambaran tentang:
Tanyakan bagaimana kandidat menangani berbagai situasi pekerjaan sebelumnya: kerja tim, proyek yang terlambat, debugging, dll . Apakah jawabannya positif atau negatif? Bergairah? Cerdas? Sombong?
Saya menemukan kandidat terbaik untuk menjadi antusias, berpengalaman, percaya diri tetapi sopan, dan yang paling penting, hadir . Anda perlu tahu ada seseorang di dalam. :-)
sumber
Untuk mengenali programmer yang baik, Anda harus menjadi programmer yang baik. Itu berarti Anda harus tahu pemrograman dengan sangat baik untuk melihat hal-hal yang dikatakan dan dilakukan dalam wawancara, dan Anda harus tahu pertanyaan apa yang harus diajukan.
Saya telah melihat kandidat memberikan jawaban yang salah pada wawancara, tetapi penjelasan mereka menunjukkan bahwa mereka tahu subjek (dan karena itu dapat dengan mudah mendapatkan jawaban yang benar dengan mencari di internet). Untuk melihat itu, Anda harus tahu subjek yang Anda ajukan pertanyaan dengan sangat baik.
Hal lain adalah menghindari pertanyaan tentang detail yang dapat dengan mudah di-Google-kan. Pertanyaan itu hanya menunjukkan seberapa baik kandidat mengingat hal-hal, bukan jika dia benar-benar memiliki pengetahuan dan pemahaman yang Anda cari.
Rekomendasi saya adalah untuk mendapatkan bantuan dari seseorang yang tahu banyak pemrograman, dan memiliki keterampilan orang-orang yang baik, untuk membantu wawancara.
Sunting: Saya juga menulis komentar tentang wawancara di sini .
sumber
Ingat bahwa kemampuan pemrograman bukanlah segalanya. Anda bisa memiliki programmer terbaik di dunia yang bekerja untuk Anda, tetapi jika mereka benci bekerja dengan orang lain, Anda tidak akan menemukan mereka sangat berguna.
Kepribadian pemrogram harus lebih tinggi dalam daftar daripada yang oleh sebagian besar pengusaha dinilai. Di tempat kerja saya saat ini, mereka sangat berhati-hati dalam merekrut orang yang tepat.
Orang pada umumnya dapat belajar menjadi pemrogram yang lebih baik, orang pada umumnya tidak dapat belajar menjadi manusia yang lebih baik.
sumber
Buat kode mereka. Berikan masalah yang dapat diselesaikan dalam katakanlah 4 atau 5 jam dan periksa kode untuk dokumentasi, gaya pengkodean, bagaimana dia merencanakan solusi sebelum benar-benar mulai kode dll. Dia tidak perlu benar-benar menyelesaikan masalah. Dan seperti yang disebutkan oleh Jon Skeet, buat mereka berbicara tentang pemrograman, bahasa pilihan mereka dan hal-hal seperti itu. Anda dapat mengenali kembali gairah dalam seorang programmer yang baik. Tanyakan berapa banyak situs terkait pemrograman yang mereka ikuti - seperti stackoverflow. Blog yang mereka ikuti juga bisa menjadi indikator yang baik.
sumber
Saya suka jawaban gairah. Saya percaya Anda harus bersemangat dengan apa yang Anda kerjakan untuk benar-benar pandai.
Program programmer yang bagus di samping selain bekerja (setidaknya sekali-sekali). Ia suka memecahkan masalah pemrograman. Dan ketika dia tidak dapat menemukan program yang menyelesaikan kebutuhan tertentu di rumah, dia biasanya akan mencoba menyelesaikannya sendiri.
Tetapi ada beberapa jenis programmer.
Jika Anda dapat menemukan "peretas" yang juga mendokumentasikan dengan sangat baik dan memiliki keterampilan berkomunikasi yang luar biasa, saya yakin Anda telah mendapatkan jackpot.
Oh, dan satu hal lagi. Anda mungkin tidak ingin seorang programmer yang memiliki ambisi pemimpin, karena ia hanya akan menggunakan pemrograman untuk memulai. Itu berarti Anda akan kehilangan sumber daya itu cepat atau lambat.
Sebuah pertanyaan yang akan saya tanyakan ketika mempekerjakan seorang programmer adalah: "Mengapa Anda mendidik diri Anda sebagai seorang programmer?". Itu akan menjadi hadiah mati jika mereka ragu-ragu di sana.
Itu pendapat saya.
sumber
Seorang teman saya bekerja di sebuah perusahaan di mana mereka memiliki langkah tambahan dalam proses perekrutan: setelah penyaringan dan wawancara awal, seorang pelamar harus "menguji pekerjaan" selama beberapa hari. Dia mengatakan kepada saya bahwa meskipun salah satu kandidat memiliki setiap keterampilan dan bakat yang diperlukan, mereka tidak mempekerjakan dia karena dia
merupakan seorangbukan orang baik untuk bekerja dengan.sumber
Sangat sulit untuk mengenali seorang programmer berdasarkan wawancara kerja saja.
Beberapa hal yang memutuskan bahwa seseorang adalah programmer yang baik adalah:
Jadi, Anda memiliki beberapa petunjuk kecil yang dapat Anda temukan dalam sebuah wawancara:
sumber
Anda dapat melakukan beberapa tes dalam wawancara.
Namun seringkali juga ada masalah dengan lingkungan kerja itu sendiri. Tentunya ini mungkin tidak terjadi di organisasi Anda, tetapi sangat umum di bidang industri perangkat lunak bahwa utang teknologi menjadi terlalu besar. Maka ketika Anda mempekerjakan orang baru, tidak banyak membantu jika mereka baik atau tidak, karena hutang. Memaksimalkan keterbacaan dan pemahaman kode program Anda membantu pendatang baru untuk mulai bekerja.
Juga banyak orang sedemikian rupa sehingga mereka dapat bekerja sama, tetapi kadang-kadang tidak ada cara untuk bekerja sama. Misalnya jika semua orang adalah pengembang, mereka seharusnya melakukan pekerjaan mereka. Ya, benar. Tetapi apakah Anda memiliki seorang arsitek, yang mengarahkan proyek pengembangan dan mengadakan pertemuan dan semacamnya? Pengembang yang normal mungkin merasa bahwa mereka tidak memiliki mandat yang diperlukan untuk memulai pertemuan dan mereka mungkin berpikir bahwa mengganggu orang lain sekarang dan kemudian bukanlah jalannya.
Berkomunikasi dengan satu sama lain seharusnya tidak menjadi tujuan akhir. Semakin sedikit komunikasi yang dibutuhkan, semakin baik, tetapi hanya jika kurang memungkinkan. Kurang menjadi mungkin jika Anda memiliki seorang arsitek. Jumlah total komunikasi mungkin tetap pada level yang baik, tetapi Anda mendapatkan lebih banyak hasil untuk jumlah komunikasi yang sama.
sumber
pertama saya mulai dengan hal-hal wawancara yang biasa, saya anggap sangat penting untuk melihat apakah orang di depan saya layak sesuatu, dan untuk menentukan keterampilan dan pengetahuannya.
Setelah itu saya menggunakan beberapa teknik di bidang Jawa, seperti membahas beberapa prinsip, terutama diambil dari Jawa Efektif.
Pada tahap ini, ketika saya berpikir bahwa saya mungkin memiliki programmer yang baik di depan saya, saya memberinya sepotong kode untuk meninjau kode itu. Yang ingin saya lihat adalah bahwa ia dapat menentukan bagian berbahaya dari kode, memberikan beberapa petunjuk tentang peningkatan, menemukan jebakan pada kinerja multi-threading DAN bahwa ia dapat membedakan antara komentar penting dan "komentar rasa". Semua ini membantu saya menemukan karyawan yang lebih cakap.
tetapi pada akhirnya saya selalu ingat bahwa mempekerjakan adalah semacam perjudian ... sangat sulit diantisipasi ...
sumber
Saya tahu ini tidak menjawab apa yang Anda minta tetapi saya sarankan, undang-undang mengizinkan, selalu merekrut secara temporer pada awalnya (dua minggu atau sebulan, tergantung pada pekerjaan). Jika orang itu sepadan dengan garamnya, dia tidak akan keberatan, selain itu adalah perlindungan bagi Anda berdua (Anda bisa membiarkannya pergi dan dia mungkin berakhir tidak menyukai pekerjaan itu dan pergi).
sumber