Tes pengkodean pra-screening - Berapa lama masuk akal? [Tutup]

22

EDIT

Setelah banyak pemikiran dan refleksi diri pada topik, saya menyadari bahwa sebagian besar masalah yang saya ajukan dalam pertanyaan ini hanya datang dari perspektif pribadi, bukan dari profesional. Karena itu, para moderator menunda pertanyaan ini karena sifat masalah yang sangat pribadi dan subyektif yang saya coba bicarakan. Saya berpikir untuk mengulang pertanyaan itu tetapi saya tidak dapat menemukan cara yang mungkin untuk mewujudkan pertanyaan dengan cara yang lebih obyektif sehingga dapat menjadi subjek diskusi di mana jawaban dapat didukung dengan semacam bukti atau referensi.

Demi mereka yang masih tertarik, saya mencoba memberikan ringkasan diskusi yang muncul dari pertanyaan ini:

  • 4 jam sebelum wawancara, tes pemrograman di luar kantor tidak biasa tetapi
  • banyak orang menunjukkan bahwa untuk beberapa perusahaan Anda akan mewawancarai lebih lama dari itu semua
  • itu adalah keputusan pribadi kita apakah kita mengikuti tes atau tidak, dan kita dapat mengevaluasi ini berdasarkan keadaan kita dan manfaat yang dirasakan dari dipekerjakan untuk perusahaan
  • semua perusahaan berbeda, seperti orang-orangnya, dan bisa sangat masuk akal bagi perusahaan untuk menggunakan tes luar kantor pra-wawancara yang lebih lama, jika itu yang sesuai dengan kebutuhan atau keadaan mereka

Saya ingin pertanyaan awal saya tentang seberapa masuk akal untuk mengharapkan 4 jam dari saya, dan bagaimana etis untuk memberikan masalah sehingga solusi (bukan kode, tetapi desain) dapat digunakan untuk perusahaan. Seperti yang sekarang saya dapat melihat kedua pertanyaan ini hanya dapat (paling-paling) dieksplorasi dalam diskusi forum, daripada menggunakan alat komunitas tipe pertanyaan-jawaban seperti stackexchange.

Namun, saya menemukan semua jawaban Anda berharga dan terima kasih telah berbagi.

POST ASLI

Saya mewawancarai beberapa posisi, dan sebagian besar dari mereka termasuk tahap pra-penyaringan di mana saya harus menyerahkan tes pengkodean sebelum wawancara telepon atau wawancara di tempat akan berlangsung. Saya sudah cukup terbiasa dengan ide ini, dan merasa cukup masuk akal bahwa perusahaan mengharapkan saya untuk melakukan ini sehingga mereka dapat memeriksa jenis pekerjaan apa yang dapat saya hasilkan sendiri.

Secara umum, pengalaman saya adalah bahwa jenis latihan pengkodean ini sebagian besar tugas pemrograman kecil. Lakukan beberapa logika, mungkin terapkan algoritma kecil, buka file dan baca / tulis data, hal-hal seperti itu. Bahkan tugas yang paling sederhana dapat diimplementasikan dengan pemisahan logika yang bagus, komponen yang dapat diuji, dll, untuk melihat bagaimana kandidat melakukan pengkodean, umumnya seberapa baik ia dipersiapkan untuk jenis pekerjaan yang ingin diisi oleh perusahaan.

Baru-baru ini saya menemukan sebuah perusahaan yang mengirimi saya tes koding dengan deskripsi panjang halaman seluruh latihan mereka, meminta saya untuk memecahkan masalah kehidupan nyata dari bisnis mereka (saya tidak ingin mengatakan secara spesifik untuk melindungi perusahaan, tetapi tes cukup banyak tentang apa yang mereka lakukan). Mereka menggambarkan sistem yang cukup rumit untuk diimplementasikan, termasuk data nyata, dan pada akhirnya mereka menyimpulkan bahwa tes pengkodean tidak boleh lebih dari 4 jam .

Apakah masuk akal dari perusahaan untuk mengharapkan saya menghabiskan 4 jam bekerja pada tugas boneka mereka di waktu luang saya, bahkan sebelum mereka akan menyapa saya? (Perekrut mengirimi saya tes coding)

Jangan salah paham, saya termotivasi untuk mencari pekerjaan baru dan tantangan baru, tetapi sebagian besar perusahaan mengharapkan saya menghabiskan waktu maksimal 1-2 jam untuk tugas seperti itu, dan tugas seperti itu selalu jauh lebih mudah.

Apa yang saya datang sebagai kesimpulan dengan perusahaan ini adalah bahwa baik:

1) Motivasi saya tidak baik dan mungkin mereka mencari orang lain

2) Mereka tidak menghormati karyawan masa depan mereka untuk mengharapkan seperti panjang coding tes untuk melakukan bahkan tanpa mengatakan hi kepada mereka

3) Mereka hanya ingin memberikan salah satu masalah yang mereka kerjakan dan melihat apakah ada orang muda yang antusias yang akan menyelesaikannya untuk mereka secara gratis (sekali lagi, jangan salah paham. Saya bukan ahli teori konspirasi tapi saya punya mendengar cerita seperti itu ...)

Menurut Anda, seberapa masuk akal bagi perusahaan untuk mengharapkan para kandidat menghabiskan waktu pada tes kode tiruan mereka tanpa berbicara dengan mereka? Apa pengalaman Anda secara umum?

Aston
sumber
Komentar Anda adil. Namun, saya tertarik dengan apa yang Anda pikirkan tentang berapa banyak yang masuk akal untuk mengharapkan seseorang menghabiskan 4 jam pada tugas pra-penyaringan.
Aston
1
Ini adalah proposisi ekonomi dengan kewajaran yang ditentukan oleh apa yang akan ditanggung pasar. Itu akan berfluktuasi dengan kondisi. Jika itu adalah pasar karyawan (yaitu, banyak perusahaan mengejar beberapa kandidat), akan ada sedikit toleransi untuk hal semacam itu daripada ketika itu adalah pasar majikan. Saya menghabiskan total dua belas jam untuk mewawancarai posisi yang saya pegang sekarang karena manfaat potensial dari melakukan hal itu sudah jelas di depan. Sepuluh tahun kemudian, mereka benar, dan setiap menit yang saya habiskan untuk itu adalah investasi yang berharga.
Blrfl
3
Jika Anda pernah wawancara di salah satu perusahaan perangkat lunak utama, Anda sering diterbangkan ke lokasi mereka (yang merupakan 10 jam waktu perjalanan untuk saya), dan kemudian menghabiskan 8 jam sehari (atau dua, tidak pernah terdengar) pemrograman / perancangan / wawancara. Saya menduga masalahnya adalah apakah Anda menganggap perusahaan memiliki pengaruh untuk menuntut hal itu.
Steven Evers
1
Pengalaman saya dengan 'perusahaan perangkat lunak utama' adalah bahwa tahap pertama adalah wawancara telepon 1 jam, dan itu adil. Apa yang saya lewatkan di sini adalah mereka mengharapkan saya bekerja selama 4 jam tanpa masukan dari mereka. Saya telah melakukan sedikit pemikiran lebih lanjut dan saya pikir mungkin mereka tidak punya terlalu banyak waktu dan jika mereka menyukai seseorang, mereka akan cukup mempekerjakannya dari 4 jam kerja itu. Dalam hal ini saya dapat memahami pendekatan mereka (ini berkaitan dengan jawaban Dunk).
Aston

Jawaban:

24

Biarkan saya mengambil sisi perusahaan sejenak, karena jawaban lain belum sejauh ini. Hampir tidak mungkin untuk membangun basis kode yang dapat digunakan dari konglomerasi pengajuan uji koding 4 jam dari orang-orang yang kualifikasinya sama sekali tidak diketahui. Membuat spesifikasi yang cukup terperinci, memeriksa respons, dan mengintegrasikannya dengan kode Anda yang lain akan memakan waktu lebih dari 4 jam. Belum lagi proyek perangkat lunak tingkat perusahaan yang paling berguna membutuhkan ribuan jam kerja. Memikirkan membangun bisnis untuk memecahnya menjadi kenaikan 4 jam dengan waktu penyelesaian selama berminggu-minggu masing-masing adalah terus terang konyol.

Memberikan masalah kehidupan nyata dari bisnis adalah salah satu cara terbaik untuk menentukan apakah seseorang akan pandai, mengejutkan, memecahkan masalah kehidupan nyata dari bisnis. Saya sering melakukan ini dalam wawancara (walaupun saya meminta prinsip-prinsip desain umum dan bukan kode bernilai 4 jam), dan setiap kali itu merupakan masalah yang sudah saya pecahkan. Jika saya tidak sudah dipecahkan itu, tes akan kehilangan hampir semua nilai pembuktian.

Apakah tes 4 jam layak untuk Anda adalah keputusan pribadi. Saya selalu diajarkan untuk memperlakukan mencari pekerjaan penuh waktu sebagai pekerjaan penuh waktu. Bila Anda menganggur atau setengah menganggur dan menghabiskan 8 jam sehari mencari pekerjaan, tes coding 4 jam ada. Saya telah menghabiskan jauh lebih lama dari itu untuk tugas-tugas seperti menyiasati bahasa yang berkarat, menulis program portofolio, dan menyesuaikan resume untuk posisi tertentu.

Di sisi lain, beberapa pekerja terbaik sudah mendapatkan pekerjaan, dan hanya dengan santai mencari peluang yang lebih baik. Orang-orang yang berada dalam situasi itu tidak mungkin menjalani ujian selama 4 jam, kecuali kesempatannya sangat bagus. Namun, itu masalah perusahaan, bukan masalah Anda.

Sejauh mengetahui apa artinya tentang sikap perusahaan terhadap karyawan mereka, saya tidak berpikir Anda benar-benar bisa mengatakan apa pun, selain mereka mungkin bosan berurusan dengan pelamar yang tidak memenuhi syarat, sampai tingkat yang mereka ingin lemparkan beberapa yang baik dengan yang buruk.

Karl Bielefeldt
sumber
Juga, OP mengatakan bahwa tes harus memakan waktu tidak lebih dari 4 jam. Saya berpikir bahwa jika tes membutuhkan kandidat = <4 jam, mereka mungkin tidak akan tertarik.
Tombatron
Terima kasih atas jawabannya. Mungkin saya tipe kedua yang tidak mudah punya waktu 4 jam untuk mengerjakan tugas seperti ini, jadi mungkin mereka mencari orang lain, yang memang punya. Dan ya, memberikan masalah kehidupan nyata bermanfaat untuk alasan yang Anda sebutkan, dan saya menemukan tugas-tugas seperti itu, seperti ketika saya wawancarai untuk sebuah perusahaan TV saya perlu membuat kalkulator berlangganan saluran, ketika untuk perusahaan FX saya perlu menyimpulkan mata uang dari file CSV, dan itu adil, tetapi perusahaan ini berjalan terlalu jauh pada harapan mereka untuk saya. Mungkin hanya untukku.
Aston
3
Saya pikir ini agak sederhana. Tidak semua solusi perlu diintegrasikan dengan sistem lain - ini bisa menjadi proses parsing data, misalnya. Dan meskipun kode tersebut tidak dapat digunakan secara langsung oleh perusahaan, desainnya dapat digunakan dengan sangat baik. Proses pengujian harus dangkal oleh desain, dan saya pikir lebih dari satu jam terlalu banyak.
Kirk Broadhurst
2
Memperlakukan perburuan pekerjaan sebagai pekerjaan tetap hanya masuk akal jika Anda menganggur. Jika Anda bekerja tetapi menguji pasar untuk melihat apakah ada sesuatu yang lebih baik tersedia, tingkat komitmen tidak praktis kecuali dalam jangka pendek karena Anda hanya akan kehabisan tenaga.
Dan Neely
11

Tidak, tidak tipikal , mengapa Anda memecahkan masalah mereka secara gratis? (4 jam)

1 jam adalah tipikal untuk tes pemrograman. Di masa lalu tes pemrograman kami adalah 4 pertanyaan. 3 pertanyaan pertama membutuhkan 1/2 jam, terakhir 1/2 jam. Kami juga memberikan tes untuk karyawan yang ada di rumah untuk memastikan kami berada dalam jangka waktu yang diharapkan dan tes itu adil dan disesuaikan menurut aturan.

Beberapa pertanyaan pertama adalah tipe "Fizz Buzz" untuk menyingkirkan orang yang tidak dapat memprogram. Mereka menjadi semakin sulit. Pertanyaan terakhir adalah latihan pemecahan masalah. Secara umum kami mencoba membatasi jumlah kode yang ditulis sekitar beberapa ratus baris (total) dan tidak memerlukan trik pintar. Kami juga memberi nilai pada orang-orang dalam penanganan kesalahan, gaya, sintaksis, organisasi, dll. Pertanyaan-pertanyaan itu tidak terkait dengan bisnis kami tetapi lebih pada keterampilan dan teknologi yang ditulis oleh platform saat ini.

Biasanya, kandidat besar selesai dalam waktu kurang dari yang ditentukan. Kadang-kadang orang meminta waktu tambahan yang kami ijinkan karena stres dalam mengambil kuis, tetapi kami membatasi semua orang pada batas tertentu. Kuis berada di lingkungan pengembangan saat ini dan orang-orang memiliki akses ke internet untuk informasi referensi. Kami juga membahas ekspektasi kuis untuk setiap kandidat.

Pada suatu waktu kami memang mendiskusikan memasukkan basis kode kami (dunia nyata) ke dalam kuis tetapi akhirnya kami membuangnya karena kekhawatiran bahwa kode tersebut disalin / dicuri / dll (bos kami agak paranoid). Akhirnya kami hanya pergi dengan yang terpisah quiz.slndi mesin pengembangan yang terisolasi.

Akhirnya, kami merasa sulit untuk membuat tes yang adil, tetapi tidak terlalu sulit dan juga tidak mudah. Kami selalu bertanya kepada kandidat kami tentang kuis setelah mereka mengambilnya dan mengumpulkan umpan balik mereka untuk memperbaikinya untuk kandidat masa depan.

Jon Raynor
sumber
Terima kasih atas jawabannya. Metode Anda tampaknya adil. Saya suka ide pertanyaan mudah dan pertanyaan sulit, karena memberi kandidat perasaan yang baik tentang seberapa baik yang mereka lakukan, bahkan tanpa penjelasan lebih lanjut. Katakanlah saya melakukan 3 tugas mudah dan tidak dapat melakukan yang terakhir, saya tidak akan merasa gagal, tetapi saya juga dapat mengakui bahwa saya perlu meningkatkan. Apa yang benar-benar mengganggu saya dalam contoh saya adalah 4 jam harapan di luar situs, bahkan sebelum perusahaan akan berbicara kepada saya.
Aston
@Aston - Juga jika Anda tidak menyelesaikan pertanyaan terakhir, itu tidak secara otomatis mendiskualifikasi Anda. Mungkin Anda tidak akan dipekerjakan sebagai programmer tetapi mungkin di tempat lain. Pada beberapa kesempatan, kandidat dipekerjakan untuk posisi lain (dukungan, QA). Kami melakukan wawancara orang-orang pertama, diikuti oleh kuis. Saya kira Anda bisa melakukan kuis terlebih dahulu dan segera menyingkirkan orang itu, tetapi mungkin Anda melewatkan beberapa kandidat teknis yang berpotensi tetapi tidak pemrograman.
Jon Raynor
8

Saya menemukan tes coding dalam wawancara adalah beban tosh toh. Tidak ada yang mengkode apa pun selain rutinitas paling sederhana di bawah tekanan tanpa lingkungan dan alat yang biasa, sehingga hasil yang Anda dapatkan meragukan.

Apa yang saya temukan sebagai tes yang sangat bagus dari kemampuan seorang programmer adalah memberinya kode proyek dan memintanya untuk memeriksanya, ini bekerja dengan sangat baik jika kode tersebut memiliki beberapa bug yang jelas, beberapa masalah kode yang jelas, dan beberapa praktik yang dipertanyakan. Seorang programmer yang baik akan memberi tahu Anda semuanya, dan akan terlibat dengan Anda dalam diskusi tentang mengapa beberapa kode tidak 'salah' tetapi dapat dilakukan dengan lebih baik untuk memudahkan pemeliharaan atau lebih. Seorang programmer yang buruk akan menemukan bug dan berhenti.

Pekerjaan apa pun yang mengharapkan Anda untuk melakukan tes yang membutuhkan lebih dari setengah jam saja tidak menghabiskan bahkan selama itu mengerjakan tes yang baik dan ditargetkan yang memberi mereka lebih dari sekadar gagasan samar keterampilan Anda. (sebagian besar perusahaan merasa sangat sulit untuk menghabiskan waktu bekerja pada pengaturan pra-wawancara).

Jika saya diberi tes seperti yang Anda dapatkan, saya akan menulis jawabannya dalam pseudo-code. Itu seharusnya cukup untuk menunjukkan pemahaman saya tentang pengkodean dan desain, tanpa melalui seluruh tahap kompilasi, bangun dan uji yang Anda lakukan untuk proyek kerja normal.

gbjbaanb
sumber
1
Saya minta maaf jika saya tidak jelas, tetapi saya merujuk pada tes yang terjadi sebelum wawancara, sehingga saya bisa melakukannya sendiri di rumah.
Aston
1
namun demikian, saya tetap akan melakukannya pseudo-code. Mereka ingin pikiran saya tentang bagaimana menyelesaikan masalah, atau mereka ingin kerja gratis dari Anda. Jika yang terakhir, itu bukan tempat Anda ingin bekerja.
gbjbaanb
@ gbjbaa: ATAU skenario yang lebih mungkin adalah mereka ingin melihat jenis pekerjaan yang Anda lakukan. Dalam hal itu, tugas sepele tidak cukup. Kode semu tidak akan memotongnya. Juga, saya berani bertaruh butuh lebih dari 4 jam untuk mendefinisikan masalah, memeriksanya, memperbaiki dan menyetujui. Jadi, mengingat mereka bisa menerapkan ini sendiri dalam waktu yang lebih singkat daripada yang dibutuhkan untuk bertanya, mengapa Anda berpikir mereka mengejar pekerjaan bebas? Jika tugas itu memakan waktu satu atau dua minggu maka saya bisa mengerti maksud Anda, tetapi 4 jam? Juga, saya sudah mewawancarai terlalu banyak orang yang pandai mengungkapkan pikiran dan akhirnya menjadi sangat buruk dalam memecahkan masalah.
Dunk
1
Saya selalu sedikit curiga jika tugasnya terlalu dekat dengan situasi dunia nyata. Saya telah mendengar kisah-kisah di mana manajer mengatur wawancara hanya demi mendapatkan tips dari orang yang lebih pintar dan lebih pintar tentang bagaimana menyelesaikan masalah tertentu. Bukannya mereka tidak menyelesaikannya sendiri, tetapi mereka ingin melihat bagaimana orang lain akan menyelesaikannya. Pada akhirnya mereka tidak ingin mempekerjakan siapa pun, tetapi itu adalah cerita yang berbeda.
Aston
3

Anda mungkin tidak memiliki 4 jam, tetapi seseorang yang lebih tertarik dengan perusahaan mereka pasti akan melakukannya. Saya pada dasarnya dipekerjakan berdasarkan tugas serupa yang diminta perusahaan untuk saya lakukan sebelumnya pada tugas itu saja. Rupanya, menulis kode yang bersih dan mudah dimengerti, uji kasus yang teliti dan dokumentasi desain yang dimengerti dan koheren adalah kelainan. Sebenarnya melihat seseorang melakukannya membuat orang lain terkejut. Ngomong-ngomong, semua orang yang saya ajak bicara di wawancara memuji saya atas apa yang saya lakukan dan saya merasa seperti saya harus mengesankan orang lain dalam wawancara karena mereka sudah mengambil keputusan. Itu hanya masalah saya yang tidak memberi mereka alasan untuk mengatakan tidak dengan melakukan sesuatu yang bodoh.

Jadi walaupun saya setuju 4 jam adalah investasi waktu yang cukup besar, itu juga berarti tugasnya cukup besar sehingga Anda memiliki kesempatan untuk benar-benar menunjukkan kemampuan Anda. Pekerjaan Anda dengan sangat baik mungkin berbicara banyak lebih banyak daripada yang pernah Anda bisa dalam situasi wawancara aktual.

Sebagai catatan: Saya telah mencoba hal serupa belakangan ini tetapi menggunakan masalah yang jauh lebih kecil dan saya belum puas dengan hasilnya. Masalah kecil sepele untuk menunjukkan cukup pengetahuan seseorang. Plus, masalah sepele cenderung mengharuskan orang untuk mengenali beberapa trik / detail yang diperlukan untuk menyelesaikan masalah. Dengan demikian, ada keseimbangan antara mengambil terlalu banyak waktu seseorang versus tidak mendapatkan manfaat nyata karena tugasnya adalah untuk sepele. Saya pikir tugas 4 jam mungkin adalah jumlah waktu yang tepat untuk menjadi cukup kompleks bagi kandidat untuk menunjukkan keterampilan mereka dan tidak terlalu lama sehingga tidak ada yang mau repot.

Dunk
sumber
Terima kasih atas jawabannya. Setelah sedikit refleksi diri, jawaban Anda dan upaya untuk mengalihkan fokus dari diri saya ke perusahaan, saya bisa melihat bagaimana ini mungkin masuk akal dari sudut pandang mereka. Mungkin proses mereka cukup banyak, dapatkan 4 jam kerja dan jika mereka menyukai seseorang, mereka akan mengundang dan memberikan penawaran. Mungkin mereka memiliki pengalaman buruk sebelumnya bahwa orang-orang bagus dalam hal kecil, tetapi tidak pada tugas yang lebih besar, atau mereka menghabiskan terlalu banyak waktu mewawancarai orang-orang yang pada akhirnya tidak menjadi kandidat yang baik. Saya masih berpikir 4 jam agak terlalu banyak, tetapi saya mungkin akan melakukannya ...
Aston
1

Saya mengambil tes coding 6 jam pada satu titik. Ketika saya mengikuti tes ini saya memiliki kepercayaan diri yang cukup tinggi saya akan dipekerjakan - sementara itu menjadi kenyataan, saya tidak begitu puas dengan tindak lanjutnya.

Jelas memiliki banyak majikan yang masing-masing meminta 4 jam itu berlebihan. Apa yang dicari orang dalam tes yang saya ambil adalah gaya pengkodean saya - saya dipekerjakan karena milik saya 'paling dekat' dengan miliknya. Dalam konteks ini, lihat masalah dari perspektif ini: Pertama, apakah ini merupakan masalah yang menarik bahwa penyelesaian itu bermanfaat bagi Anda dalam hal apa pun? Lagi pula, Anda bisa belajar sesuatu yang berharga.

Kedua, jika Anda dapat 'lulus' ujian, apakah itu berarti Anda diterima? Jika ini tidak cukup jelas maka Anda harus memutuskan apakah ada alasan lain untuk melakukannya.

Ketiga, mereka mungkin memperkirakan bahwa dibutuhkan '4 jam', tetapi Anda mungkin mengetahuinya secara berbeda. Apakah mereka benar-benar tahu berapa lama ini akan berlangsung? Kemungkinan besar jawabannya adalah tidak. Oleh karena itu, mereka akan terus menguji orang pada tenggat waktu 4 jam sampai mereka menyadari itu tidak akan cocok dalam empat jam. Dalam hal ini Anda membuang-buang waktu. Maka pendekatan terbaik adalah bersikap agresif dengan manajer perekrutan, dan mencari tahu apakah Anda harus berhenti di empat jam dan memberi mereka apa yang Anda miliki, atau melanjutkan sampai selesai dan memberi tahu mereka berapa lama. Singkatnya, mungkin ada tes karakter yang dibungkus dalam hal ini, dan hanya mencoba menerimanya dengan syarat mereka dapat mengungkapkan pengalaman.

Meredith Poor
sumber