Dalam pengalaman saya sebelum Anda mulai bekerja untuk perusahaan Anda tidak memiliki kesempatan untuk melihat basis kode (saya sudah bertanya dan untuk alasan kerahasiaan setiap orang selalu mengatakan tidak, saya pikir itu adil), jadi selama proses wawancara apa Menurut Anda, apakah pertanyaan-pertanyaan paling penting untuk ditanyakan untuk mengetahui seperti apa keadaan kode itu (toh, jika itu seekor anjing, maka Anda akan berada pada orang-orang malang yang harus berjalan setiap hari)?
MEMPERBARUI:
Daftar periksa: Tanyakan;
- Apa yang mereka pikirkan tentang basis kode. Dan ketika Anda melakukannya, perhatikan baik-baik ekspresi wajah dan waktu yang diperlukan bagi mereka untuk merespons. [Segera]
- Berapakah level CMM perusahaan [DPD] (dan jika Anda mendengar Level 5 jalankan sebaliknya [Doug T])
- Siklus hidup apa yang mereka gunakan [DPD] (Dan jika Anda mendengar "Agile", saat itulah Anda mulai mengajukan beberapa pertanyaan tajam untuk mencoba mencari tahu apakah dengan "Agile" itu berarti "Agile atau" koboi pengkodean "[Carson63000])
- Alat apa yang mereka gunakan untuk menilai kualitas kode? [DPD]
- Alat apa yang mereka gunakan untuk pengembangan? [DPD] (Cari alat refactoring dan server build berkelanjutan)
- Sistem kode sumber (kontrol versi) apa yang mereka gunakan, dan tindak lanjut yang baik adalah menanyakan mengapa mereka menggunakannya. [Zachary K].
- Seperti apa prosedur pengujian mereka? [Karl Bielefeldt] (Cari terutama untuk tim yang menggunakan kerangka kerja mengejek dan memberi penekanan pada pengujian unit otomatis menyeluruh melalui kerangka kerja yang sudah ada seperti NUnit / JUnit; jangan ditunda oleh tim yang tidak menggunakan TDD pengembangan yang digerakkan oleh pengujian, tetapi waspada jika mereka tidak menganggap pengujian sebagai bagian integral dan landasan pengembangan perangkat lunak yang solid. Carilah tim dengan penguji khusus.)
- Jenis tugas apa yang diberikan kepada pengembang baru? Untuk pengembang berpengalaman? [Karl Bielefeldt]
- Berapa banyak orang yang mengerjakan proyek? [Karl Bielefeldt]
- Apakah refactoring diperbolehkan? Didorong? [Karl Bielefeldt]
- Apa proses terkait perubahan arsitektur atau yang sedang dipertimbangkan atau telah dibuat baru-baru ini? [Karl Bielefeldt]
- Berapa banyak otonomi yang dimiliki individu atas modul mereka? [Karl Bielefeldt]
- Apakah Anda akan mengembangkan proyek baru (pengembangan greenfield) atau proyek lama (pengembangan brownfield)? (Pengembangan Greenfield umumnya lebih menyenangkan dan memiliki lebih sedikit masalah karena Anda tidak membersihkan kesalahan orang lain).
- Apakah tingkat turnover karyawan tinggi di organisasi atau tim? (Ini sering menunjukkan kualitas kode yang lebih rendah) [M.Sameer]
- Beberapa masalah pemrograman Anda sendiri; tapi hindari terlihat seperti orang brengsek. [Sparky]
- Bagaimana para pengembang berkolaborasi dan bagaimana pengetahuan dibagikan di antara tim? (Ini harus sesuai dengan kepribadian Anda; Saya akan mengatakan campuran pekerjaan solo dan pasangan mungkin yang terbaik, dengan rasio yang sesuai dengan kebutuhan sosial Anda)
- Seberapa dekat database mereka dengan 3 Normal Form (3NF), dan jika menyimpang di mana dan mengapa? (Jika mereka mengatakan "3NF ???", pergi. Jika tidak, dan mungkin tidak ada alasan bagus untuk itu, maka cari tahu apa itu).
CATATAN: Saya telah menerima jawaban Anon karena setelah sekitar satu minggu komunitas berpikir bahwa itu adalah yang terbaik - saya pikir ini menunjukkan bahwa itu adalah sesuatu yang Anda butuhkan untuk mengembangkan indra keenam. Tapi, saya pikir semua orang memiliki sesuatu yang berharga untuk dikatakan.