Yang lain telah memberikan jawaban yang telah saya pilih sebagai keharusan . Alasan saya menulis jawaban lain adalah karena apa yang ingin saya katakan mungkin tidak cocok dalam komentar, dan karena sesuatu harus dikatakan tentang bagaimana wawancara pekerjaan pemrograman yang baik bisa seperti.
Dalam wawancara bagus pertama yang saya ingat, kami banyak berbicara, tanpa terburu-buru. Pertama selama satu jam, di telepon, tentang desain berorientasi objek dan pro dan kontra dalam mengimplementasikannya di C ++. Kemudian, di situs, saya berbicara dengan beberapa orang tentang praktik pengembangan perangkat lunak mereka, integrasi, pengujian, kontrol versi, dan manajemen konfigurasi, tentang tim dan tanggung jawab, tentang teknologi dan tentang desain. Itu adalah wawancara sepanjang hari yang mencakup makan siang dengan orang-orang yang mewawancarai saya. Kalau dipikir-pikir, itu semua tentang apakah saya secara produktif akan cocok dengan apa yang sudah mereka lakukan.
Sejak itu, wawancara yang baik telah lama, satu hingga dua jam percakapan tentang pengembangan perangkat lunak. Tidak ada pertanyaan pemecahan masalah, tidak ada teka-teki, dan tidak ada tantangan pengkodean.
Jika saya akan mewawancarai seseorang untuk pekerjaan pemrograman hari ini, saya akan melanjutkan suka. Saya akan meminta pendapat tentang berbagai topik, dan mengesampingkan kedalaman:
- Apa preferensi bahasa pemrograman Anda? Mengapa?
- Bagaimana cara mendekati penanganan eksepsi?
- Bukankah manfaat dari desain berlapis mitos?
- Bukankah integrasi berkelanjutan merupakan beban efisiensi?
- Siapa yang menulis sepotong kode harus memilikinya, bukan?
- Apa yang Anda lakukan untuk masuk ke "aliran".
- Bagaimana seharusnya cacat yang dilaporkan dimasukkan dalam rencana proyek?
- ...
Itu adalah pertanyaan dengan lebih dari satu jawaban, dan itu semua adalah tentang topik yang harus dimiliki oleh pengembang perangkat lunak. Saya sepenuh hati setuju dengan jawaban yang menyebutkan masalah nyata sebelumnya yang dialami sebagai topik pembicaraan (bukan sebagai pertanyaan).
Studi yang lebih ilmiah tentang pengembangan perangkat lunak yang efektif sejak Peopleware mengatakan bahwa programmer terbaik adalah mereka yang memahami dinamika pengembangan perangkat lunak, bahkan jika mereka tidak memiliki IQ tertinggi. Saya lebih suka mengambil pemula yang ingin belajar daripada seseorang dengan n
pengalaman bertahun- 1
tahun yang berulang tahun pengalaman berulang n
. Bias pribadi saya adalah terhadap kandidat yang cenderung berpikir di luar kotak, dan pada saat yang sama tahu bagaimana masuk ke dalam kotak (saya) saat ini.