Cerita Dari RubyKaigi 2018

Saatnya berbagi cerita tentang apa yang saya alami selama berkunjung ke Jepang untuk menghadiri RubyKaigi 2018 kemarin. Event-nya sudah lama berlalu tapi saya baru niat untuk menuliskannya sekarang hehe.

Dimulai dari RubyKaigi itu apa sebenarnya?

Kaigi adalah bahasa Jepang yang diartikan ke bahasa Inggris menjadi conference. Yup, RubyKaigi adalah conference dengan tema utama bahasa pemrograman Ruby yang diadakan di Jepang, tempat bahasa ini lahir. Kalau kamu memperhatikan soal conference Ruby yang ada di seluruh dunia, RubyKaigi merupakan salah satu yang paling ramai, tentunya selain RubyConf, yang selalu diadakan di Amerika. Sekadar info, tiap-tiap negara memiliki nama yang berbeda-beda untuk conference-nya.

Tahun ini RubyKaigi diadakan di Sendai, Miyagi, selama 3 hari, 31 Mei – 2 Juni 2018. Silakan tengok peta yang ada di bawah ini biar dapat gambaran Sendai itu ada di Jepang sebelah mana.

Sendai letaknya ada di bagian Timur-Utara Jepang, menjadikannya bersuhu lebih dingin dibanding dengan Tokyo pada waktu itu. Setahu saya wilayah utara Jepang memang seperti itu, terutama Hokkaido yang katanya kalau salju di daerah lain sudah pada mencair, di sana masih ada.

Ini penampakan saya begitu sampai Sendai, turun dari shinkansen yang membawa kami dari stasiun Ueno ke stasiun Sendai. Kelihatan kedinginan karena begitu turun langsung pakai jaket tebal haha.

Kembali ke Kaigi. RubyKaigi 2018 ini adalah yang ketiga kalinya diadakan di luar Tokyo. 2017 ada di Hiroshima kemudian 2016 ada di Kyoto. Nah sebelum-sebelumnya selalu ada di Tokyo.

Mungkin ada yang mikir, wah sayang dong, pergi ke Jepang tapi ga main di Tokyo. Ada benarnya sedikit. Tapi karena fokus pergi ke Jepang kali ini adalah memang untuk ikut conference dan terlebih semua biaya transportasi dan akomodasi serta ditambah diberi uang saku yang semuanya ditanggung perusahaan, jadi ga main ke Tokyo dan tempat wisata yang terkenal ga ada masalah sama sekali ūüėÄ

Background Story
Bagaimana ceritanya saya bisa berangkat ke Jepang untuk menghadiri RubyKaigi? Terlebih dengan kondisi yang sudah saya sebutkan di atas, dibayari alias gratisan.

Jawabannya adalah sebuah program ajaib bernama IDP, Individual Development Program. Pada intinya adalah, kita sebagai engineer bisa mengajukan program untuk diikuti yang ada kaitannya dengan pekerjaan kita dan diutamakan untuk perkembangan diri kita (sesuai nama programnya, development). Bentuknya apa? Macam-macam. Bisa mengajukan langganan situs tutorial berbayar, bisa mengajukan untuk ikut workshop dan yang paling asyik tentu saja untuk datang ke conference internasional.

Tidak ada syarat yang berbelit-belit ketika mengajukan program ini. Kalau kamu berpikir “Hmm pasti yang jago-jago nih yang dikasih kesempatan ikut conference ke luar” maka kamu salah dan sekaligus benar. Salah karena siapa saja dapat kesempatan tanpa adanya perbedaan. Benar karena yang ada di sini memang jago-jago semua hahahaha.

Intinya yang ingin saya sampaikan adalah kalau kamu engineer Bukalapak maka kesempatan ini bisa didapatkan tanpa adanya faktor pembeda antara yang satu dengan yang lain.

Cerita yang lumayan seru nih. Pada awalanya yang saya ajukan bukanlah RubyKaigi tapi ReddotRubyConf. Sama-sama conference terkait Ruby tapi yang ini diadakannya di Singapore.

Ketika ada sesi 1 on 1 dengan engineering manager, saya mengatakan kalau mau datang ke ReddotRubyConf ini dan tentunya ditanyain tanggal pelaksanaannya kapan. Waktu itu saya belum bisa jawab karena di situs resminya belum ada tanggal kapan ReddotRubyConf 2018 akan diadakan. Selang beberapa lama, saya dapat info dari twitter resmi mereka kalau ternyata di tahun 2018 tidak akan ada ReddotRubyConf. Hmm saatnya mikir alternatif.

Secara spontan yang terpikir adalah RubyKaigi, selain karena lokasinya tidak sejauh yang lain (halooo RubyConf di USA) tentunya adalah Jepang-nya itu sendiri. Sebagai generasi yang doyan nonton anime dan doyan baca manga, ditambah suka ngerakit gundam, maka pergi ke Jepang adalah sebuah impian tersendiri. Singkat cerita saya ajukan ulang ke engineering manager saya soal IDP dalam bentuk conference.

Selama proses itu dapat kabar kalau ada beberapa rekan engineer lainnya yang minat untuk datang ke RubyKaigi juga. Pada akhirnya saya bersama 5 orang lainnya mendapat kabar bahagia kalau pengajuan IDP disetujui. Alhamdulillah.

Nah foto kami bisa dilihat di bawah ini, barang kali kamu ada yang kenal, tentunya selain saya ūüėÄ

Cerita lagi yang menarik. Sebelum adanya RubyKaigi ini, saya tidak mengenal ke-5 orang itu hahaha. Saya cuma tahu 3 orang, itu pun hanya nama dan wajah lewat grup chat. Yang 2 sisanya tidak tahu sama sekali ini orangnya yang mana.

Hal seperti ini cukup sering saya obrolkan kalau ada yang nanya soal jumlah engineer di Bukalapak. Talent growth-nya sudah sangat cepat. Bahasa andalan yang sering saya gunakan adalah seperti ini. “Saat pertama kali saya masuk, saya kenal semua engineer, baik nama dan mukanya. Kemudian datang era di mana saya hanya tahu muka, kalau ketemu di kantor saya tahu dia engineer tapi tidak tahu namanya. Dan yang terakhir adalah era di mana saya tidak tahu nama dan muka. Kalau ketemu di kantor saya tidak akan tahu apakah dia anak engineer atau bukan!

Keberangkatan
Kami berangkat dari bandara Soekarno-Hatta dengan jadwal penerbangan pukul 00:00 WIB. Sudah pada stand by dari pukul 20:00. Nongkrong dulu di Marugame Udon untuk makan, kebetulan pas itu bulan puasa dan saya buka baru minum aja. Di situ juga kami saling ngobrol biar saling akrab karena baru disitu lah kami kumpul bareng ber-6. Pertanyaan paling standar sih “Di squad (baca: tim) mana?”.

Long story short. Begitu sampai di bandara Narita langsung masuk ke bagian imigrasi. Eh tak taunya kami semua semacam “ditahan”. Berenam dikumpulkan dan dibawa masuk ke ruangan khusus tak tau mau diapakan. Di dalam cuma dimintai passport dan dicek visa-nya terus ditanya dalam rangka apa. Visa kami beda-beda, saya dan beberapa teman pakai bebas visa alias visa waiver karena passport kami sudah e-passport. Beberapa pakai visa wisata dan satu orang pakai visa bisnis. Mungkin itu kali ya kenapa kami digelandang.

Yang masih jadi pertanyaan kenapa mereka bisa tahu kami serombongan? Saya lupa, apakah ada memasukkan nomor passport ke panitia Kaigi. Kalau iya, mungkin dari situ panitia menyampaikan informasi kedatangan kami ke petugas imigrasi di bandara.

Urusan imigrasi kelar, kami duduk-duduk sebentar. Ada yang beli sim card Jepang biar bisa online, ada yang kencing dan ada yang beli minum wkwk maklum musafir.

Nah ini salah satu hal yang sangat perlu kamu syukuri dalam perjalanan ini. Serombongan ada Alpen yang sudah pernah ke Jepang beberapa kali jadi tahu gimana mesti pergi dari satu tempat ke tempat lain menggunakan segela jenis kereta api. Tanpa dia, kami semua akan RIP nyari jalur kereta mana yang harus kami naiki, kami mesti ke stasiun mana, pas di stasiun kami mesti ke peron yang mana ūü§£noob kabyeh.

Interesting Topic
RubyKaigi menghadirkan topik-topik yang menarik yang disampaikan melalui 3 buah panggung paralel. Artinya pada saat yang bersamaan ada 3 panggung talk yang bebas kita pilih mau mendapatkan ilmu dari yang mana.

Di website resmi, panitia menyediakan jadwal lengkap dengan judul dan siapa yang menyampaikan materi termasuk dalam bahasa apa penyampaiannya. Ya betul, tidak hanya talk dalam bahasa Inggris yang disampaikan tapi juga dalam bahasa Jepang. Kami sih sebisa mungkin pilih yang menggunakan bahasa Inggris karena kalau bahasa Jepang walaupun ada translator tetapi rasanya kurang mantap.

Oh ya ada ada satu hal konyol terkait¬†translator¬†ini. Pertama acara dibuka, hanya ada 1¬†talk¬†di panggung utama. Tak lain tak bukan yang berbicara adalah Yukihiro Matsumoto alias Matz, bapak yang bikin Ruby. Nah tentu saja dia ngomongnya pakai bahasa Jepang dong karena di negara sendiri. Kami ber-6 bengong karena ga tahu dia ngomong apaan, cuma liat tahu dikit-dikit dari¬†slide¬†yang dia bikin yang berbahasa¬†Inggris ūüėÖ

Lhoh kan ada translator Mas katanya?

Yaaaa itu dia masalahnya, kami tidak tahu kalau ternyata panitia menyediakan receiver untuk mendengarkan hasil translasi profesional hahaha benar-benar suatu kebodohan. Salah satu lesson learned untuk Kaigi tahun depan hehe.

Kalau kamu mengharap akan menemukan talk  berbau Rails maka siap-siap agak kecewa karena Kaigi benar-benar fokus pada Ruby bukan Rails-nya. Yang cukup rame, dalam artian ada >=2 talk yang membahas tema agak sama adalah yang berkaitan dengan type system dan mruby.

Untuk mruby saya banyak skip karena gak paham hal-hal embedded system gitu. Ikut sekali yang membahas mruby dan banyak tidak pahamnya wkwk. Mruby ini ruby untuk embedded btw.

Topik yang paling menarik bagi saya karena selain saya paham (banyak topik saya tidak paham ūüė≠) juga karena memang sedang hangat adalah¬†type system yang disampaikan oleh¬†engineer-engineer¬†dari Stripe. Intinya mereka membuat¬†type system¬†di Ruby yang diberi nama Sorbet. Bisa kamu cek di¬†https://sorbet.run/

Kabarnya, Ruby 3 nanti akan ada juga¬†type checking.¬†Buat yang belum tahu itu apaan,¬†type checking¬†itu kode kita bisa tahu suatu objek tipe-nya apa, misal integer atau string atau objek dari kelas tertentu. Selama ini Ruby kan bodo amat¬†tentang itu. Yang penting bagi Ruby adalah suatu objek bisa merespon method¬†yang dipanggil dikiaskan dalam bahasa keren jadi “If¬†it looks¬†like a duck, swims¬†like a duck, and¬†quacks like a duck, then it probably is a¬†duck“. Dari situlah istilah¬†duck typing¬†berasal.

Contoh dalam kode seperti ini.

Parameter dari method call bisa apapun asalkan cuma satu, dia bisa merespon atau dalam bahasa lain memiliki method yang bernama perform. Soal tipe-nya apa, Ruby tidak peduli. Hal ini berbeda dengan bahasa seperti Java. Kalau di Java kita menentukan parameter harus bertipe X maka jika kita passing objek bertipe Y dia akan kena error duluan saat compile time. Kalau ternyata di Ruby objek yang kita passing tidak memiliki method bernama perform, akan terjadi error saat run time.

2 talk lain yang menarik bagi saya adalah Scaling Teams using Tests for Productivity and Education dan Devly, a multi-service development environment. Tidak terlalu teknikal tapi lebih ke bagaimana cara kita mengelola pengembangan software untuk kasus yang engineer-nya sudah banyaaaaak. Hal ini kami dialami di Bukalapak soalnya jadi sangat relatable. 

Topik lain jujur saya banyak yang tidak ngerti tapi dari situ jadi ngerti kalau kita mesti belajar itu dan ilmu kita memang masih sangat sedikit, jadi jangan sombong dan tetap rendah hati hehe.

Meet the speakers
Bagian favorit nih!

Yang pertama, tadaaaa ūüéČūüéČūüéČ

Ketemu langsung dengan Yukihiro Matsumoto, yang lebih akrab dipanggil Matz. Beliau ini yang awal mengembangkan bahasa Ruby. Salaman dan mengucapkan “Thank you for creating Ruby”!

śú¨ŚĹď„Āę„Āā„āä„ĀĆ„Ā®„ĀÜ!

Agak tidak sengaja bisa ketemu Matz. Waktu itu kami sedang nyimak topik type system yang disampaikan engineers dari Stripe yang sudah saya ceritakan di atas. Nah, tiba-tiba Matz duduk di barisan paling depan. Langsung saja dong, begitu talk selesai langsung saya samperin. Kapan lagi gitu sedekat ini dan ga awkward untuk say hi dan minta foto bareng.

Selanjutnya ada paman kece engineer dari Github yang satu ini. Kalau kamu Rails developer yang lumayan aktif mengikuti perkembangan dari komunitas Ruby dan Rails, pasti tahu om om yang satu ini yang kelakuannya agak aneh gimana gitu haha.

Yeah, say hi to uncle Aaron Patterson aka Tenderlove.

Kalau yang ini saya sengaja minta ketemuan dan foto bareng. Saya kontak dia lewat dm di twitter dan nanyain posisi dia di mana sambil bilang saya ada di sponsor booth. Dan ketemulah kami. Ngobrol sebentar sambil bilang I really admire github. 

Yang ketiga. Batsov. The Batsov. Paman yang ngembangin rubocop, ruby static code analyzer and formatter. Dia ini orang Rusia yang jadi vp of engineering perusahaan Toptal.

Ketemua dia ga sengaja sih. Di hari ke-3, di waktu jeda istirahat, saya ngelihat dia lagi sendirian. Sontak saya dan satu temen saya samperin aja buat kenalan dan ngobrol kecil, yang tentunya diakhiri dengan minta foto bareng hahaha.

Yang sempat kami obrolkan adalah dia pernah main di Bali pas musim hujan, yang mana musim hujan di Bali masih lebih panas dari pada musim panasnya negara dia. Terus dia ngomong ke kami kalau Indonesia harus mengadakan RubyConf. Saya jawab, oh kami sudah pernah dulu di 2017 dan sedang mau mengadakan lagi. Nah yang asyik nih, dia tertarik untuk jadi speaker. Semoga 2019 nanti bisa terwujud

Experience
Over all, great!!!

Dimulai dari susunan kegiatan yang selalu tepat waktu, panitia yang ramah dan cekatan, fasilitas yang oke dan tentunya venue yang keren dan nyaman.

Saya tunjukkan main hall-nya lewat gambar di bawah. Ini ruangan terbesar yang dijadikan semacam ruangan utama kalau ada key note speaker dan juga pembukaan dan penutupan acara.

Kemudian yang ini salah satu dari 2 ruangan lain. Bentuknya mirip jadi saya kasih satu gambar saja ya. Yang ini ruangannya lebih kecil dan kursi pengunjung di lantai yang datar, tidak seperti ruangan utama yang berundak macam di teater.

Di lounge, yang menjadi penghubung semua ruangan, disediakan meja kursi lengkap dengan monitor dan komputer untuk pair programming. Panitia memang sengaja mengadakan kegiatan ini. Gambar di bawah yang sempat saya abadikan ini memperlihatkan engineer dari heroku sedang pairing dengan Koicihi Sasada membahas Conway’s Game of Life yang terkenal itu.

Apakah disediakan makanan? Jelas, bentuknya bento. Coffe break pun ada di sekitar tiap jam set 4 sore. Karena saya dan teman-teman waktu itu puasa, jadi kami bawa balik makanannya ke hotel haha.

Panitia oke banget lho menyiapkan makanannya. Ada yang khusus untuk vegetarian dan untuk vegan (ternyata keduanya beda), dan ada contoh yang dibuka biar ketahuan isinya gimana. Tahu halal haram dari mana? Tanya aja, asal bukan babi kami anggap boleh ūüĎÄ

Ruangan sponsor keren. Di situ kita bisa mampir untuk lihat-lihat teknologi yang mereka kembangkan dan juga hanya untuk sekadar ngambil sticker boleh-boleh saja. Selain sticker ada juga freebie yang lain seperti yoyo, handuk, dll dll pokoknya ambil semaunya dan sebanyak-banyaknya asal ga malu aja.

Pas hari pertama, saat registrasi, panitia memberikan selembar kertas yang isinya tempat-tempat bagi kita untuk minta stempel ke booth-booth sponsor. Ini sangat menarik sih, karena selain seru dapat hadiah berupa pin ruby, kita juga jadi terpicu untuk mendatangi sponsor walaupun datang hanya untuk minta stempel ūüėÖ

Extended version
Hari Sabtu acara berakhir, tapi kami masih hari Senin malam jadwal penerbangan kembali ke Jakarta-nya. Jadi, tentunya jalan-jalan dong yang kita lakukan hehehe. Ini akan saya ceritakan di tulisan yang lain saja biar blog post saya jadi banyak ūüėÄ

Kalau kamu merasa apa yang saya sampaikan masih kurang lengkap, seperti misalnya kamu ingin tahu ini, ini, itu. Silakan ditanyakan lewat komentar, nanti saya update tulisan saya ini dengan menambahkan hal yang kamu tanyakan.

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

5 thoughts on “Cerita Dari RubyKaigi 2018

Leave a Reply

Your email address will not be published. Required fields are marked *