Tugas Pemrograman - Cara yang Buruk untuk Mengevaluasi Kualifikasi Pengembang Senior

Seperti banyak anak lain yang lahir di Kanada, saya belajar di Royal Conservatory. Ini bukan hanya bangunan fisik tempat Anda dapat belajar dan melakukan, tetapi juga kurikulum standar, serta guru bersertifikat, tersedia di hampir semua kota. Yang terakhir secara teratur melakukan ujian di seluruh negeri sehingga siswa dapat maju ke tingkat berikutnya pendidikan musik mereka.



Latihan dibutuhkan untuk latihan.


Setiap ujian memiliki komponen teknis dan kinerja demonstrasi. Mari kita bicara tentang bagian teknisnya. Untuk mendapatkan penilaian, Anda harus dapat melakukan beberapa latihan dengan instrumen Anda. Dalam kasus saya, pada piano, ini adalah skala, arpeggio, dll. Saya bahkan tidak ingat semuanya.


Saat Anda belajar, latihan menjadi lebih kompleks, dan Anda perlu melakukannya dengan kunci yang lebih tinggi, sampai pada ujian terakhir Anda diminta untuk menyelesaikan latihan apa pun dengan kunci apa pun.


Setelah 14 tahun belajar piano, setelah berhasil lulus ujian akhir, saya dapat melakukan latihan apa pun pada kunci apa pun. Tetapi setelah 14 tahun berikutnya, saya bahkan tidak dapat mengingat nama semua latihan ini. Bisakah saya menghafal satu bagian dari sebuah karya dan memainkannya di tingkat tinggi? Ya, tidak masalah!


Latihan tidak diperlukan dalam latihan


Saya bertaruh bahwa dari semua yang belajar di konservatori dan menjadi musisi profesional, sangat sedikit yang dapat melakukan latihan yang sewenang-wenang. Ya, beberapa latihan ini diperlukan dalam persiapan untuk pertunjukan, tetapi hanya sebagian, dan mereka diingat hanya ketika itu benar-benar diperlukan.


Minggu ini, ketika saya berada di tugas pemrograman Hackerrank, saya harus mendapatkan tutorial berdebu tentang struktur data dan algoritma untuk menulis semacam penggabungan .


Awalnya saya merasa sangat tidak nyaman, tetapi kemudian muncul wawasan: ini adalah cerita yang sama dengan latihan piano di Royal Conservatory. Ya, begitu mereka penting, dan kami menjejalkan berbagai jenis penyortiran pada ilmu komputer. Tetapi pertumbuhan pengalaman profesional terletak pada pemahaman kapan dan di mana menerapkan algoritma spesifik, mengingat implementasi hanya jika perlu. Saya tahu untuk apa penyortiran gabungan, saya tahu bagaimana menemukan kodenya. Aku hanya tidak bisa mengingatnya.


Seseorang akan berpendapat bahwa Pengembang Senior harus dapat menulis penyortiran tanpa menggunakan bahan referensi, karena ini adalah dasar-dasarnya. Tapi saya tidak percaya. Apakah seseorang membuat musisi yang lebih baik kemampuan untuk bermain gamma dengan sempurna pada waktu tertentu? Tentu tidak! Selain itu, saya menegaskan bahwa dengan menyempurnakan keterampilan Anda dalam latihan, Anda kehilangan waktu yang bisa Anda habiskan untuk memecahkan masalah yang diterapkan.


Latihan sebaiknya tidak digunakan saat merekrut


Dapatkah Anda bayangkan bahwa seorang musisi profesional, yang tampil gemilang di atas panggung lebih dari sekali, akan diminta untuk bermain timbangan pada sebuah wawancara? Dan setelah itu, tanpa pergi ke bagian dari bagian itu, mereka akan berkata: "Kami akan memanggilmu kembali," karena dia tidak mengatasi dasar-dasarnya dengan sempurna.


Pikiran seperti itu membuat saya mual. Tapi kita hidup di 2019, ketika ini terjadi sepanjang waktu di wawancara di bidang pemrograman.


Perusahaan menggunakan layanan pihak ketiga seperti HackerRank sebagai filter untuk menyaring pelamar. Banyak pengembang hebat berhenti karena mereka tidak berlatih menulis sortir secara teratur. Perusahaan mengeluh tentang kurangnya personil yang memenuhi syarat di pasar tenaga kerja. Dan itu berulang berulang.


Ngomong-ngomong, aku bahkan tidak berbicara tentang wawancara di kantor. Maksud saya adalah tahap awal perekrutan, ketika HR sering mengirimkan tautan ke beberapa tugas terbatas waktu di HackerRank. Dan, setelah menerima hasilnya setelah 10-15 menit, memutuskan apakah akan melanjutkan komunikasi. Pendekatan untuk merekrut pemrogram merupakan masalah dalam industri kami.


Jadi, bagaimana Anda mengevaluasi kualifikasi Pengembang Senior?


Pengalaman saya mewawancarai kandidat menunjukkan bahwa tidak ada yang lebih baik dari sesi pemrograman pasangan. Habiskan satu setengah jam untuk mengembangkan layar bersama. Bekerja bersama di lingkungan Anda, dengan alat Anda, pada proyek Anda. Beralih dan bekerja di sekitar pelamar, dengan alat-alatnya, pada beberapa kodenya. Anda akan dengan cepat memahami level orang tersebut pada pertanyaan yang diajukannya.


Dan pemeriksaan memori untuk algoritma sama sekali tidak perlu.

Source: https://habr.com/ru/post/id481738/


All Articles