Tes teknis untuk pengembang senior [ditutup]

21

Saya punya dilema. Saya memiliki kandidat untuk posisi pengembang perangkat lunak senior.

Orang itu tampaknya kompeten pada pembicaraan pertama dengannya dan dia menjawab pertanyaan yang diajukan dengan tepat dan memberi saya bukti pekerjaannya. Apalagi dia telah sangat direkomendasikan oleh beberapa rekan terpercaya.

Dalam hal ini saya tergoda untuk melewati tes teknis yang diharuskan oleh HR karena saya harus mengisi lowongan secepatnya. Silakan bagikan pengalaman Anda.

EDIT:

Terhadap penilaian yang lebih baik saya telah memberikan ujian. Skor tertinggi di hampir semua pertanyaan, bahkan pada subjek yang tidak dia banggakan. Tetapi saya sangat mendukung beberapa ironi darinya ketika dia melihat pertanyaan-pertanyaan ujian - yang jelas bukan untuk senior.

Jadi kami mengajukan penawaran.

Terima kasih atas wawasannya.

Daniel Voina
sumber
22
direkomendasikan oleh kolega tepercaya harus cukup baik. Sebagian besar tidak akan melakukan itu sebagai reputasi mereka di telepon.
Aditya P
28
Jika Anda tidak punya cukup waktu untuk mengujinya sekarang, bagaimana mungkin Anda punya cukup waktu untuk memecatnya, mencari kandidat baru, dan kemudian menguji pria itu? Lakukan dengan benar pertama kali.
Alex Feinman
1
@ Alex: Ini bukan masalah tidak melakukan proses dengan benar. Saya ingin menyewa dengan cepat karena saya punya tenggat waktu untuk dipenuhi. Saya dapat mengujinya sebanyak yang saya inginkan, saya bahkan telah membuatnya solusi desain pada pembicaraan - tidak ada kode meskipun karena saya benar-benar tidak tertarik pada sintaks bahasa tetapi dalam solusi yang diusulkan dan teknologi yang sesuai.
Daniel Voina
Tidak bisakah Anda kontrak selama waktu yang mendesak ini?
Kevin Peno
1
@ Harun, akankah HR benar-benar khawatir tentang posisi kontrak? Apalagi jika kontrak itu dibuat jangka pendek untuk mencegah kesulitan jangka panjang bagi perusahaan.
Kevin Peno

Jawaban:

34

Seperti biasa...

Tergantung

Saya belum pernah melihat tes teknis yang membuktikan kompetensi. Saya telah melihat banyak tes teknis yang menunjukkan ketidaktahuan - baik pada bagian pembuat tes dan peserta tes.

Berapa banyak kepercayaan yang Anda miliki dalam tes teknis? Sudahkah Anda mengambilnya? Apakah Anda pikir itu adil?

Secara rahasia, saya mengambil tes teknis online sebagai bantuan untuk klien beberapa waktu lalu (mereka menginginkan skor saya sebagai 'dasar' untuk karyawan baru) dan gagal - terutama karena pertanyaan tes hanya terdiri dari sintaks dan nama fungsi untuk spesifik versi bahasa tertentu. Saya menggunakan bahasa itu sepanjang waktu, dan sudah bertahun-tahun, tetapi tidak pada fitur-fitur spesifik itu . Ini semua adalah hal yang dapat saya perhatikan ketika / jika dibutuhkan - dan karena itu sama sekali tidak relevan dengan keterampilan / kompetensi.

Jadi itu sangat tergantung pada tes. Jika Anda menganggap tes teknis Anda signifikan maka tentu saja berikan itu. Jika Anda tidak menyingkirkannya . Kesan Anda berdasarkan wawancara pribadi plus rekomendasi dari kolega tepercaya jauh lebih berharga daripada tes apa pun .

Steven A. Lowe
sumber
:) Saya benar-benar tidak tertarik dengan sintaks atau pemformatan kode. Saya hanya ingin seorang pria berpengalaman yang dapat menangani ketidakpastian dan mengetahui barang-barangnya dengan baik. Selain itu, ia adalah SCJP - id yang diverifikasi di Oracle. Apakah ada baiknya bertanya kepadanya tentang C # hanya demi proses SDM?
Daniel Voina
3
+1 "Baik pada bagian pembuat tes dan pengambil tes" ... memang. Seandainya aku bisa +10 itu
P.Brian.Mackey
1
@Aniel: Saya kira tidak - tetapi saya memiliki pendapat yang sangat rendah tentang proses dan formalitas SDM. Saya pikir banyak dari itu ada hanya untuk membenarkan keberadaan departemen, daripada menambah nilai bagi perusahaan. Tapi itu hanya pendapat saya.
Steven A. Lowe
Jika ini adalah tes online, maka Anda dapat mencari jawabannya seperti biasa, bukan?
Zan Lynx
3
lol pada cerita Anda tentang gagal tes untuk teknologi klien sudah tahu Anda ahli. Saya telah mengikuti tes-tes semacam itu sebelumnya dan itu benar-benar membuat saya meragukan kemampuan saya sendiri (saya terlalu dini dalam karier saya untuk menyadari betapa tidak bergunanya tes itu.) Inilah alasan mengapa kebanyakan sertifikasi teknis paling tepat untuk digunakan pada kata kunci pendek resume Anda untuk skrining SDM.
jhocking
33

Apakah hasil tes teknis akan membuat perbedaan dalam keputusan perekrutan Anda? Apakah kekuatan pembicaraan Anda dengannya dan rekomendasi kolega yang sangat tepercaya cukup kuat untuk membuat hasil tes teknis tidak relevan?

Jika tes tidak akan membuat perbedaan, lewati saja.

Gratzy
sumber
2
Jika tes tidak akan membuat perbedaan, lewati saja. - Saya pikir hal yang sama. Namun, ada satu variabel lagi - SDM, jika sangat membutuhkan tes itu dan tidak memakan banyak waktu, maka saya akan merekomendasikan untuk melakukannya karena tidak disalahkan oleh HR dalam pengujian yang lemah atau tidak mendukung peraturan / kebijakan perusahaan.
alexb
1
@ AlexB Jika HR benar-benar membutuhkan tes pertanyaan itu sendiri diperdebatkan dan tes harus dikelola. Fakta bahwa pertanyaan diajukan, kita harus mengasumsikan bahwa kemungkinan tidak mengikuti tes ada.
Gratzy
1
@ Grey Pasti setuju. Maksud dari "HR sangat membutuhkan" Maksud saya, bahwa SDM membutuhkan tes tetapi masih bisa dilewati (jika SDM bisa fleksibel), tetapi bisa berisiko bagi manajer jika mempekerjakan insinyur dengan kurangnya keterampilan yang diperlukan, karena manajer sedemikian kasus bisa disalahkan karena tidak mengikuti tes. Hanya saja saya ingin memberi tahu.
alexb
Apa yang bisa saya katakan adalah: jika tes tidak memakan banyak waktu, saya akan merekomendasikan hanya untuk menerimanya, yang seharusnya menghalangi + beberapa info berguna dapat diambil.
alexb
1
@ Alex Saya tidak setuju dengan Anda. Lebih banyak informasi lebih baik daripada lebih sedikit, menghilangkan risiko lebih baik daripada memiliki risiko, namun poster jelas memiliki kerangka waktu yang singkat dan ingin membuat keputusan berdasarkan informasi terbatas yang dimilikinya, oleh karena itu jika mengikuti tes tidak akan menambah banyak maka sangat tidak berguna di sini. Jika kita memiliki informasi yang tidak terbatas maka keputusan akan mudah. Mampu membuat keputusan yang baik tentang informasi terbatas sangat berharga.
Gratzy
6

Saya tidak melihat argumen yang kuat untuk melewati ujian. Karena itu Anda harus menyimpannya .

Jika Anda percaya bahwa kandidat akan menolak karena harus mengikuti tes, itu berarti.

Jika tes membutuhkan waktu begitu lama untuk dilaksanakan dan memeriksa bahwa itu berarti keputusan perekrutan tertunda, maka Anda mungkin perlu meninjau tes itu sendiri.

Sebaliknya, jika Anda berencana untuk merekrut orang tersebut terlepas dari hasilnya, maka lanjutkan tanpanya, tetapi kemudian Anda harus mengunjungi kembali kebijakan pengujian dan membuatnya secara eksplisit opsional.

sdg
sumber
Poin bagus tentang tes (bukan hasil) menjadi masalah. Pastikan bahwa tes tersebut sesuai.
ChrisF
4

Apakah tes teknis umumnya bermanfaat atau BS? Apakah Anda ingin melewatinya karena Anda ingin dia dipekerjakan lebih cepat, karena Anda takut akan mendapatkan penghalang jalan untuk menyewa yang Anda inginkan, atau karena Anda takut itu mungkin akan menyinggung perasaannya?

Sebagai aturan umum saya suka membuat aturan aturan. Karena jika Anda mulai membuat pengecualian untuk satu orang, maka Anda harus mulai membuat pengecualian semakin banyak sampai Anda terbakar dan mempelajari mengapa aturan itu ada. Dan percayalah, upah yang buruk adalah kesalahan yang sangat menyakitkan. Tapi itu hanya benar jika aturan itu bermanfaat. Apakah ini aturan berguna, tergantung pada tes teknis.

Kedua, tidak peduli berapa banyak tekanan yang Anda rasakan untuk dipekerjakan, jangan biarkan itu mendorong Anda untuk mengambil keputusan terburu-buru. Tergesa-gesa mendorong kita untuk mengatakan ya ketika kita seharusnya tidak, mengabaikan tanda-tanda peringatan, dll. Sebenarnya semakin banyak tekanan yang Anda alami, semakin Anda perlu mendorong kembali pada tekanan itu untuk memastikan Anda membuat keputusan yang tepat.

Ketiga jika Anda memiliki suara yang mengomel, "Saya khawatir, meskipun ada hal lain, ia mungkin tidak lulus tes" maka dengarkan suara itu - jangan melewati tes. Ini mungkin bukan perekrutan yang tepat.

Dan terakhir, jika kandidat itu baik tidak hanya kandidat tidak akan tersinggung dengan harus mengikuti tes teknis, kandidat kemungkinan akan melihatnya sebagai pertanda baik tentang organisasi Anda. Ini adalah item 11 dalam tes Joel yang dikutip secara luas . Lagi pula, mereka tidak senang bekerja dengan pengembang yang tidak akan lulus tes teknis, dan mungkin tidak ingin mengulangi pengalaman itu.

Untuk semua alasan itu, Anda harus memberikan tes jika (dan ini penting jika) tes tersebut bukan bagian BS yang jelas yang harus diganti dengan tes teknis yang bermanfaat .

btilly
sumber
Sebagian besar BS, dengan sebagian besar tidak ada relevansi untuk pekerjaan itu. HR mengajukan pertanyaan C # tetapi kami sebagian besar adalah rumah Java / Unix (jangan tertawa - mereka membeli tes dari konsultan perekrutan). Seperti yang saya komentari di atas - itu bukan "kode asli" yang diminta selama wawancara, tetapi kode semu dan beberapa scketches UML.
Daniel Voina
1
@Daniel Voina - Apakah orang ini akan melakukan pekerjaan koding, atau pekerjaan arsitektur? Jika pekerjaan pengkodean Anda harus meminta orang tersebut menulis kode dalam wawancara. Serius. Jika kandidat menolak keras, Anda perlu tahu ini sebelum Anda menyewa.
btilly
Kedua. Saya berharap dia berkembang. Saya berharap dia datang dengan solusi baik di tingkat desain / arsitektur serta kode mereka. Saya pikir yang ke-2 tersirat secara alami oleh SCJP + pengalaman + rekomendasi sebelumnya
Daniel Voina
@Aniel Voina - Maka Anda pasti perlu mengujinya. Beberapa kandidat yang sangat berpengalaman, atau sangat baik, mengembangkan sikap bahwa pengkodean ada di bawah mereka. Mereka bisa menjadi hebat dalam peran arsitektur murni jika peran arsitektur murni masuk akal untuk Anda. Tetapi jika Anda menyewa satu dan kemudian meminta mereka untuk kode, Anda tidak akan mendapatkan akhir dari kebencian dan masalah. Karena itu Anda perlu mencari ini dalam proses wawancara.
btilly
4

Kami baru-baru ini dalam situasi yang sama. Kami melewatkan teknis yang mendalam karena pada awalnya ia tampaknya telah membaca semua buku yang tepat dan mengerjakan semua jenis proyek yang tepat. Dia tampak sangat baik.

Kemudian setelah beberapa minggu menjadi jelas bahwa dia tidak dapat benar-benar kode pada tingkat wawancara yang katanya harus. Dan kepribadiannya tidak cocok dengan tim. Itu berantakan untuk menyingkirkannya dan membersihkan apa yang telah dilakukannya.

Lakukan teknis sebelum mempekerjakan siapa pun.


sumber
3

Ikuti tes demi keadilan. Jika karyawan baru lainnya kemudian mengetahui bahwa mereka harus menulis tes tetapi orang ini tidak, itu bisa menimbulkan perasaan dendam.

Tes harus diterapkan untuk semua orang atau tidak ada orang. Jika Anda ingin menerapkannya secara selektif, pastikan ada kebijakan yang jelas dan tertulis yang menjelaskan kapan kebijakan itu dapat dihapuskan.

FrustratedWithFormsDesigner
sumber
1

Nilai-nilai tes teknis bervariasi dan sebagian besar tergantung pada seberapa baik tes dicocokkan dengan peran yang dipekerjakan pengembang senior. Maksud saya, apakah Anda akan memberikan daftar pertanyaan tentang rekayasa sistem tertanam untuk pengembang Oracle (ini adalah contoh buruk untuk membuktikan suatu hal).

Bahkan jika pengembang senior mendapat nilai buruk dalam tes teknis, apakah itu akan menjadi kendala bagi Anda untuk merekrut kandidat?

Seperti yang Anda sebutkan bahwa Anda terdesak waktu, jangan terburu-buru mengambil keputusan karenanya. Akan lebih buruk jika pengembang senior ternyata menjadi seseorang yang di bawah standar dalam bidang tanggung jawabnya dan akhirnya menempatkan proyek di belakang jadwal.

tehnyit
sumber
1

Putar balik.

Jika itu adalah karyawan tetap senior yang sangat direkomendasikan oleh orang-orang yang Anda percayai, ia mungkin akan menjadi anggota tim wawancara berikutnya. Tanyakan pengembang senior potensial ini untuk pertanyaan tes wawancara teknis favorit mereka, dan bagaimana mereka dapat menilai kekuatan dan kelemahan dari berbagai jawaban. Mungkin membuat beberapa jawaban buruk baru untuk mengujinya. Anda bahkan mungkin belajar banyak dari penggunaan waktu Anda ini (atau mungkin menemukan sesuatu yang berbendera merah).

Kemudian centang beberapa jawaban untuk pertanyaan mereka sendiri sebagai "tes teknis dilakukan".

hotpaw2
sumber
1

Pikirkan seperti ini - apa perbedaan antara mempekerjakan seseorang yang sangat baik sedikit lebih lambat dari yang Anda inginkan, atau mempekerjakan seseorang yang berpotensi buruk sekarang?

Juga, seberapa mampukah Anda mengatakan Anda melakukan pekerjaan yang dirancang untuk dievaluasi oleh tes ini?

Saya bekerja untuk perusahaan yang membutuhkan sekitar 99% kandidat untuk lulus tes pemrograman. 1% yang tidak diwajibkan lulus jatuh ke dalam dua kategori. Kategori pertama adalah tipe "rockstar" yang telah kami rekrut secara aktif sejak awal. Kategori kedua, dan mungkin lebih relevan, adalah orang-orang yang prosesnya telah dihapuskan oleh personil senior yang memiliki rekam jejak rekrutmen yang sangat kuat dan yang mampu melakukan pekerjaan yang mereka rekrut.

Secara pribadi, saya pikir ini adalah kebijakan yang baik, dan saya akan merekomendasikannya untuk situasi Anda.

Ben Burns
sumber
1

Saya akan tetap memberikan tes. Ia mungkin direkomendasikan untuk sejumlah alasan (beberapa di antaranya mungkin tidak terlalu bermanfaat bagi Anda ...). Salah satu manfaat dari wawancara teknis adalah memulai proses ikatan dengan anggota tim lainnya. Jangan meremehkan kebutuhan tim untuk dibeli dalam proses perekrutan.

Al Biglan
sumber
1

Mengingat pembatasan HR, saya pikir saya akan mengunduh salinan cyber-dojo , menginstalnya di server lokal, menempatkan kandidat Anda di depan browser web yang hanya dapat mengakses server itu dan meminta mereka untuk menyelesaikan beberapa kata (pilihan ponsel Anda) dalam bahasa yang mereka pilih (idealnya bahasa yang berbeda per kata).

Kemudian lihat urutan lampu lalu lintas. Jika mereka adalah pengembang TDD yang baik , Anda harus mendapatkan perkembangan merah / hijau berulang yang bagus.

Jika Anda ingin bermain dengan cyber-dojo, penulis memiliki versi online yang bagus di sini .

Mark Booth
sumber
hmmm ... alat yang bagus. Saya sedang mempertimbangkan Codility codility.com tetapi yang ini gratis. Terima kasih!
Daniel Voina
0

Pertanyaan lain - seberapa besar kepercayaan yang Anda miliki di departemen SDM Anda.

Saya mungkin terlalu banyak minum KoolAid psychedelic di sini, tetapi saya sering terkejut mengetahui bahwa departemen SDM saya memiliki rencana yang baik dalam pikiran ketika menerapkan ukuran perlindungan yang diberikan untuk perekrutan. Misalnya, sepertinya memang benar bahwa orang senior Anda akan diperlukan untuk Oracle, dan bukan untuk C #, sehingga tes C # tampaknya tidak relevan. Tetapi jika departemen SDM Anda sangat peka terhadap seberapa sulit memecat seseorang ketika mereka tidak dapat mencapai sasaran di beberapa proyek yang berbeda, maka kebutuhan jangka pendek Anda untuk seseorang mungkin dikalahkan oleh kebutuhan jangka panjang untuk memastikan bahwa setiap pengembang dapat memenuhi beberapa kompetensi minimum dalam bahasa pemrograman yang banyak digunakan.

Semua itu berkaitan dengan metodologi perekrutan Anda saat ini, undang-undang yang mengatur perusahaan Anda, dan kebutuhan akan keterampilan teknis di seluruh bidang. Di beberapa perusahaan, pengaturan hal-hal seperti masa percobaan membuatnya mudah untuk menjalani uji coba dengan seseorang dan kemudian melepaskannya jika tidak berhasil dalam 3 bulan pertama. Di perusahaan lain, begitu seseorang berjalan di pintu sebagai karyawan tetap, mereka tunduk pada perlindungan perlakuan adil yang besar yang berarti bahwa Anda harus mempertahankan dan melatihnya untuk waktu yang lama sebelum Anda dapat menyingkirkan seseorang yang tidak mengukur naik.

Saya akan memeriksa perusahaan Anda dan melihat apakah ada alasan untuk melakukan beberapa tingkat ketekunan meskipun orang ini tidak perlu menunjukkan keterampilan ini dalam jangka pendek. Konsekuensi jangka panjang - terutama pada tingkat gaji seorang insinyur senior - bisa sangat besar.

bethlakshmi
sumber
Terus terang? Tidak banyak. Tampaknya terpisah dari teknologi dan, mungkin tidak sengaja, tidak mengikuti tren pasar TI lokal.
Daniel Voina
@Daniel Voina - Sudahkah Anda mencoba menembak seseorang sebelumnya?
bethlakshmi
Saya bahkan berhasil.
Daniel Voina
@Aniel Voina - hebat ... tapi saya pernah melihat situasi di mana dibutuhkan 6 bulan hingga 1,5 tahun untuk memecat seseorang. Mengingat rasa sakit dan penderitaan yang terlibat tidak hanya untuk orang tersebut dan orang-orang yang secara langsung mengelolanya, tetapi di seluruh tim, saya akan mengatakan ada poin yang valid untuk membuat orang itu melompat melalui beberapa lingkaran yang tampaknya tidak perlu, terutama jika itu adalah bagian dari CYA mekanisme.
bethlakshmi
0

Anda telah mengulangi berkali-kali bahwa tenggat waktu semakin dekat - saya berasumsi Anda tahu tentang hukum Brook.

Karena itu, di sini Anda harus melihat penundaan seperti apa yang mungkin disebabkan oleh proses wawancara yang sebenarnya. Jika dia adalah kandidat yang sangat kompeten yang menurut Anda bisa masuk dan memperbaiki masalah tenggat waktu Anda, maka ia seharusnya tidak memiliki masalah dalam menghabiskan beberapa jam wawancara / pemrograman berpasangan. Faktor lain yang perlu dipertimbangkan adalah rekan Anda saat ini. Anda tidak ingin memberikan perasaan kepada tim Anda yang lebih besar bahwa orang masuk / pergi sesuai dengan keinginan Anda - karena biasanya mencerminkan buruk jika pria itu keluar. Ini adalah salah satu alasan utama mengapa HR bersikeras pada beberapa wawancara sehingga satu orang tidak memegang teguh suc.

Semoga sukses dengan perekrutan dan proyek!

Subu Sankara Subramanian
sumber
Tenggat waktu datang sekitar 5 bulan. Saya tidak mengharapkan kekuatan super darinya, hanya bisa menangani fitur baru, memahami basis kode saat ini, terbiasa dengan beberapa teknologi dan dapat memperbaiki bug jika perlu. Tenggat waktu adalah masalah saya dan saya ingin merekrut untuk mempertahankannya sebanyak mungkin tanpa terlalu banyak menghabiskan waktu di tim. Orang-orang dari tim saya mengenalnya lebih baik daripada saya - mereka bekerja bersama di perusahaan lain.
Daniel Voina
Maka itu berarti Anda mengasumsikan dia akan mampu berlari. Mengapa Anda tidak melakukan sesi pemrograman pasangan 1 jam dan membuat keputusan?
Subu Sankara Subramanian
Saya ada dalam pikiran untuk memberinya masalah dan mendapatkan solusi dalam beberapa hari (solusi = kode + tes). Pemrograman pasangan juga akan sangat baik. Masalahnya adalah jika saya tidak mempekerjakan saya mungkin kehilangan peluang - orang itu juga diburu orang lain. Yang mengganggu saya adalah saya tidak bisa menahannya di kota (saat ini ia tinggal di tempat lain), sampai HR memutuskan bahwa tes perekrutan tidak masalah. Saya pikir saya akan mengikuti nyali saya setelah semua.
Daniel Voina
Kecuali jika Anda mencoba untuk mempekerjakan Richard Stallman Level orang, saya yakin ada programmer lain yang setara :). Tetapi sekali lagi, kita harus mengikuti insting kita sesekali - Jadi, seperti yang saya katakan sebelumnya, Selamat mencoba :). Perbarui posting ini tentang bagaimana hasilnya nanti!
Subu Sankara Subramanian
0

Biasanya sebagai bagian dari kontrak Anda memiliki enam bulan sebagai masa percobaan pada awal pekerjaan. Jika kandidat benar-benar tidak kompeten maka ini akan sangat jelas selama beberapa bulan pertama ini dan Anda setidaknya memiliki opsi untuk mengakhiri setelah masa percobaan mereka. Saya juga akan menekankan bahwa tidak ada yang bisa mengetahui segalanya dan orang sering membutuhkan waktu untuk tumbuh menjadi peran dan memang mungkin meningkatkan tangga karier sehingga sedikit waktu untuk menyelesaikannya sebelum membuat penilaian selalu bijaksana (dari keduanya). pesta!)

Matt Wilko
sumber
0

Sejujurnya (dan ulangi jawaban saya untuk pertanyaan lain), saya sendiri akan waspada dipekerjakan oleh toko yang tidak memberi saya wawancara teknis. Saya meragukan komitmen mereka pada keunggulan teknis dan tidak akan menyukai kenyataan bahwa saya tidak akan mendapat kesempatan untuk "berbicara di toko" dengan tim sebelum membuat keputusan.

Jadikan wawancara teknis juga kesempatan bagi anggota tim untuk mengenal pria itu, dan baginya untuk mengenal mereka. Karena pria itu senior, sangat penting bahwa Anda dapat berkomunikasi dengannya dengan jelas tentang masalah teknis. Bagaimana Anda akan mengujinya tanpa wawancara teknis yang mendalam?

Singkatnya: jika dia cukup penting untuk mengabaikan wawancara teknis standar untuknya, dia cukup penting untuk melakukan wawancara teknis khusus dengannya.

quant_dev
sumber