Hai
Kami sedang mempersiapkan konferensi
RubyRussia 2019 mendatang (
sudahkah Anda menandai tanggal 28 September di kalender?) Dan sedang berbicara dengan pembicara kami tentang kehidupan, komunitas dan pemrograman. Dalam wawancara hari ini,
Felix Yasnopolsky dari Evrone berbicara kepada Ivan Shamatov: pemimpin Komunitas Saint P Ruby (di
sini Anda dapat bergabung dengan obrolan komunitas yang nyaman di Telegram) dan VP teknik di Cybergizer.
Bagaimana pidato Anda di konferensi mendatang?Saya ingin menunjukkan bahwa uang dalam pemrograman itu mudah! Dengan bantuan uang, kami menyatakan sejumlah nilai dari suatu produk atau layanan. Secara umum, mereka dapat digambarkan sebagai tuple dimensi 2, yang terdiri dari nilai digital (misalnya, 100) dan nilai karakter (misalnya, USD, $). Dalam hal transaksi uang dengan simbol yang sama, peralatan matematika relatif sederhana, tetapi bahkan di sini Anda dapat menemukan jebakan. Apa yang bisa kita katakan tentang skenario konversi uang dari satu mata uang ke mata uang lain. Di sini dunia matematika yang ideal runtuh dan akuntansi bisnis dimulai. Saya akan menunjukkan bagaimana memahami beberapa skenario dan kesalahan apa yang dapat terjadi pada contoh praktik dari proyek fintech.
Mengapa Anda memilih topik ini?Saya berpartisipasi dalam pengembangan sistem pembayaran untuk kereta bawah tanah, Aeroexpress, sistem pembayaran tagihan listrik untuk beberapa negara bagian di AS dan banyak lainnya. Skrip pertama yang saya tulis untuk mendapatkan uang adalah skrip php untuk membayar Internet melalui terminal di Pushkin. Lain kali saya menemukan topik uang ketika saya bekerja di Cryptopay - ada juga transfer dan transaksi di sana. Kemudian saya pergi bekerja di Toptal, di mana saya adalah bagian dari tim penagihan. Bersiap-siap untuk konferensi, saya berpikir bahwa banyak orang dapat berbicara tentang fitur-fitur Ruby, tetapi sedikit orang yang mengerti bagaimana menulis uang dan bagaimana melakukannya dengan benar. Dan ini adalah topik yang sering kita temui dalam berbagai proyek.
Teknologi apa selain Ruby yang Anda sukai?Saya sangat suka JavaScript. Nikmati kemudahan menulis di ES6. Saya suka paradigma yang datang ke Ruby dari bahasa lain: dalam hal ini, menjadi tidak perlu bagi kita untuk menggunakan bahasa yang sangat lain ini. Anda dapat membuka
permata bersamaan dan melihat banyak alat dari Go, Clojure, Java dan JavaScript. Saya suka itu dalam bahasa yang berbeda perlu menggunakan cara berpikir yang berbeda. Ada orang yang beralih dari Ruby ke Go untuk mempertahankan prinsip-prinsip pemikiran Ruby. Atau datanglah ke Ruby dengan prinsip-prinsip dari PHP. Ini tidak berfungsi dalam pemrograman: setiap bahasa memiliki pendekatan sendiri, alur kerjanya sendiri, pola pikirnya sendiri. Anda perlu memahami cara menulis program secara tepat dalam kerangka teknologi tertentu.
Saya sangat tertarik dengan pengembangan ponsel: pola yang sama, MVC yang sama, tetapi semuanya bekerja dengan cara yang sangat berbeda. Sangat menarik untuk mempelajari React dan Redux - repo yang bagus untuk kereta api khas :)
Ceritakan tentang kegagalan terbesar Anda dan alasan untuk bangga.Saya bisa bangga dengan proyek yang saya ikuti, yang saya bantu. Misalnya, sebuah proyek yang memungkinkan pembayaran dengan kartu Aeroexpress di Moskow. Sistem yang sama digunakan di metro Kazan. Saya menulis klien untuk pintu putar di JRuby, dan Rails mendukung bahwa layanan transaksi transportasi ini bekerja dengan berbagai API. Itu adalah proyek yang sangat menarik, dengan hanya tiga pengembang yang berpartisipasi di dalamnya.
Fakapov tidak malu, bahkan ketika itu terjadi. Seseorang memiliki hak untuk melakukan kesalahan. Salah - dan Anda tidak melakukannya lagi.
Salah satu kegiatan Anda adalah pendampingan. Kenapa kamu melakukan ini?Saya sendiri selalu memiliki mentor yang menyarankan apa dan bagaimana melakukannya. Ini adalah orang-orang dari berbagai obrolan, orang-orang yang saya ajak bicara di konferensi dan rapat. Ketika saya mencapai tingkat tertentu, saya mulai menjadi mentor baik offline maupun online. Sekarang saya berurusan dengan orang-orang yang datang kepada kami dari
Rubizz 's. Ini adalah salah satu proyek utama saya untuk hari ini, studi praktis intensif Ruby untuk pemula. Anak-anak diberi kebebasan bertindak maksimum dan hak untuk melakukan kesalahan. Dan hanya setelah kerucut penuh, apakah mentor menjelaskan mengapa ini adalah kesalahan dan mengapa Anda tidak harus melakukan ini. Saya percaya bahwa ini adalah pendekatan yang tepat: beberapa hal tidak dapat dipahami sampai Anda mengumpulkan ini menyapu sendiri. Jika Anda tidak pernah menggunakan panggilan balik dengan cara yang salah, Anda tidak akan mengerti apa yang menjadi masalahnya. Dan mengapa banyak orang di komunitas membenci panggilan balik.
Saya mendengar bahwa Anda mencoba masuk ke tim Toptal enam atau tujuh kali. Apakah itu benarYa, itu benar, saya sering membicarakan hal ini. Toptal telah mengupayakan kebijakan perekrutan yang agresif, atau lebih tepat, proaktif, sejak awal perusahaan. Saya diundang untuk wawancara setahun sekali. Setelah berulang kali gagal, saya memutuskan untuk tidak mencoba lagi. Tetapi teman saya, yang dengannya kami memulai perjalanan kami di Ruby, mendapat pekerjaan di sana dan menyarankan agar saya mencoba lagi. Dan kali ini saya bisa melewati semua tahap wawancara. Ada tes teknis besar di pintu masuk, kemudian wawancara, lalu yang lain, dan banyak lagi ... Dan sekarang saya percaya bahwa melakukan 5-6 tahap wawancara adalah praktik yang sangat keren. Hanya dengan cara ini Anda dapat memahami siapa yang ada di depan Anda, apakah Anda ingin bekerja dengan orang ini, apakah dia akan cocok dengan tim. Dan saya mengerti mengapa mereka tidak membawa saya untuk pertama kalinya, saya benar-benar tidak menarik saat itu.
Menurut Anda, bagaimana cara mengatur wawancara kerja dan proses perekrutan yang ideal?Ketika saya membantu dengan pemilihan orang untuk tim sebelumnya, Cryptopay, kami memiliki dua tahap. Sebagai tugas uji, kami memberikan sepotong kode untuk refactoring. Berdasarkan potongan kode ini, kami melakukan penilaian awal terhadap kandidat. Kemudian kami melakukan wawancara dalam format live coding untuk memahami apakah orang ini cocok untuk kami. Pengodean langsung memungkinkan Anda untuk memahami cara berpikir seseorang. Anda dapat mengevaluasi tidak hanya apa yang tertulis, tetapi juga bagaimana pengembang menggunakan sistem operasi, IDE, apakah hotkey tahu seberapa dalam dia memahami topik tertentu, pendekatan mana yang dia gunakan, pertanyaan apa yang dia tanyakan kepada rekan-rekannya dalam proses tersebut. Pendekatan ini memberikan lebih banyak informasi tentang seseorang daripada tes atau wawancara tentang algoritma.
Tetapi saya percaya bahwa ini tidak cukup. Sekarang, di Cybergizer, saya sering mempekerjakan orang yang sudah pernah bekerja sama dengan saya. Ada orang-orang yang tidak bekerja dengan kami, tetapi bersama-sama mereka menulis semacam sumber terbuka. Kegiatan bersama semacam itu memungkinkan Anda melihat bagaimana seseorang menulis kode. Dan Anda juga mengerti bagaimana alur kerja Anda cocok, seberapa dekat Anda secara mental.
Saya tidak menganggap diri saya ahli dalam perekrutan, pendekatan saya juga gagal. Salah satu kesalahan saya baru-baru ini: Saya tidak ingin mengambil orang itu setelah sesi coding langsung untuk wawancara, dia tidak mengesankan saya. Tetapi anggota tim lainnya memilih dia, dan kami mulai bekerja bersama. Dan dalam kolaborasi, saya menyadari bahwa ini adalah spesialis kelas atas. Ada kasus yang sangat berlawanan ketika saya adalah seorang pria dengan semua tangan saya, dan sebagai seorang pengembang, dia bukan siapa-siapa. Setelah dua kasus ini, saya tidak siap untuk menilai kebenaran metode perekrutan tertentu. Mungkin beruntung, mungkin tidak beruntung. Mengutip lelucon terkenal:
- Bagaimana Anda mengelola untuk mempekerjakan pengembang yang baik?
- Ini semua pengalaman dalam merekrut pengembang yang baik!
- Dan bagaimana cara mendapatkan pengalaman seperti itu?
- Kita perlu merekrut pengembang yang berbeda.
Rasanya aneh bagi saya bahwa begitu banyak yang tertarik pada cara menarik spesialis yang baik. Tetapi hanya sedikit orang yang tertarik pada bagaimana menjadi perusahaan di mana spesialis yang baik ingin bekerja. Atau mungkin Anda harus memikirkannya terlebih dahulu?
Anda mengatur pertemuan dan pertemuan Saint P Rubyconf di St. Petersburg. Mengapa dan mengapa kamu melakukan ini?Ini adalah bagian dari budaya Ruby - kontributor komunitas. Seseorang menyematkan kode, menulis opensource. Saya berkontribusi pada apa yang saya dapatkan. Banyak orang berpikir bahwa untuk memberikan kontribusi, Anda harus memiliki tujuh bentang di dahi. Tapi ini tidak benar! Hampir 10 tahun yang lalu, ketika saya berada di awal perjalanan saya ke Ruby, saya bersama tim orang menerjemahkan ke dalam bahasa Rusia dan menyuarakan RailsCasts. Jadi semua orang dapat berguna bagi seluruh komunitas: tidak masalah jika Anda memperbarui dok di permata, menulis artikel atau mengatur mitap.
Sampai jumpa di RubyRusia 28 September!Tonton programnya dan bergabunglah di
sini , kenaikan harga berikutnya diperkirakan setelah 15 September.
Terima kasih kepada perusahaan yang mendukung kami:
Penyelenggara -
EvroneMitra Umum -
ToptalMitra Emas -
GettMitra Perak -
JetBrains ,
Bookmate dan
CashwagonMitra Perunggu -
InSales