Saya mengerti bahwa untuk mengukur proyek atau kode, kita dapat menggunakan Tes Joel , tetapi apakah ada tes standar sederhana (seperti Tes Joel) yang dapat mengukur dan menyaring seberapa baik programmer?
Rencana saya adalah melakukan tes ini sebagai filter cepat terlebih dahulu sebelum pergi ke tes yang lebih detail.
Jawaban:
Ada matriks kompetensi programmer .
Seperti halnya tes Joel, itu hanyalah panduan yang tidak jelas. Satu-satunya cara untuk menilai seorang programmer dengan baik adalah dengan bertanya kepada programmer yang baik yang telah bekerja dengan mereka.
sumber
Saya akan mengubah tes Joel:
Sudahkah mereka menggunakan kontrol sumber?
Apakah mereka tahu cara mengotomatisasi pembuatan satu langkah?
...
Satu-satunya yang tampaknya tidak terlalu berlaku adalah pertanyaan memiliki penguji. Yang lain yang sepertinya agak mematikan dalam hal ini adalah bagaimana kami menanganinya bagaimana Anda menanganinya dalam jenis pertanyaan terakhir (Ini adalah bagaimana kami menangani menjaga jadwal kami tetap terbaru bagaimana Anda menangani penjadwalan di masa lalu?) .
sunting:
Pada dasarnya Anda tidak mendapatkan barang-barang di tes Joel secara gratis, Anda harus mempekerjakan orang yang dapat mewujudkannya. Anda ingin membangun kemampuan mereka untuk mewujudkannya.
sumber
Tes Joel hanyalah pemeriksaan dasar informal untuk dengan cepat menilai apakah suatu tempat memiliki kondisi kerja yang baik untuk para programmer. Bahkan jika skornya 10 sempurna, itu masih bisa menjadi lubang neraka yang akan bangkrut enam bulan ke depan. Skor rendah adalah indikasi dari sesuatu yang tidak beres, dan membuat untuk pertanyaan wawancara yang sangat baik ("Anda saat ini tidak menggunakan kontrol sumber; apakah ada rencana untuk melakukannya di masa depan?"), Dan jawabannya mungkin sedemikian rupa sehingga Anda akan menerima pekerjaan itu meskipun skor Joel rendah.
Tes Joel juga bukan tes 'standar'; itu hanya daftar periksa yang diposting Joel Spolsky di blog-nya.
Sejauh 'mengukur' kualitas seorang programmer berjalan; sayangnya, keterampilan dan kualitas yang sangat penting dari seorang programmer yang baik sulit atau tidak mungkin untuk dihitung, sehingga tidak ada pengganti untuk evaluasi manusia yang menyeluruh. Anda dapat menyingkirkan kandidat yang sama sekali tidak mengerti dengan cukup mudah, menggunakan tugas pemrograman yang sangat sederhana - idealnya, sesuatu yang melibatkan rekursi, struktur pohon atau pointer (seorang programmer yang tidak 'mendapatkan' ini tidak mungkin banyak digunakan). Bagi mereka yang lulus tes ini, Anda harus mengevaluasi keterampilan secara manual: membaca kode yang mereka tulis, aplikasi test drive yang mereka tulis, memberi mereka lebih banyak tugas pemrograman (baik desain dan implementasi), lihat mereka bekerja, berbicara dengan mereka, lihat apakah Anda dapat memicu diskusi profesional. Jika Anda mencari guru spesialis / bahasa,
sumber
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
Anda akan membuat kesalahan untuk menerima pekerjaan itu. Akhirnya setiap pengembang mengetahui bahwaPlans to do so in the future
itu hanya sesuatu yang dikatakan pewawancara untuk menipu Anda tetapi mereka tidak pernah bertindak karena manajemen yang buruk. Sudah berapa kali kita mendengar sesuatuOh, we are moving towards Agile...
dan ternyata toko air terjun micromanaged lain?Ya:
Dalam semua pengalaman saya, pertanyaan tunggal ini paling menunjukkan seberapa bagus seorang programmer. Jika mereka menikmatinya; jika mereka memiliki hasrat untuk melakukan tugas, maka mereka akan menjadi ahli dalam hal itu.
Dan sejujurnya, banyak pekerjaan 9 hingga 5 tidak melibatkan banyak pengkodean . Mereka tidak melibatkan banyak pengulangan melalui siklus hidup merancang program baru dan melihat bagaimana desain itu bekerja / gagal. Tanpa iterasi, tidak ada praktik yang diperlukan bagi programmer untuk mendapatkan keterampilan desain program inti.
Dan mereka tidak melibatkan banyak pembelajaran. Programmer yang bahkan hanya meretas hal-hal di rumah akan mengeksplorasi solusi baru dan menarik tanpa kendala bisnis besar.
sumber
Ini tidak sedetail Tes Joel, tetapi meminta mereka untuk menulis program buzz fizz akan menjadi indikasi yang baik untuk melihat apakah mereka dapat membuat kode sama sekali.
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html dan http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- who-grok-coding /
Itu tidak akan memberi tahu Anda tentang kematangan rekayasa perangkat lunak individu, tetapi akan menyaring yang lebih buruk.
sumber
Eh, saya ragu dengan kata-kata di awal. Ini bukan "apakah Anda menggunakan X" atau "Apakah Anda tahu Y", itu masalah benar-benar menggunakan dan melakukan. Setiap programmer yang belum menyentuh atau mendengar item-item pada tes Joel hanya terputus dan perlu mendapatkan petunjuk. Tapi Anda benar, toko kode gagal dalam tes Joel karena orang-orang di toko membiarkannya gagal. Satu-satunya pertahanan saya dapat melihat berjalan di sepanjang garis "Saya mencoba, tetapi tidak memiliki wewenang. Dan sekarang saya melamar di sini".
sumber
Ya tapi
Ya, tapi saya belum mengonfigurasinya dan saya tidak mengelolanya, saya hanya menggunakannya.
Tidak, itu bukan pekerjaan saya.
Saya diberi spec, saya kemudian menganalisis dan menghasilkan dokumen yang relevan.
Anda tidak tahu apa alat terbaik dan jika Anda berpikir Anda melakukannya, akan selalu ada seseorang yang memperdebatkan maksud Anda.
Iya. Sebenarnya, ya dan mereka tidak terlalu baik, tetapi itu tidak ada dalam pertanyaan.
Ya dan mereka gagal. Ya dan mereka lulus. Apa artinya ini bagimu?
Tidak, tetapi bagaimana jika kita melakukan sesuatu yang lebih baik?
Untuk menyimpulkan:
Ini bukan kata-kata kasar, tapi saya akan sangat tertarik untuk mendengar pengembang seperti apa yang Anda pikir saya didasarkan pada jawaban yang saya berikan. Semoga ini akan membuktikan maksud saya.
sumber
How do you know whether I pull changes before pushing?
Yah, saya tidak tahu kontrol sumber apa yang Anda gunakan, tetapi setidaknya di SVN, jika Anda mencoba komit ke folder dengan perubahan yang belum Anda miliki, komit akan gagal sampai Anda menjalankan Pembaruan.