Berapa banyak wawancara teknis yang Anda miliki dalam hidup Anda?
Selama lima tahun terakhir, saya telah mengunjungi 35 wawancara teknis dari semua jenis dan spesifik yang dapat dibayangkan - dari startups Kazakhstan untuk pembelian daging kolektif untuk musim dingin ke layanan dan bank fintech Jerman dan Amerika; dengan bias dalam pemrograman, distribusi dan manajemen; jauh dan di kantor; terbatas dan tidak terbatas waktu; stres dan santai, dalam berbagai bahasa.
Ini, ditambah dengan ~ 20 wawancara yang saya lakukan sendiri sebagai majikan, sudah cukup untuk
menjadi raja wawancara untuk membuat pengamatan berikut (awalnya sama sekali tidak terlihat) dan membuat diri saya di dalamnya: Saya yakin bahwa ini sebagian besar karena jumlah wawancara mulai menyerupai kebiasaan kecil, saya mempelajari tumpukan saya secara profesional dan menjadi spesialis kompetitif terlepas dari kenyataan bahwa sebelumnya saya sudah bekerja 10 tahun dalam pengembangan web.
Artikel ini ditujukan untuk programmer yang berada di awal jalan dan belum kehabisan pengetahuan mendalam. Di dalamnya, saya ingin memperluas tesis tentang manfaat pendidikan yang sangat besar dari tugas tes dan pertanyaan teknis yang diajukan untuk wawancara - dan mengundang semua orang ke bot telegram saya yang baru ditulis
ActualizeBot , di mana, menurut pendapat saya, Anda dapat melalui wawancara teknis setidaknya setiap hari sampai selesai. Dan agar itu tidak berakhir, Anda juga dapat berbagi tugas teknis yang menarik, pertanyaan, atau situasi yang bermanfaat / menyenangkan yang dialami dalam sebuah wawancara.
Saya akan memberi tahu Anda lebih banyak tentang bot di bawah ini, pertama mari kita pahami mengapa sangat penting untuk mengetahui dan memahami jawaban atas pertanyaan dan tugas teknis ini, bahkan jika Anda telah berhasil memotong proyek freelance selama bertahun-tahun.
Mengapa kualitas pengetahuan dasar kita meninggalkan banyak hal yang diinginkan?
Wawancara teknis, jika Anda belum menjadi raja wawancara, adalah tekanan serius bagi tubuh, serta pencarian pekerjaan secara umum - apakah Anda seorang spesialis pemula, switcher, atau pengembang yang telah bekerja di satu tempat untuk waktu yang lama (dan untuk βwaktu yang lamaβ di waktu kami akan turun setahun).
Dalam banyak wawancara, stres ini memiliki faktor manusia yang menjengkelkan. Pewawancara Anda mungkin bukan Alena Vladimirskaya, tetapi seorang programmer biasa, yang sulit menunggu tugas-tugas yang memadai dan penilaian mereka atau pemimpin tim hardcore yang akan menunggu sebentar untuk menjatuhkan semua keparahan Anda di mata Anda, mengajukan pertanyaan: Apa yang cocok untuk Anda lincah!?
Suatu kali, tanpa memberikan jawaban yang diperlukan, tetapi, seperti yang Anda tahu, pertanyaan tak terduga untuk pertanyaan ini, saya dibiarkan tanpa tawaran, yang sangat saya sukai.
Mencoba menghindari tekanan dan gerakan yang tidak perlu ini secara umum, kita menjauhkan diri kita tidak hanya dari paparan keras ketidaktahuan kita tentang beberapa fitur dasar bahasa, tetapi juga dari mengurangi sedikit ketidaktahuan ini.
Masalahnya adalah bahwa dalam praktiknya, kelas tugas seperti itu tidak cukup untuk kita dapatkan.
Pengembang mana pun yang harus bekerja di beberapa tempat akan mengonfirmasi bahwa tugas mendasar atau kreatif yang diajukan dalam wawancara jarang ada hubungannya dengan apa yang dihadapi programmer dalam kehidupan nyata - Anda tidak memerlukan rekursi, grafik, atau sistem kontrol elevator yang tidak sinkron di planet ini dengan gravitasi negatif di lengan lain galaksi. Maaf
Mengenai JavaScript asli saya, ada contoh yang bagus - jika React.JS tidak muncul, 98% programmer JavaScript akan terus hidup dengan bahagia tanpa mengetahui apa itu binding - lebih dari 20 tahun setelah itu muncul - dan akan terus bingung mendapatkan pertanyaan tentang dia di wawancara, dan hanya mereka yang menemukan semua perpustakaan, kerangka kerja dan modul yang sangat abstrak ini akan terus bekerja dengannya. Hari ini, berkat reaksinya, jumlah ini telah berkurang, menurut perasaan, menjadi 97%.
Jelas, melihat "isolasi dari kenyataan" dari tugas-tugas ini, banyak pengembang mengabaikannya atau meluangkan waktu untuk menyelami pekerjaan itu - dan terus terlibat dalam rutinitas sehari-hari, yaitu, secara kiasan, berjalan di sepanjang ladang ranjau untuk produksi tidak hanya tanpa detektor tambang, tetapi juga mengetahui bahwa mereka berada di ladang ranjau.
Apa yang penuh dengan kurangnya pengetahuan dasar bahasa
Jawaban atas pertanyaan ini tampaknya dangkal, tetapi karena alasan tertentu dalam sifat manusia - selalu mendorong solusinya ke sudut yang jauh - dan ini memainkan peran yang menyedihkan dalam kehidupan programmer junior dan menengah, memperluas jalan mereka ke ketinggian (dan kedalaman) pengetahuan bahasa oleh beberapa orang tahun.
Kode aplikasi yang menggunakan kerangka kerja dan pustaka yang digunakan untuk menulis setiap hari tidak dapat dianggap andal jika mereka menulisnya tanpa pemahaman yang memadai tentang berbagai aspek pelaksanaannya. Ilustrasi yang baik dari ini dari dunia JavaScript adalah nasib perpustakaan JQuery, yang dulunya merupakan mesin kemajuan, dan hari ini, sebagai bidang pengetahuan mandiri yang diambil dari sisa bahasa, ia menempati tempat alami di pasar - semi-profesional dengan tergesa-gesa ditulis dan bekerja seperti Anda harus menulis skrip sebagai hadiah untuk tata letak cepat yang sama pada bootstrap dari freelancer murah.
Masa depan proyek yang sedang dikembangkan dengan pendekatan ini, meskipun tanpa disadari, tetapi tidak bertanggung jawab, bersifat prosa dan berumur pendek: hilangnya waktu secara tiba-tiba, gangguan, kerugian finansial dan reputasi, dan sebagai hasilnya, berkurangnya antusiasme untuk kerja sama yang berkelanjutan.
Di sisi lain, sedikit bagi seseorang yang telah memilih jalur seorang programmer dapat dibandingkan dengan kesenangan memahami apa yang dia lakukan. Memahami bahwa dia, seperti Baron Munchausen, berjingkrak di ladang ranjau menunggang kuda. Tak perlu dikatakan, seorang majikan yang baik dapat dengan jelas melihat orang-orang yang dengan ceroboh berjalan di sekitar ladang ranjau dan orang-orang yang dibekukan dalam keraguan untuk mengambil langkah dalam situasi di mana Anda dapat berlari dan melompat tanpa memikirkan apa pun?
ActualizeBot
Melihat manfaat dari wawancara, dan juga memahami bahwa pergi ke wawancara tidak sepenuhnya etis, saya pikir akan bagus untuk membuat bot di mana pengembang memulai atau beralih ke bahasa lain dapat melakukan pekerjaan pendidikan tanpa menggunakan wawancara nyata dalam jumlah itu yang terjadi pada saya. Dan mengingat bagaimana para programmer suka mendiskusikan dan membandingkan tugas-tugas yang harus mereka selesaikan - terutama jika itu adalah sesuatu yang tidak sepele - saya menyadari bahwa semuanya cocok, menolak semua keraguan dan voila.
Saat ini ada 3 fungsi sederhana di bot:
- Berlangganan bahasa / kerangka kerja tertentu untuk menerima tugas-tugas baru. Anda berlangganan dan saat Anda menerima tugas, Anda menerimanya dalam buletin harian
- Menerbitkan Tugas atau Tes - Dalam buku saya mereka mengatakan berbagi adalah kepedulian
- Generator nama yang luar biasa, yang dengannya Anda dapat memilih tanda tangan optimal untuk teks tugas yang Anda terbitkan, termasuk kamus wanita, bukan tanpa feminitas
Saat ini, bahasa berikut ditawarkan untuk dipilih: JavaScript, Java, Python, PHP, MySQL. Pilihannya agak terbatas karena batas pemahaman saya. Saya berharap dengan bantuan habrasociety untuk mengisi kembali daftar ini.
Bot diluncurkan dalam format murni rock and roll, pembayaran untuk apa pun tidak diharapkan.
Anda dapat melihatnya di tautan:
ActualizeBotSecara singkat tentang implementasi teknis
Bot ini adalah salah satu dari beberapa proyek kecil di mana saya membawa versi publik pertama dari miniframe open source open source saya untuk mengembangkan bot dengan struktur yang kompleks, dengan penuh cinta bernama Hobot dan tersedia di NPM untuk hardcore.
Kerangka kerja ini dibangun berdasarkan Telegraf.JS dan TypeScript, versi nol-nol-pertama, dilengkapi dengan contoh penggunaan, dapat dilihat di
github dan segera mencobanya. Segera saya akan menurunkan versi 0.0.2 diperpanjang dan disisir untuk orang dari samping dan mencurahkan artikel terpisah untuk itu (trunk). Saya akan senang jika bagi seseorang itu ternyata sama relevannya dengan saya.
Jadi, berapa banyak wawancara yang harus Anda hadiri?
Saya yakin Anda memiliki sesuatu untuk diceritakan!