Distopia wawancara yang menakutkan bagi para programmer

Eksperimen



Ponsel saya berdering.



“Halo, ini Jared.



- Halo. Saya menelepon Anda tentang wawancara telepon di Giant Search and Advertising Company [jelas, ini adalah Google - kira-kira. jalur].



- Iya! Saya menunggu telepon Anda!



- Baik. Dapatkah Anda menulis algoritme untuk mencari nilai terbesar ke-K dalam pohon biner?



Aku diam Putuskan sambungan sepenuhnya. Tidak pernah masuk ke situasi seperti itu. Dokumen Google kosong menatap saya, dan kursor berkedip dalam gerakan lambat. Saya sedang membuat sketsa sesuatu sebagai lintasan pertama.



- Dapatkah Anda menulis kasus uji untuk algoritma ini?



Tentu. Saya bisa jika saya belum sepenuhnya dibius dan ego batin saya tidak meleleh di bawah amukan mimpi yang sekarat di depan mata saya. Inikah hasil kerja keras saya selama beberapa bulan terakhir ini? Sekitar Januari 2019, saya memutuskan sudah waktunya mencari pekerjaan baru. Seolah-olah dewa rekayasa perangkat lunak telah memberkati pemikiran itu, dan seorang perekrut dari Perusahaan Penelusuran dan Periklanan Raksasa menghubungi saya di LinkedIn untuk wawancara telepon. Ini spektakuler!



Ini bukan pertama kalinya hal ini terjadi. Sebagai seorang insinyur muda yang brilian yang baru saja lulus dari sekolah menengah, saya baru saja memulai pekerjaan pertama saya dan melakukannya dengan cukup baik. Tapi kemudian duniaku terbalik. Saya bekerja pada bug yang sangat buruk, dan melakukan apa yang akan dilakukan oleh software engineer yang menghargai diri sendiri sebelum mencoba menyelesaikannya sendiri: Google. Segera setelah saya menekan Enter dengan kueri tumpul saya yang sesuai di kotak pencarian, layar menjadi hitam dan saya terlempar ke konsol.



Anda berbicara bahasa kami ... Ingin memecahkan masalah?

1. Ya

2. Tidak, terima kasih


Aku hampir tersedak kopi Costco yang suam-suam kuku. Saya ingin melompat dan berteriak agar rekan-rekan saya datang dan menonton. Tetapi kemudian saya tiba-tiba khawatir bahwa saya memiliki gangguan, dalam hal ini saya akan menemukan diri saya dalam situasi yang sangat sulit. Khawatir roh saya akan terbang keluar dari tubuh saya, saya menekan 1.



Anda diberi nomor array yang berisi n + 1 bilangan bulat, di mana setiap bilangan bulat antara 1 dan n (inklusif). Buktikan bahwa setidaknya satu angka diulang. Anggaplah hanya ada satu duplikat. Temukan.



Waktumu 24 jam!


Saya mengalami serangan jantung ringan. Ketika saya bisa menghidupkan kembali diri saya dengan segelas kopi Costco, saya menyadari bahwa saya bisa menyelesaikan masalah dengan baik. Saya sudah punya rencana. Jadi saya lakukan. Segera setelah saya menekan tombol "Kirim", mereka memberi saya solusi lain. Ini diulangi lima kali, dan setiap kali semakin sulit. Ketika saya memposting balasan terakhir, saya melihat pesan lain:



Selamat! Kode ini sangat bagus! Mencari wawancara di Giant Search and Advertising Company?


Itu saja. Seluruh dunia profesional saya telah berubah. Salah satu organisasi paling kuat di dunia telah menyusup ke otak saya yang berusia 22 tahun dan menulis ulang daftar itu. Tak satu pun dari tujuan karier sebelumnya yang penting lagi. Sebelumnya, saya sama sekali tidak menyadari bahwa perusahaan top seperti itu dapat mempekerjakan saya. Tetapi jelas bahwa entah bagaimana akhirnya saya menjadi layak untuk diperhatikan.



Wawancara telepon seperti mimpi buruk. Saya diminta untuk memprogram permainan Conway's Life dalam 45 menit. Sebenarnya, saya melakukannya dengan cukup baik. Saya menulis keseluruhan program dan mengujinya. Keesokan harinya saya ditolak. Di dalam hati, saya depresi dan bingung. Apa sebenarnya yang saya lakukan salah? Bukankah semua tes berarti apa-apa? Mengapa saya harus menulis algoritme yang sedemikian rumit dalam waktu sesingkat itu?



Setelah pengalaman pertama saya dengan pemecahan masalah di tingkat ini, saya memutuskan bahwa saya harus meningkatkan keterampilan saya. Wawancara berlangsung pada bulan April tahun ini. Saya menyusun kurikulum tiga bulan dan mulai berbisnis. Setiap pagi saya melakukan tiga tugas praktis sebelum berangkat kerja. Sore hari, setelah jogging dan ngemil, saya tetap bekerja. Dalam tiga bulan, saya menyelesaikan 114 masalah praktis secara total. Array, Backtracking, Binary Search, Binary Trees, Breadth First Search, Depth First Search, Dynamic Programming, Graphs, Greedy Algorithms, Hashing, Linked List, Probabilities, Sorting, Stacks, dan Prefix Trees adalah beberapa topik yang saya pelajari. ... Bagaimana saya bisa gagal dengan persiapan seperti itu?



Kegagalan



Wawancara dengan Giant Search and Advertising Company berakhir dengan api. Saya tidak bisa menyelesaikan masalah. Tapi itu baru awal dari kegilaan. Pada awalnya, saya dengan sangat strategis mendekati perusahaan mana yang harus dihubungi. Saya tidak hanya membutuhkan pekerjaan yang “baik”, tetapi “benar”.



Berikutnya adalah perusahaan mobil yang bisa menyetir sendiri. Saya mendapat tanggapan segera setelah mengirimkan aplikasi dan menyiapkan editor kode. Pewawancara, kesal dan dengan aksen yang sangat kuat, meminta saya untuk membuat kode algoritma pemfilteran gambar yang sangat kompleks. Saya menulisnya. "Terlihat sangat bagus!" - dia berkata. Keesokan harinya saya menerima surat penolakan formula.



Lalu ada perusahaan riset yang meminta tugas pekerjaan rumah tiga kalimat. Saya melakukan yang terbaik yang saya bisa dan menulis sistem pemrosesan gambar multi-threaded yang sangat kompleks. Dan saya mendapat jawaban "Tidak" yang sopan dari perekrut, dan ketika diminta untuk menjelaskan, saya diberi tahu bahwa penerapan saya "terlalu tidak efektif".



Setelah itu, ada perusahaan pemroses pembayaran. Saya melakukan percakapan telepon yang bagus dengan perekrut dan dia mengagumi seberapa cocok resume saya dengan deskripsi pekerjaan. Keesokan harinya saya menerima email darinya bahwa mereka tidak dapat menemukan pekerjaan untuk keahlian saya.



Contoh lainnya adalah dengan Perusahaan Platform Media Sosial Raksasa: “Jared! Terima kasih atas lamaran Anda! Kami pikir Anda akan sempurna untuk bekerja di perusahaan kami! Saya telah mengirimkan lamaran Anda langsung ke manajer perekrutan di kantor regional Anda! " Delapan menit kemudian, saya menerima surat penolakan stereotip yang menyatakan bahwa keterampilan saya tidak sesuai untuk posisi itu.



Perekrut luar yang tak terhitung jumlahnya telah menghubungi saya. Semua percakapan berakhir tanpa hasil. Mungkin yang paling saya suka adalah perusahaan pengolah suara. Perekrut menghubungi saya dan mengatakan bahwa setelah meninjau resume saya, tim sangat bersemangat dan ingin berbicara dengan saya, jadi dia akan menghubungi manajer SDM. Seminggu berlalu, saya bertanya bagaimana kabarnya. Perekrut tersebut mengatakan bahwa dia menghubungi manajer SDM - dan menurutnya keahlian saya tidak tepat untuk pekerjaan itu. Saya menerimanya ... namun, sebagai ujian, saya mengirim resume saya ke lowongan lain - dan saya segera dihubungi oleh perekrut lain. Saya heran mereka segera menelepon. Harus saya akui, kali ini saya tidak melakukannya dengan baik. Keesokan harinya, saya menerima penolakan formula melalui pos.



Akhirnya saya sampai pada tahap interview di kantor Giant Social Media Company. Saya menjawab serangkaian pertanyaan pengkodean dengan beberapa orang melalui empat wawancara berbeda - semuanya dengan benar dan memuaskan. Dalam perjalanan, saya ditanyai sejumlah pertanyaan yang membingungkan dan sulit seperti "Ceritakan kepada kami tentang waktu ketika ...". Sangat menyegarkan karena saat pertama kali mencari pekerjaan saya ditanya tentang pengalaman dan wawasan saya sebagai seorang insinyur pada umumnya. Ini diikuti dengan wawancara desain sistem akhir. Pewawancara dengan cepat memberi saya sistem kecil untuk dikembangkan. Saya mulai berbicara tentang keputusan saya, dan di sepanjang jalan saya diberi pertanyaan. Akhirnya, kita sampai pada titik di mana dia berkata, "Oke, katakanlah kita memiliki arsitektur layanan mikro ... dapatkah Anda mendesainnya ...?" Aku langsung berkatabahwa saya tidak memiliki pengalaman dengan layanan mikro. Dia menatap saya dengan penuh pertanyaan dan bertanya: "Tidak ada pengalaman?" Saya sudah konfirmasi. Saya telah mencoba untuk mengartikulasikan keahlian dan pengalaman saya di area pengembangan PC, tertanam dan seluler dengan jelas. Dia terdiam seperti orang yang mengerti bahwa dia telah melakukan kesalahan. Luar biasa! Saya menghabiskan empat bulan untuk mempersiapkan wawancara ini, menghabiskan hampir semua waktu non-kerja saya untuk mempersiapkan, memecahkan masalah praktis, dan berlatih bagaimana mempresentasikan pengalaman saya dalam keterampilan komunikasi, dan dia tidak repot-repot menghabiskan 10 menit membaca resume saya.Saya menghabiskan empat bulan untuk mempersiapkan wawancara ini, menghabiskan hampir semua waktu non-kerja saya untuk mempersiapkan, memecahkan masalah praktis, dan berlatih bagaimana mempresentasikan pengalaman saya dalam keterampilan komunikasi, dan dia tidak repot-repot menghabiskan 10 menit membaca resume saya.Saya menghabiskan empat bulan untuk mempersiapkan wawancara ini, menghabiskan hampir semua waktu non-kerja saya untuk mempersiapkan, memecahkan masalah praktis, dan berlatih bagaimana mempresentasikan pengalaman saya dalam keterampilan komunikasi, dan dia tidak repot-repot menghabiskan 10 menit membaca resume saya.





Saya bisa terus berduka atas banyak kekecewaan yang saya alami dalam pencarian kerja yang sulit ini. Ada banyak sekali. Saya selalu berusaha untuk benar-benar jujur ​​pada diri saya sendiri dan orang lain tentang kemampuan saya. Saya tidak melamar pekerjaan yang membutuhkan pengalaman bertahun-tahun yang tidak saya miliki, atau kehilangan keterampilan. Tentu saja saya ingin kembali ke web dari pemrograman tersemat, tetapi saya memiliki pengalaman dua tahun sebagai insinyur web selain pengalaman saya yang lain sebagai pengembang aplikasi seluler dan peneliti algoritma pembelajaran mesin. Saya sepenuhnya mengakui bahwa saya memiliki banyak kesempatan untuk bertumbuh dan mengembangkan diri. Namun di sisi lain, saya cukup yakin bahwa saya memiliki keterampilan yang memungkinkan saya memulai pekerjaan baru dengan sangat cepat. Menurutku,pemrograman adalah bentuk seni suling yang ditentukan oleh pembelajaran dan pengalaman baru. Tidak ada insinyur perangkat lunak yang akan berhenti berkembang selama sisa karir mereka. Setidaknya saya harap tidak: mereka yang melakukannya akan segera ditinggalkan di pinggir jalan. Jadi apa yang sebenarnya terjadi disini? Setelah melalui proses yang suram ini sekian lama, saya memutuskan untuk menguraikan dan menganalisis pengamatan saya dan kemudian merenungkannya untuk mendapatkan gambaran yang lebih jelas.Saya memutuskan untuk menguraikan dan menganalisis pengamatan saya dan kemudian merenungkannya untuk mendapatkan gambaran yang lebih jelas.Saya memutuskan untuk menguraikan dan menganalisis pengamatan saya dan kemudian merenungkannya untuk mendapatkan gambaran yang lebih jelas.



  1. . , , -, . - — , . , , -. , , . , . .  — .



    • :

    • — , .

    • — , .

    • — . , : , .

    • — , . , . . . . - , -, .


    , , - . , , - .
  2. , — , , .



    • ? . , , , , . , . , ? . , .

    • ? , , . , . « ». . , , .  — , , . , , , , , . , , ?

    • . , . , . LinkedIn . , . , . , , , , «» .

    • , . . , . , . . .  — () , . . : « . ? : «, ». « ? ?» : « . ». . ,  — ?

    • , . , . , . , A. . ! ! . , . . ! ! - , , . : , , A : , - .

    • . 45 . . , . «», 50 , , . , 15 , . . , , . . 45 ?

    • . , Google. , . : « » « ». . , . , , , . , , « , , ». , , , . , «» , , , «» . , . - , . , . , . , , , , . ! ?
  3. , ? , . , , « ». ?! , ? , , . ? , ? . , , . , . , , , , . , .


Saya cukup yakin saya bisa melanjutkan dengan semangat yang sama. Saya memiliki sekitar delapan poin lagi dalam catatan saya. Namun untuk saat ini, artikel tersebut lebih terlihat seperti diatribe daripada postingan blog. Saya berharap saya dapat membagikan beberapa kesulitan yang telah saya alami selama tujuh bulan terakhir. Pada akhirnya, saya memiliki perasaan yang ambivalen. Majikan saya saat ini baru saja memecat seluruh kantor saya, membuat saya menganggur dan sendirian untuk menulis tentang betapa saya membenci semua ini. Tidak terlalu yakin apakah saya ingin melalui proses ini lagi. Saya banyak memikirkan pengalaman saya dan sampai pada beberapa kesimpulan sederhana:



  • , — 85 000 Java- , , . Python, . embedded C C++ , . Flutter . Clojure, . C#. , -. .

  • Saya tidak mengerti mengapa saya tidak diizinkan untuk membuat perangkat lunak - ada ketidakcocokan mendasar antara klaim publik bahwa perusahaan sangat mencari insinyur perangkat lunak dan kenyataan brutal menyaring kandidat. Masalah pengkodean di bawah tekanan lakukan-atau-mati yang intens ini tampaknya lebih merupakan mekanisme perpeloncoan daripada alat penilaian yang berharga. Menggunakannya seperti menembak calon polisi sebelum menanyakan apa yang mereka ketahui tentang hukum.

  • Saya tidak tahu seperti apa dari sisi lain  - faktanya adalah bahwa proses yang dikritik mungkin satu-satunya cara perusahaan dapat memilah kandidat yang baik dan yang buruk. Saya tidak pernah berada dalam tim perekrutan, dan saya yakin saya tidak tahu banyak.


Sebagai kesimpulan, saya punya beberapa pemikiran:



  •  — , . , , . . , , ( ) , . , . , . , . , . , , , — , .

  •  — -. , : -. , . , . ? , ? , ? . , . , Agile. , . , . Java Python, Python, ? , , , . , - , .

  • — . , . . , -, . , , , :



    .



    . :






All Articles