Perusahaan tempat saya bekerja mencari pengembang senior dengan pengalaman lebih banyak daripada saya, dan mereka mengharapkan saya melakukan bagian teknis wawancara. Saya hanya memprogram beberapa tahun dan tidak yakin saya memiliki pengetahuan yang dibutuhkan untuk mengevaluasi keterampilan pengkodean seseorang yang memiliki pemahaman / pengalaman yang lebih besar daripada saya.
Adakah yang bisa merekomendasikan beberapa pertanyaan wawancara teknis untuk diajukan yang merupakan sarana yang baik untuk mengevaluasi keterampilan pemrograman tingkat yang lebih tinggi, tetapi masih menjadi yang bisa saya mengerti?
Saya akan mengatakan saya melewati jr. tingkat programmer, tetapi tidak mendekati senior. Sebagian besar yang saya lakukan adalah membuat aplikasi kecil (web dan desktop), beberapa di antaranya cukup rumit, tetapi semuanya dimaksudkan untuk digunakan oleh segelintir pengguna. Saya merasa saya memiliki pemahaman yang layak tentang sebagian besar konsep pemrograman dan saya mampu belajar / mengajar diri sendiri tentang apa saja, namun saya kurang pengalaman. Karena bos saya suka mengatakan kepada saya, "Kamu tidak tahu apa yang tidak kamu ketahui".
Secara khusus, hal-hal yang kami ingin orang yang kami pekerjakan memiliki pengalaman dengan (yang tidak saya miliki) adalah: Pengembangan multi-tier, lingkungan multi-pengguna, pengembangan aplikasi skala besar, perpesanan dua arah, sesi bersama, dan Multi-threading / BackgroundWorkers.
MEMPERBARUI:
Menanggapi komentar Thor di bawah ini, kami mempekerjakan seseorang beberapa bulan yang lalu dan saya pikir itu berhasil. Saya belajar banyak, tidak hanya tentang coding tetapi juga tentang hal-hal seperti pola desain, arsitektur perangkat lunak, dokumentasi, dan bagaimana tim pemrograman besar lainnya menyelesaikan pekerjaan. Tidak selalu mudah seseorang datang dan menunjukkan cara yang lebih baik untuk melakukan hal-hal yang telah Anda lakukan, tetapi jika Anda dapat menelan harga diri Anda dan bersedia mencoba hal-hal baru, Anda dapat belajar banyak.
Proses wawancara berjalan lebih baik dari yang saya harapkan. Saya mulai mengajukan pertanyaan tentang hal-hal yang saya kenal, kemudian mengajukan beberapa pertanyaan tentang beberapa hal yang saya perjuangkan. Setiap kali orang yang diwawancarai mengatakan sesuatu yang tidak saya mengerti, saya akan meminta mereka untuk menjelaskannya kepada saya dan kemudian menuliskannya sehingga saya bisa mencarinya nanti. Secara keseluruhan, saya merasa bisa mendapatkan gagasan yang cukup bagus tentang tingkat keterampilan pelamar, kecerdasan, dan bagaimana mereka akan bekerja dengannya.
Jawaban:
Kamu tidak bisa
Sebagai gantinya, saya akan menyarankan Anda untuk datang dalam wawancara dengan daftar masalah yang Anda miliki hari ini , dan tanyakan kepadanya bagaimana ia akan menyelesaikannya .
Ini adalah metode yang sangat menarik karena dua alasan berikut:
Ini adalah konsultasi gratis . Bahkan jika Anda tidak mempekerjakan orang itu, dia mungkin menyarankan solusi bagus untuk masalah Anda .
Jika dia datang dengan solusi yang menarik , dia adalah pemecah masalah . Tipe pria yang ingin Anda pekerjakan.
sumber
Gunakan usia Anda sebagai keuntungan.
Saya telah mewawancarai banyak orang yang lebih tua dari saya. Saya memilih teknologi yang saya lakukan tahu cukup baik dan memberitahu mereka bahwa saya pernah mendengar Teknologi X, tapi tidak pernah menggunakannya. Saya meminta kandidat untuk memberi saya gambaran teknologi dan bagaimana mereka menggunakannya dalam suatu proyek.
Ini bekerja dengan sangat baik. Pertama-tama, jika kandidat hanya menggunakan Teknologi X itu sebagai kata kunci pada resume mereka, maka penjelasan mereka akan payah / tidak masuk akal. Juga, jika mereka tidak dapat memberi Anda contoh yang baik dan konkret tentang bagaimana mereka menggunakan teknologi itu dalam proyek-proyek sebelumnya, Anda memiliki bendera merah besar di sana.
Saya mewawancarai seseorang yang memiliki pengalaman java Spring. Saya telah menggunakan Spring pada pekerjaan saya sebelumnya, dan salah satu fitur besar spring adalah Dependency Injection. Saya mengatakan kepada kandidat yang saya wawancarai bahwa saya telah mendengar tentang Spring dan tidak pernah menggunakannya. Dia mulai mengoceh terus-menerus, tetapi tidak bisa memberi tahu saya di mana dia telah menggunakan Spring AOP dan tidak bisa menjelaskan Ketergantungan Injeksi kepada saya, bahkan setelah saya secara eksplisit bertanya setelah melihat hal-hal yang disebut pada resume-nya. Dia hanya mengatakan kepada saya bahwa mereka benar-benar keren, dan ada begitu banyak yang harus dipelajari di sana, dll, dll. Ternyata dia tidak tahu jack ... dan saya adalah satu-satunya yang mengetahui hal itu. anggota yang lebih muda dari tim dev.
Jadi gunakan usia Anda sebagai keuntungan! Masuklah, percaya diri, dan ajukan beberapa pertanyaan tentang teknologi yang Anda kenal baik.
sumber
Ingatlah bahwa hanya karena mereka memiliki pengalaman lebih dari Anda, mereka mungkin bukan pengembang yang lebih baik dari Anda. Ungkapan "Satu tahun pengalaman berulang kali n ." muncul karena Anda melihat ini terjadi di industri. Dengan demikian, tugas pertama Anda selama wawancara harus menetapkan bahwa mereka memang memiliki pengalaman yang relevan dan dapat menampilkan diri sebagai seseorang yang tahu apa yang mereka lakukan. Demikian juga, hanya karena seseorang telah memiliki n tahun pengalaman dalam industri, itu tidak berarti mereka memiliki ton pengalaman dalam bahasa tertentu, perpustakaan, atau kerangka kerja sehingga mereka mungkin masih datang kepada Anda dari waktu ke waktu mengajukan pertanyaan saat mereka mempelajari sesuatu.
Selanjutnya, ingat bahwa pengembang senior yang baik adalah seseorang yang Anda harus dapat mendekati dan bertanya tentang sesuatu yang Anda mengalami masalah. Ini adalah saat yang tepat untuk menanyakan kepada mereka beberapa pertanyaan desain yang Anda punya masalah dan lihat bagaimana mereka merespons dan apa alasan mereka dalam penjelasan mereka. Pernahkah mereka melihat sesuatu yang serupa sebelumnya di tempat lain, apakah mereka membuat tebakan berdasarkan pengalaman, apakah mereka membaca artikel online atau dalam jurnal?
Akhirnya, hal lain yang harus dilihat adalah bagaimana mereka mendekati kode debugging. Dalam pengalaman saya sendiri, saya telah menemukan bahwa terlepas dari bahasa, teknik debugging tertentu cenderung diterapkan universalitas. Berikan kandidat contoh dari salah satu bug yang lebih esoteris yang Anda temui dan minta mereka memandu Anda bagaimana mereka akan mendekati bug tersebut. Apakah mereka memiliki wawasan tentang masalah yang tidak segera terlihat?
Singkatnya, mewawancarai seorang kandidat dengan wawancara yang mengesankan bisa jadi menakutkan, tetapi ada sesuatu yang perlu Anda liput terlepas dari level apa yang akan mereka (yaitu apakah mereka benar-benar tahu apa yang mereka lakukan) dan begitu selesai, Anda dapat mulai menyelidik mereka untuk melihat bagaimana mereka menerapkan pengalaman mereka. Bagaimana para kandidat menerapkan pengalaman kerja mereka sebelumnya akan menjadi apa yang akan membuat satu kandidat lebih menonjol daripada yang lain.
sumber
Saya suka Gunakan usia Anda sebagai jawaban keuntungan , dan saya akan menyarankan sesuatu yang serupa:
Gunakan tingkat pengalaman Anda yang lebih rendah sebagai keuntungan
Orang ini mungkin akan menjadi bos atau mentor Anda, jadi ajukan pertanyaan dengan cara yang memungkinkan Anda mengetahui apakah orang itu benar-benar dapat membimbing Anda.
Ajukan pertanyaan rumit yang bisa dibuat lebih mudah, atau itu termasuk masalah yang terlalu rumit. Jika dia baik, dia tidak hanya akan menyelesaikan mencoba untuk menjawab pertanyaan / memecahkan masalah, tetapi benar-benar sampai ke masalah nyata, menunjukkan kepada Anda kekurangan dalam pertanyaan Anda. Jika ia berhasil melakukannya dengan cara yang sopan tanpa mengintimidasi Anda, ia adalah penjaga.
sumber
Yang benar-benar penting adalah bahwa Anda memastikan dia adalah hak jenis pengembang berpengalaman untuk apa yang Anda butuhkan.
Ketika orang melanjutkan karier mereka, mereka cenderung pergi ke arah yang berbeda dalam hal apa yang mereka lakukan. Anda mungkin mewawancarai orang-orang yang ahli dalam menjalankan tim programer yang besar atau bekerja dengan kode warisan yang berbelit-belit dan cukup brilian pada apa yang mereka lakukan tanpa mereka menjadi orang yang tepat untuk peran Anda. Jadi cobalah memiliki ide tentang apa yang sebenarnya Anda cari di muka dan pikirkan pertanyaan yang akan membedakan secara tepat jenis pengembang untuk pekerjaan Anda dari orang lain.
sumber
Saya harus melakukan ini beberapa kali. Saya belajar melakukannya dalam proses langkah-bijaksana.
Masalah terbesar saya ketika mewawancarai kandidat senior adalah bahwa mereka sering menjadi sangat gugup untuk diwawancarai oleh orang yunior, terutama mereka yang tidak bisa menangani tes kode dasar saya. Berusaha keras untuk tidak terlihat mengancam dalam keterampilan apa pun yang Anda perlihatkan selama wawancara - fokuskan pada mereka, bahkan jika mereka tidak dapat menjawab pertanyaan Anda dengan baik. Coba dan miringkan wawancara ke pertanyaan yang bisa mereka jawab jika gagal pada dasarnya.
sumber
Dalam hal proses wawancara yang sebenarnya, pada dasarnya Anda memperlakukan mereka sama seperti orang lain yang Anda pekerjakan. Seharusnya ada proses perekrutan yang serupa:
Ada banyak posting lain di situs ini yang mencakup topik umum diskusi yang harus Anda bahas dalam proses wawancara - inilah jawaban saya untuk salah satunya .
Di semua titik dalam proses wawancara, orang yang berpengalaman harus menunjukkan pemahaman yang sangat baik tentang spesialisasi yang diiklankan. Anda dapat menyelidiki mereka, secara mendalam, pada topik apa pun yang Anda bahas selama diskusi. Ajukan pertanyaan hingga batas tingkat pengalaman / kenyamanan Anda dan lihat apakah itu dapat berlanjut tanpa khawatir. Jika Anda perlu melakukan sesuatu dengan mendalam yang tidak memiliki banyak pengalaman, lakukan pencarian web untuk beberapa contoh pertanyaan (dapatkan pilihannya), baca dan pahami jawabannya sebelum wawancara , dan kemudian tanyakan pada kandidat salah satu dari pertanyaan ini. Jangan berharap mereka tahu semua jawaban, jadi pilihlah beberapa pertanyaan.
Ada dua jenis insinyur berpengalaman yang dapat Anda pekerjakan:
1) Pengalaman Industri yang Relevan
Ini adalah orang yang dapat Anda ajak daftar masalah saat ini dan berbicara bagaimana mereka dapat mendekati masalah tersebut. Anda harus mengukur tingkat pemahaman mereka tentang masing-masing topik khusus domain di industri Anda. Ketika Anda berada di industri itu, Anda dapat memberi tahu jawaban 'bodoh' dari jawaban 'baik' dan mungkin juga bisa melihat jawaban 'berpengalaman'. Berbeda dengan jawaban lain, saya tidak berharap mereka benar-benar menyelesaikan masalah Anda saat ini - itu akan terjadi ketika Anda mempekerjakan mereka - tetapi Anda membutuhkan mereka untuk meyakinkan Anda bahwa mereka bisa begitu mereka mulai.
2) Tidak Ada Pengalaman Industri yang relevan
Jadi kandidat ini mungkin mengubah industri tetapi memiliki pengalaman yang baik dalam teknologi / platform / keterampilan dasar yang Anda butuhkan. Pelajari lebih lanjut tentang hal-hal tersebut, tetapi jangan berharap mereka dapat menemukan solusi untuk masalah khusus domain, meskipun Anda bisa membicarakannya. Sebagai contoh, jika perusahaan Anda adalah Facebook, dan orang yang Anda wawancarai panas dengan PHP dan C ++, tidak realistis untuk mengharapkan mereka mengetahui semua jebakan server pertanian besar-besaran (kecuali jika mereka mengklaimnya pada CV mereka).
sumber
Satu hal yang saya tidak lihat secara eksplisit menunjukkan, adalah "Anda tahu teknologi X sangat baik, dan itu terdengar sangat menarik. Bisakah Anda menjelaskannya kepada saya dalam lima menit?"
Karena Anda kemungkinan besar diharapkan dapat mempertahankan kode yang pada akhirnya keluar dari orang yang baru, sangat penting bahwa ia mampu menjelaskannya kepada programmer lain secara efisien dan baik. Anggap itu sebagai keterampilan komunikasi.
Pemahaman yang menyeluruh diperlukan untuk dapat bertemu dengan pengembang lain di tingkat keahlian mereka dan mengkomunikasikan pemikiran dan ide di tingkat mereka.
Jika orang tersebut tidak dapat berkomunikasi secara verbal, kemungkinan besar dia hanya menulis kode untuk kompiler, bukan untuk pengelola.
sumber
Saya setuju dengan Steven tentang bagian mentoring. Sebenarnya saya akan mengatakan bahwa Anda dapat mengajukan pertanyaan kepadanya tentang apa pandangannya tentang bimbingan dan bagaimana dia melakukannya dalam skenario yang berbeda. Kemudian evaluasi berdasarkan jawaban (Anda bisa mendapatkan umpan balik dari atasan Anda jika Anda suka atau membahas jawaban aktual dalam tanya jawab).
Anda juga dapat mengajukan pertanyaan yang akan Anda ajukan kepada rekan kerja, karena kandidat mungkin harus dapat menyelesaikan atau setidaknya memahami pekerjaan Anda.
sumber
pasti memilih otaknya dalam wawancara tentang masalah nyata dan teknologi yang saat ini Anda miliki atau ingin gunakan
dengan asumsi dia adalah pengembang senior yang kompeten dan imajinitif, memutuskan untuk mempekerjakan atau tidak berdasarkan jika Anda pikir Anda dapat belajar darinya dan bekerja dengan baik dengannya
Anda tidak mewawancarai bos masa depan Anda, Anda sedang mewawancarai mentor masa depan Anda. Jangan memilih seseorang yang mengetahui semua jawaban tetapi tidak bisa mengajar
sumber
Ambil banyak masalah yang sudah Anda pecahkan. Jelaskan kepadanya apa yang telah dilakukan untuk menyelesaikan masalah (pertahankan orang ketiga; Anda tidak ingin mempertaruhkan ego pribadi Anda di sini). Tanyakan kepadanya apa yang akan dia lakukan "berbeda". Anda harus bisa, berdasarkan apa yang dia sarankan, mencari tahu apakah itu akan lebih baik atau lebih buruk, secara konseptual, daripada apa yang Anda lakukan.
sumber
Saya sangat merekomendasikan Anda untuk membaca buku "Smart and Gets Things Done: Panduan Ringkas Joel Spolsky untuk Menemukan Bakat Teknis Terbaik" .
Saya tidak pernah mempekerjakan siapa pun, tetapi kadang-kadang ketika saya menjadi orang yang diwawancarai, saya berharap beberapa orang idiot yang hanya tahu tentang kata kunci dan sedang mewawancarai saya, memiliki garis penalaran yang terungkap dalam buku itu. Teksnya sangat lancar dan menyenangkan untuk dibaca.
Dan tidak, saya tidak membuat iklan hanya karena situs ini dari penulis buku. Buku ini benar-benar hebat dan saya akan merekomendasikan ini kepada siapa pun yang berada dalam posisi untuk merekrut orang-orang TI, khususnya bagi yang tidak mengerti teknologi - Saat ini sangat umum untuk memiliki manajer proyek atau bos non-teknis.
sumber