Bagaimana cara menjinakkan junior?

Bagaimana cara masuk ke perusahaan besar jika Anda masih junior? Bagaimana cara merekrut junior yang layak jika Anda adalah perusahaan besar? Di bawah ini, saya akan menceritakan kepada Anda kisah kami dalam merekrut pemula di bagian depan: bagaimana kami mengerjakan tugas-tugas tes, bersiap untuk melakukan wawancara dan membangun program pendampingan untuk pengembangan dan penerimaan pendatang baru, dan juga mengapa pertanyaan wawancara standar tidak diperlukan. tidak berfungsi.

Bagaimana cara menjinakkan junior?
Saya mencoba menjinakkan Junior

Halo! Nama saya Pavel, saya melakukan pekerjaan front-end di tim Wrike. Kami menciptakan sistem untuk manajemen proyek dan kolaborasi. Saya telah bekerja di web sejak tahun 2010, bekerja selama 3 tahun di luar negeri, berpartisipasi dalam beberapa startup dan mengajar kursus teknologi web di universitas. Di perusahaan, saya terlibat dalam pengembangan kursus teknis dan program mentoring Wrike untuk junior, serta merekrut mereka secara langsung.

Mengapa kami berpikir untuk mempekerjakan junior?

Sampai saat ini, kami merekrut pengembang tingkat menengah atau senior untuk frontend - cukup mandiri untuk melakukan tugas produk setelah orientasi. Pada awal tahun ini, kami menyadari bahwa kami ingin mengubah kebijakan ini: dalam setahun jumlah tim produk kami meningkat hampir dua kali lipat, jumlah pengembang front-end mendekati seratus, dan dalam waktu dekat semua ini akan meningkat. harus berlipat ganda lagi. Ada banyak pekerjaan, sedikit yang bebas, dan bahkan lebih sedikit lagi yang ada di pasar, jadi kami memutuskan untuk beralih ke orang-orang yang baru memulai perjalanan mereka di front end dan menyadari bahwa kami siap berinvestasi pada pekerjaan mereka. perkembangan.

Siapa juniornya?

Ini adalah pertanyaan pertama yang kami tanyakan pada diri kami sendiri. Ada kriteria yang berbeda, tetapi prinsip paling sederhana dan paling mudah dipahami adalah:

Junior perlu dijelaskan fitur apa dan bagaimana cara melakukannya. Yang Tengah perlu dijelaskan fitur apa yang dibutuhkan, dan dia akan memikirkan sendiri implementasinya. Signor sendiri yang akan menjelaskan kepada Anda mengapa fitur ini tidak perlu dilakukan sama sekali.

Dengan satu atau lain cara, seorang junior adalah seorang pengembang yang membutuhkan nasihat tentang bagaimana menerapkan solusi ini atau itu. Apa yang kami putuskan untuk dikembangkan:

  1. Junior adalah seseorang yang ingin berkembang dan siap bekerja keras untuk itu;
  2. Ia tidak selalu tahu ke arah mana ia ingin berkembang;
  3. Membutuhkan nasihat dan mencari bantuan dari luar - dari pemimpinnya, mentornya atau dari komunitas.

Kami juga memiliki beberapa hipotesis:

  1. Akan ada banyak tanggapan terhadap posisi June. Anda perlu memfilter tanggapan acak pada tahap pengiriman resume Anda;
  2. Filter utama tidak akan membantu. — diperlukan lebih banyak tugas tes;
  3. Tugas tes akan membuat semua orang takut - mereka tidak diperlukan.

Dan tentu saja, kami mempunyai tujuan: 4 junior dalam 3 minggu.

Dengan kesadaran ini kami mulai bereksperimen. Rencananya sederhana: mulailah dengan corong seluas mungkin dan coba persempit secara bertahap sehingga Anda dapat memproses alurnya, namun tidak menguranginya menjadi 1 kandidat per minggu.

Kami memposting lowongan

Untuk perusahaan: Akan ada ratusan tanggapan! Pikirkan tentang filter.

Untuk junior: Jangan takut dengan kuesioner sebelum mengirimkan resume dan tugas ujian Anda - ini pertanda bahwa perusahaan telah memperhatikan Anda dan telah mengatur prosesnya dengan baik.

Pada hari pertama, kami menerima sekitar 70 resume dari kandidat “yang memiliki pengetahuan tentang JavaScript.” Dan lagi. Dan selanjutnya. Kami secara fisik tidak dapat mengundang semua orang ke kantor untuk wawancara dan memilih dari mereka orang-orang dengan proyek kesayangan paling keren, live Github, atau setidaknya pengalaman.

Namun kesimpulan utama yang kami buat sendiri pada hari pertama adalah bahwa badai telah mulai. Sekarang saatnya menambahkan formulir kuesioner sebelum mengirimkan resume Anda. Tujuannya adalah menyingkirkan kandidat yang tidak bersedia melakukan upaya minimal untuk mengirimkan resume, dan mereka yang tidak memiliki pengetahuan dan konteks, setidaknya mencari jawaban yang benar di Google.

Itu berisi pertanyaan standar tentang JS, tata letak, web, Ilmu Komputer - setiap orang yang membayangkan apa yang mereka tanyakan pada wawancara front-end pasti mengetahuinya. Apa perbedaan antara biarkan/var/const? Bagaimana cara menerapkan gaya hanya pada layar yang lebarnya lebih kecil dari 600 piksel? Kami tidak ingin menanyakan pertanyaan-pertanyaan ini pada wawancara teknis - praktik telah menunjukkan bahwa pertanyaan-pertanyaan ini dapat dijawab setelah 2-3 wawancara tanpa memahami perkembangan sama sekali. Namun pada awalnya mereka mampu menunjukkan kepada kita apakah kandidat tersebut, secara prinsip, memahami konteksnya.

Di setiap kategori, kami menyiapkan 3-5 pertanyaan dan hari demi hari kami mengubah kumpulan pertanyaan tersebut di formulir jawaban hingga kami menghilangkan pertanyaan yang paling lumayan dan paling sulit. Ini memungkinkan kami mengurangi aliran - dalam 3 minggu kami menerimanya 122 kandidat, yang dengannya kami dapat bekerja lebih jauh. Mereka adalah mahasiswa IT; orang-orang yang ingin pindah ke depan dari belakang; pekerja atau insinyur, berusia 25-35 tahun, yang secara radikal ingin mengubah pekerjaan mereka dan melakukan berbagai upaya dalam pendidikan mandiri, kursus, dan magang.

Mengenal satu sama lain lebih baik

Untuk perusahaan: Tugas tes tidak menghalangi kandidat, namun membantu memperpendek corong.

Untuk junior: Jangan salin-tempel tes - ini terlihat jelas. Dan jaga agar github Anda tetap teratur!

Jika kami memanggil semua orang untuk wawancara teknis, kami harus melakukan sekitar 40 wawancara per minggu hanya untuk junior dan hanya di bagian depan. Oleh karena itu, kami memutuskan untuk menguji hipotesis kedua - tentang tugas tes.

Yang penting bagi kami dalam ujian:

  1. Membangun arsitektur terukur yang baik, tetapi tanpa rekayasa berlebihan;
  2. Lebih baik memakan waktu lebih lama, tetapi melakukannya dengan baik, daripada membuat kerajinan dalam semalam dan mengirimkannya dengan komentar “Saya pasti akan menyelesaikannya”;
  3. Sejarah pengembangan di Git adalah budaya rekayasa, pengembangan berulang, dan fakta bahwa solusinya tidak disalin secara terang-terangan.

Kami sepakat bahwa kami ingin melihat satu masalah algoritmik dan aplikasi web kecil. Yang algoritmik disiapkan di tingkat laboratorium tingkat dasar - pencarian biner, pengurutan, pemeriksaan anagram, bekerja dengan daftar dan pohon. Pada akhirnya, kami memilih pencarian biner sebagai opsi uji coba pertama. Aplikasi web harus tic-tac-toe menggunakan kerangka apa pun (atau tanpa kerangka kerja).

Hampir setengah dari orang yang tersisa menyelesaikan tugas pengujian - mereka mengirimkan solusinya kepada kami 54 kandidat. Wawasan yang luar biasa - menurut Anda berapa banyak implementasi tic-tac-toe yang siap untuk disalin-tempel di Internet?

Berapa banyak?Faktanya, tampaknya hanya ada 3 pilihan. Dan di sebagian besar keputusan, justru ada 3 pilihan ini.
Apa yang tidak disukai:

  • salin-tempel, atau pengembangan berdasarkan tutorial yang sama tanpa arsitektur Anda sendiri;
  • kedua tugas berada dalam repositori yang sama di folder berbeda, tentu saja tidak ada riwayat komit;
  • kode kotor, pelanggaran KERING, kurangnya format;
  • campuran model, tampilan, dan pengontrol ke dalam satu kelas yang panjangnya ratusan baris kode;
  • kurangnya pemahaman tentang pengujian unit;
  • solusi "langsung" adalah kode keras dari matriks kombinasi pemenang 3x3, yang akan cukup sulit untuk diperluas menjadi 10x10, misalnya.

Kami juga memperhatikan repositori tetangga - proyek kesayangan yang keren merupakan nilai tambah, dan serangkaian tugas pengujian dari perusahaan lain lebih merupakan peringatan: mengapa kandidat tidak bisa sampai di sana?

Hasilnya, kami menemukan opsi keren di React, Angular, Vanilla JS - ada 29. Dan kami memutuskan untuk mengundang kandidat lain tanpa menguji proyek kesayangannya yang sangat keren. Hipotesis kami tentang manfaat tugas tes terbukti.

Wawancara Teknis

Untuk perusahaan: Bukan orang menengah/senior yang datang kepadamu! Kami memerlukan pendekatan yang lebih individual.

Untuk junior: Ingatlah bahwa ini bukan ujian - jangan mencoba berdiam diri untuk mendapatkan nilai C atau membombardir profesor dengan aliran semua pengetahuan Anda sehingga dia menjadi bingung dan memberi nilai “luar biasa”.

Apa yang ingin kita pahami dalam wawancara teknis? Hal yang sederhana adalah bagaimana kandidat berpikir. Dia mungkin memiliki beberapa hard skill jika dia telah lulus seleksi tahap pertama - masih harus dilihat apakah dia tahu cara menggunakannya. Kami menyetujui 3 tugas.

Yang pertama tentang algoritma dan struktur data. Dengan pena, di selembar kertas, dalam bahasa semu dan dengan bantuan gambar, kami menemukan cara menyalin pohon atau cara menghapus elemen dari daftar tertaut tunggal. Penemuan yang tidak menyenangkan adalah tidak semua orang memahami rekursi dan cara kerja referensi.

Yang kedua adalah pengkodean langsung. Kami pergi ke codewars.com, memilih hal-hal sederhana seperti mengurutkan serangkaian kata berdasarkan huruf terakhir dan selama 30-40 menit bersama kandidat berusaha agar semua tes lulus. Tampaknya tidak ada kejutan dari orang-orang yang telah menguasai tic-tac-toe - tetapi dalam praktiknya, tidak semua orang dapat menyadari bahwa nilai harus disimpan dalam variabel, dan fungsi harus mengembalikan sesuatu melalui return. Meskipun saya sangat berharap ini akan menjadi kegelisahan, dan orang-orang dapat menangani tugas-tugas ini dalam kondisi yang lebih mudah.

Terakhir, yang ketiga sedikit tentang arsitektur. Kami membahas cara membuat bilah pencarian, cara kerja debounce, cara merender berbagai widget di tips pencarian, bagaimana front end dapat berinteraksi dengan back end. Ada banyak solusi menarik, termasuk rendering sisi server dan soket web.

Kami melakukan 21 wawancara menggunakan desain ini. Penontonnya sangat beragam - mari kita lihat komiknya:

  1. "Roket". Dia tidak pernah tenang, terlibat dalam segala hal, dan selama wawancara dia akan membanjiri Anda dengan aliran pemikiran yang bahkan tidak berhubungan langsung dengan pertanyaan yang diajukan. Jika itu di universitas, ini akan menjadi upaya biasa untuk menunjukkan, semua pengetahuan Anda, ketika semua yang Anda ingat tentang tiket yang Anda temukan adalah bahwa tadi malam Anda memutuskan untuk tidak mempelajarinya - Anda masih tidak bisa mendapatkannya itu keluar.
  2. "Groot". Cukup sulit untuk menghubunginya karena dia adalah Groot. Saat wawancara, Anda harus menghabiskan waktu lama untuk mencoba mendapatkan jawaban kata demi kata. Ada baiknya jika itu hanya pingsan - jika tidak maka akan sangat sulit bagi Anda dalam pekerjaan sehari-hari.
  3. "Draks". Saya dulu bekerja di bidang transportasi kargo, dan dalam hal pemrograman saya hanya belajar JS di Stackoverflow, jadi saya tidak selalu mengerti apa yang dibicarakan saat wawancara. Pada saat yang sama, dia adalah orang yang baik, memiliki niat terbaik dan ingin menjadi pengembang front-end yang hebat.
  4. Yah, mungkin "Tuan Bintang". Secara keseluruhan, kandidat yang baik dapat bernegosiasi dan membangun dialog.

Di akhir penelitian kami 7 kandidat mencapai final, mengkonfirmasi keterampilan keras mereka dengan tugas tes yang bagus dan jawaban wawancara yang bagus.

Kesesuaian budaya

Untuk perusahaan: Anda bekerja dengannya! Apakah kandidat bersedia bekerja sangat keras untuk perkembangannya? Akankah dia benar-benar cocok dengan tim?

Untuk junior: Anda bekerja dengan mereka! Apakah perusahaan benar-benar siap untuk berinvestasi dalam pertumbuhan junior, atau akankah perusahaan membuang semua pekerjaan kotor pada Anda dengan gaji rendah?

Setiap junior, selain tim produk, yang pimpinannya harus setuju untuk menerimanya, mendapatkan seorang mentor. Tugas mentor adalah membimbingnya melalui proses orientasi dan peningkatan keterampilan keras selama tiga bulan. Oleh karena itu, kami datang ke setiap kecocokan budaya sebagai mentor dan menjawab pertanyaan: “Apakah saya akan bertanggung jawab untuk mengembangkan kandidat dalam 3 bulan sesuai dengan rencana kami?”

Tahap ini berlalu tanpa ciri khusus dan akhirnya membawa kita 4 penawaran, 3 di antaranya diterima, dan orang-orang itu masuk tim.

Kehidupan setelah tawaran itu

Untuk perusahaan: Jaga juniormu atau yang lain akan!

Untuk junior: AAAAAAAAAAAAA!!!

Ketika seorang karyawan baru keluar, dia perlu diikutsertakan - mengetahui proses terkini, diberitahu bagaimana segala sesuatunya bekerja di perusahaan dan di tim, dan bagaimana dia harus bekerja secara umum. Ketika seorang junior keluar, Anda perlu memahami bagaimana mengembangkannya.

Ketika kami memikirkannya, kami mendapatkan daftar 26 keterampilan yang, menurut pendapat kami, harus dimiliki oleh seorang junior pada akhir periode orientasi tiga bulan. Ini termasuk hard skill (menurut tumpukan kami), pengetahuan tentang proses kami, Scrum, infrastruktur, dan arsitektur proyek. Kami menggabungkannya ke dalam peta jalan, didistribusikan selama 3 bulan.

Bagaimana cara menjinakkan junior?

Misalnya, berikut peta jalan junior saya

Kami menugaskan seorang mentor untuk setiap junior yang bekerja dengannya secara individu. Tergantung pada mentor dan level kandidat saat ini, pertemuan dapat diadakan 1 hingga 5 kali seminggu selama 1 jam. Mentor adalah sukarelawan pengembang front-end yang ingin melakukan sesuatu lebih dari sekadar menulis kode.

Beberapa beban mentor dihilangkan dengan kursus di tumpukan kami - Dart, Angular. Kursus diadakan secara rutin untuk kelompok kecil yang terdiri dari 4-6 orang, dimana siswa belajar tanpa gangguan dari pekerjaan.

Selama 3 bulan, kami secara berkala mengumpulkan masukan dari junior, mentor, dan pimpinan mereka serta menyesuaikan prosesnya secara individual. Keterampilan yang dipompa diperiksa 1-2 kali selama seluruh periode, pemeriksaan yang sama dilakukan di akhir - berdasarkan keterampilan tersebut, rekomendasi dibentuk tentang apa yang sebenarnya perlu ditingkatkan.

Kesimpulan

Untuk perusahaan: Apakah layak berinvestasi pada junior? Ya!

Untuk junior: Carilah perusahaan yang memilih kandidat dengan cermat dan tahu cara mengembangkannya

Selama 3 bulan, kami meninjau 122 kuesioner, 54 tugas tes dan melakukan 21 wawancara teknis. Hal ini menghasilkan 3 junior hebat yang kini telah menyelesaikan setengah dari peta jalan orientasi dan akselerasi mereka. Mereka sudah menyelesaikan tugas produk nyata dalam proyek kami, di mana terdapat lebih dari 2 baris kode dan lebih dari 000 repositori di front end saja.

Kami menemukan bahwa saluran untuk junior bisa dan seharusnya cukup rumit, namun pada akhirnya hanya orang-orang yang benar-benar siap untuk bekerja keras dan berinvestasi dalam pengembangan mereka yang dapat melewatinya.

Sekarang tugas utama kami adalah menyelesaikan peta jalan pengembangan tiga bulan untuk setiap junior dalam mode kerja individu dengan seorang mentor dan kursus umum, mengumpulkan metrik, umpan balik dari pemimpin, mentor, dan orang-orang itu sendiri. Pada titik ini, percobaan pertama dianggap selesai, kesimpulan dapat diambil, proses dapat ditingkatkan dan dapat dimulai kembali untuk memilih kandidat baru.

Sumber: www.habr.com

Tambah komentar