Saya telah melakukan lebih dari seratus wawancara, baik di satu sisi dan di sisi lain. Dalam artikel ini, saya ingin berbagi pengalaman, pengamatan, dan poin menarik saya. Mungkin ini akan menyelamatkan seseorang dari kesalahan, kesimpulan yang salah dan kehilangan waktu.
Burung jenis apa yang Senior?
Jadi, Pengembang Perangkat Lunak Senior (alias Pengembang Senior) adalah pengembang dengan pengalaman yang signifikan (dari 5 tahun) dan pengetahuan yang mendalam dalam pengembangan perangkat lunak komersial. Pengalaman kerja pengembangan untuk uang adalah kondisi yang diperlukan tetapi tidak cukup. Pastikan untuk berpartisipasi dalam proyek apa pun di tingkat Perusahaan, dan jika itu juga sempurna sejak awal, itu memberikan pengalaman yang tak terlupakan dan pandangan luas. Senior berbeda dari Middle terutama dalam hal itu dapat membawa tugas apa pun ke status siap-produksi. Dia jelas tahu apa yang bisa dilakukan dan apa yang tidak bisa. Itu dapat menangkap momen ketika saatnya untuk melakukan refactoring dalam perangkat lunak atau hanya menulis ulang dari awal. Menulis kode berkualitas cukup tinggi tanpa kesalahan kritis dan arsitektur.
Adalah suatu kesalahan untuk mengasumsikan bahwa Senior lebih cepat daripada Middle. Dalam praktik saya, ada banyak kasus di mana Middle melakukan tugas-tugas sederhana lebih cepat. Tetapi Senior hampir selalu bekerja lebih baik dan lebih cepat pada tugas-tugas kompleks, ketika Anda dapat menerapkan akumulasi pengalaman, menghindari kesalahan dan membuang waktu pada tahap pengembangan, pemeliharaan dan pengembangan.
Tujuan utama wawancara
Cukup aneh, tetapi kadang-kadang pewawancara tidak mengikuti tujuan utama wawancara - untuk menentukan apakah pengembang akan berguna bagi tim dan seberapa besar manfaat ini terkait dengan biaya pengembang ini. Sebaliknya, pewawancara sering mengungkapkan apa yang tidak diketahui pengembang, alih-alih mencari tahu apa yang dia tahu dan bisa lakukan. Sebagai konsekuensi dari ini, ia sampai pada kesimpulan yang salah dengan semua konsekuensi berikutnya.
Siapa yang harus wawancara?
Di sini satu-satunya jawaban yang benar adalah ketua tim alias yang akan datang. Kesalahan umum adalah mewawancarai 2-3 orang dari pihak yang diwawancarai, mengajukan pertanyaan-pertanyaan yang saling terkait dan tidak konsisten. Ini semua menciptakan tekanan yang tidak perlu untuk orang yang diwawancarai dan mencegah pembentukan kontak psikologis.
Suasana
Wawancara selalu menjadi tekanan bagi pengembang, bagi seseorang yang lebih banyak, bagi seseorang yang kurang. Banyak dari mereka tidak tahu cara "menjual" diri mereka secara kualitatif. Oleh karena itu, sangat penting untuk menarik pengembang dan mentransfer wawancara ke komunikasi yang bersahabat antara dua rekan. Memang, dalam percakapan yang bersahabatlah Anda bisa mengetahui detail sebenarnya dari meninggalkan pekerjaan Anda sebelumnya dan keterampilan seperti apa yang dimiliki orang yang diwawancarai tanpa hiasan.
Pelajari kompetensi
Seperti yang sudah saya tulis di "Goals," penting untuk mengetahui kekuatan orang yang diwawancarai, apa yang dia kerjakan sebelumnya, apa yang dia makan anjing itu, pendekatan apa yang dia gunakan, apa gigi yang dia temui di sepanjang jalan.
Kompetensi utama untuk pengembang senior:
- Algoritma
- Arsitektur, pola desain.
- Basis data
- Eksekusi paralel dan sinkronisasi proses.
- Dasar-dasar kinerja perangkat lunak.
- Debug dan logging.
Peran penting bagi pengembang adalah memahami cara kerjanya, pengetahuan tentang konsep dan fitur, daripada mengetahui alat tertentu. Sebagai contoh, jika dia benar-benar mengerti MySQL, maka tidak akan sulit baginya untuk berurusan dengan Postgres. Dalam kebanyakan kasus, tidak sulit bagi pengembang senior untuk dengan cepat mempelajari alat apa pun.
Sangat sering, orang-orang yang diwawancarai beralih ke beberapa keterangan yang akrab bagi mereka, berikut adalah kasus-kasus dari praktik nyata:
- Bagaimana cara menggunakan SQL untuk menghapus satu baris jika lebih dari satu jatuh di bawah kriteria pemilihan?
- Perintah git mana yang akan mengembalikan komit terakhir?
- Apa metode objek Objek di Jawa yang Anda tahu? Mungkin ada opsi lain dalam bahasa lain - sesuatu yang diketahui pewawancara dengan baik.
Pertanyaan-pertanyaan ini juga dari kategori βmelempar koin ke udara,β pengetahuan atau ketidaktahuan mereka tidak memungkinkan kesimpulan obyektif tentang pengalaman pengembang.
Ada juga kategori yang terpisah dari pecinta "cerdas" dari pertanyaan dan tugas bodoh untuk memeriksa "kejelasan", contoh nyata:
- Mengapa putaran palka?
- Bagaimana cara menuang 4 liter air ke dalam satu ember, jika ada dua ember - 3 dan 5 liter?
- Pecahkan beberapa teka-teki, misalnya, kumpulkan kubus Rubik.
Masalah dengan pertanyaan semacam itu adalah bahwa tidak hanya orang dengan IQ rendah disaring, tetapi juga bagian penting dari orang pintar yang sama sekali tidak siap untuk pertanyaan seperti itu atau yang sedang stres. Di sini, alih-alih orang pintar, sering melangkah lebih jauh mereka yang sudah tahu jawaban dan solusi untuk pertanyaan dan tugas standar.
Mencari motivasi
Ada pertanyaan yang sering diajukan dari pihak yang diwawancarai - "Mengapa Anda ingin bekerja bersama kami?" Dipahami bahwa orang yang diwawancarai akan dengan jujur ββdan terbuka mengungkapkan motivasinya - "Saya ingin lebih banyak uang" atau "Semuanya lebih baik daripada di tempat saya sekarang." Tetapi bagi yang diwawancarai, pertanyaan seperti itu dapat menyebabkan kesalahpahaman literal dan dia jarang menjawab secara terbuka. Karena itu, lebih baik mencari tahu tentang motivasi dengan pertanyaan tidak langsung.
Apa motivasinya:
- Uang Motivasi paling populer, tetapi seringkali tidak diterima untuk mengakuinya. Ini bekerja dengan baik untuk keluarga dan mereka yang terbiasa menghabiskan banyak atau benar-benar ingin menabung.
- Tugas yang menarik . Ketika orang benar-benar menyukai pekerjaan mereka dan mereka siap untuk bekerja lembur dan pada akhir pekan tanpa memerlukan pembayaran tambahan.
- Tingkatkan keterampilan baru . Industri tidak tinggal diam dan terus-menerus harus memompa mereka agar tetap diminati di pasar tenaga kerja.
- Pertumbuhan karir . Salah satu motivasi utama untuk bekerja di sebuah startup.
- Perusahaan terkenal atau hype . Kesempatan untuk menjadi bagian dari dirinya dan menuai manfaat dari ketenarannya.
Apa yang seharusnya tidak Anda tanyakan pada Pengembang Senior
- Cara kerja algoritma XXX yang jarang dibutuhkan (misalnya, quicksort). Mengapa bertanya apa yang tidak diperlukan dalam pekerjaan sehari-hari pengembang, tetapi apakah google dalam 5 detik?
- Apakah Anda memiliki alat YYY sederhana (mis. Git). Saya belum pernah bertemu pengembang yang tidak akan menguasai fitur dasar git yang diperlukan untuk pekerjaan sehari-hari dalam satu atau dua hari.
- Apakah Anda tahu cara menulis tes. Pertanyaan dengan tanda bintang. Proses menulis tes sederhana, tetapi belajar untuk memahami apa yang perlu diuji dan sampai sejauh mana - butuh latihan yang lama. Bahkan, hanya satu penulis tes berpengalaman dalam tim yang dapat mengendalikan proses ini secara efektif sudah cukup.
- Apa itu Agile / Kanban / Scrum. Metodologi, sebagaimana pengembangan akan dilakukan, dipilih oleh Ketua Tim, oleh karena itu, pemain biasa tidak perlu mengetahuinya secara menyeluruh, dan prinsip-prinsip dasar dipahami dalam hitungan hari.
Jenis Pengembang Senior
Untuk memahami motivasi dan kemampuan pengembang tertentu, perlu untuk menyoroti jenis yang melekat padanya. Saya telah mengidentifikasi jenis-jenis umum berikut:
- Pencipta atau Passionate . Dia bergegas dari pekerjaan itu sendiri, tugas-tugas non-sepele, di mana Anda perlu menemukan sesuatu. Terkadang sepeda diperoleh, tetapi dengan pertumbuhan kompetensi, ia menghasilkan produk yang sangat berkualitas tinggi. Motivasi utama adalah proyek dan tugas yang menarik.
- Rutinitas . Mampu melakukan pekerjaan yang sangat rutin tanpa mengurangi produktivitas seiring waktu dan tanpa memerlukan motivasi apa pun.
- Pahlawan super . Selesaikan tugas dengan segala cara, bahkan jika tidak ada cukup kompetensi dan waktu. Ini sering memahat dari kotoran dan tongkat, tetapi dengan pertumbuhan kompetensi, sesuatu yang lebih atau kurang layak diperoleh. Sangat berharga untuk startup dan bos yang menuntut.
- Kompeten . Anda tidak dapat membodohinya pada sekam, Anda tidak bisa membodohinya dengan hype, ia selalu berusaha memahami esensi teknologi dan tugas, ia berpikir dalam dan secara struktural. Karyawan yang berharga dalam proyek apa pun.
- Dangkal . Mereka mengambil kata-kata pintar, pendekatan, mempelajari teknologi dan alat hype (dangkal) dan mencoba untuk menerapkan semua ini dalam proyek, menuangkan segenggam besar, bahkan jika mungkin untuk mengelola yang kecil. Biasanya pada awal karir dan teman-teman hanya didorong dan mudah dipengaruhi.
- Suasana sandera . Ada suasana hati - pekerjaan dalam ayunan penuh sehingga hanya membawa kerang, tidak ada suasana hati - itu akan membuat tampilan yang bijaksana dan berfilsafat lebih dari pekerjaan.
- Karier . Jelas ditujukan pada pertumbuhan karier. Tidak ada pertumbuhan selama lebih dari satu tahun - kandidat potensial untuk keberangkatan.
- Konservatif . Seorang pencinta stabilitas dan tradisi, secara negatif merujuk pada semua hal-hal kecil, alat, dan pendekatan ketinggalan jaman ini.
- Manimen . Ini berfungsi di mana mereka membayar lebih, sehingga loyalitas kepada perusahaan cukup rendah. Dia menyukai bonus, bonus, nishtyaki gratis, dan motivasi finansial lainnya.
Seringkali, individu tertentu menggabungkan beberapa jenis dalam berbagai proporsi. Seiring waktu, jenis dan proporsinya pada manusia berubah, dan ada juga individu yang dapat beradaptasi dengan tugas (khas dari Superheroes). Perlu dicatat bahwa seiring bertambahnya usia, bagian Konservatif tumbuh dalam banyak, Pencipta dapat terbakar, dan Superficial dapat tumbuh menjadi Kompeten.
Keadaan psikologis
Sayangnya, terkadang pengembang senior mengembangkan keterampilan yang salah dan karakter mereka dapat memburuk, yang sangat menyulitkan saling pengertian dan kerja tim yang efektif.
Seringkali ada kondisi seperti itu:
- Hidup adalah pembusukan . Kadang-kadang terjadi bahwa kode tertulis tidak masuk ke produksi untuk beberapa alasan (misalnya, untuk keputusan bisnis) atau tidak berumur panjang (manajemen startup atau tidak kompeten). Ini benar-benar melemahkan semangat dengan semua konsekuensinya. Ini tidak boleh disamakan dengan sinisme biasa yang sehat karena pengalaman kerja.
- Zen mengerti . Selama bertahun-tahun, dalam proyek Enterprise statis, pengembang mempelajarinya naik turun dan dia merasa bahwa dia sekarang adalah spesialis langka. Bahkan, keahliannya di luar proyek ini hampir tidak ada biaya, ada evaluasi ulang kemampuannya oleh pengembang.
- Diremehkan dan tidak pasti . Serangkaian proyek yang gagal, manajemen yang buruk dan risiko lainnya membuat pengembang meragukan kemampuan dan keterampilannya, meskipun dalam kenyataannya ia mungkin terbukti menjadi karyawan yang sangat mampu dan berharga. Seringkali meremehkan diri sendiri dalam hal gaji dan / atau posisi.
- Berlebihan . Berbeda dengan yang diremehkan dan tidak pasti, individu ini menangkap proyek atau seri yang sukses, yang sangat sukses dan pada gelombang ini sangat melebih-lebihkan kemampuan dan kemampuannya.
Tapi bagaimana dengan tugas tes?
Masalah dalam tugas tes singkat (2-3 jam) adalah bahwa menurut hasilnya tidak mungkin untuk menarik kesimpulan yang pasti apakah penulis memiliki pengalaman dalam mengembangkan tingkat Senior atau tidak. Dengan kesuksesan yang sama, Anda bisa melempar koin ke udara.
Kesimpulan
Menurut hasil wawancara, kesan obyektif dari pengembang harus dibentuk:
- Apa kekuatannya?
- Bagaimana dia bisa memperkuat tim.
- Berapa banyak waktu yang dia butuhkan untuk mencapai "kecepatan jelajah".
- Seberapa banyak sn yang diinginkan sesuai dengan poin di atas.
- Apakah ada kontak psikologis dan kompatibilitas dengan tim.
Jika karena alasan tertentu tidak mungkin untuk menjawab semua pertanyaan ini dengan percaya diri, maka Anda dapat melakukan putaran wawancara lain, atau menolak kandidat. Babak berikutnya dapat terdiri dari tugas khusus yang akan mengungkapkan informasi yang hilang, misalnya - setengah hari pengkodean langsung ke perusahaan yang dibayar dengan tarif rata-rata.
PS Semua poin dalam satu artikel tidak dapat dijelaskan, jadi jika Anda memiliki pertanyaan atau ingin mendiskusikan sesuatu - tulis di komentar atau
email .