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?
Jawaban:
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.
sumber
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.sln
di 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.
sumber
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.
sumber
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.
sumber
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.
sumber