Di awal bulan juli ini DevC Jakarta baru saja selesai mengadakan meetup yang secara regular dilakukan setiap bulannya. Berbeda dengan meetup di bulan sebelumnya, meetup kali ini cukup spesial. Ya, DevC Jakarta menggelar sebuah event global namanya Build Day 2018 . DevC diseluruh dunia sudah dan akan menggelar perhelatan serupa.
Build Day sendiri merupakan inisiasi dari. Facebook dalam rangka ‘merangsang’ dan menantang developer dan makers untuk membuat sebuah karya dengan tema community building. Seperti yang disampaikan di F8 Developer Conference beberapa waktu yang lalu.
Dan karena ini adalah momen spesial, DevC Jakarta melakukannya dengan cara yang spesial pula. Jika meetup bulanan dilakukan satu hari, kali ini kita melakukannya dua hari berturut-turut! Hari pertama kita menggelar acara TechTalk untuk memberi inspirasi dan aspirasi disusul dengan acara Ideation untuk memformulasikan ide menjadi sebuah produk yang siap untuk dikembangkan. Tujuan akhirnya adalah mengajak teman-teman developer dan maker untuk mengikuti Build Day yang diikuti oleh ribuan orang diseluruh dunia.
Lebih spesial lagi, TechTalk kali ini mendatangkan dua orang pembicara keren. Mereka berdua adalah developer Facebook yang berasal dari Indonesia! TechTalk dibuka oleh Mas Ziyad Bazed yang berbagi insight tentang bagaimana Facebook membangun aplikasi yang secure. Dilanjutkan dengan Mas Riandy yang memberikan tips dan trik mengembangkan chatbot terutama untuk platform Messenger.
Mas Ziyad memulai presentasi dengan memperkenalkan dirinya sebagai Engineer yang sudah berkarya selama kurang lebih empat tahun di Facebook dan juga memperlihatkan screenshot dari aplikasi Facebook Lite, sebuah aplikasi Facebook versi ringan untuk mengakomodir user dengan keterbatasan data dan device. Kelebihan dari Facebook Lite ini adalah mampu menghemat data dan lebih ramah terutama dalam penggunaan memori handphone.
Saya jadi teringat bagaimana Mas Ziyad berbagi ilmu ketika mengisi acara serupa tahun 2017 silam. Saat itu Mas Ziyad berbicara tentang teknologi dibelakang Facebook Lite dan seputar development aplikasi di platform Android.
Sesi Ziyad Bazed
Masuk ke topik utama, Mas Ziyad memaparkan beberapa hal terkait kultur pengembangan aplikasi di internal Facebook seperti kultur code review, continuous delivery, monorepo dan mono branch hingga perjalanan dari perkembangan library/framework yang digunakan oleh facebook dari awal hingga saat ini. Seperti yang kita ketahui bersama, Facebook berawal dari sebuah media sosial online hingga sekarang memiliki berbagai produk lainnya seperti Instagram, Oculus, WhatsApp, Messenger dan lain sebagainya. Berikut beberapa hal-hal menarik yang saya dapatkan:
Facebook menerapkan code review (tentu saja)
Facebook juga melakukan crowdsourcing untuk membasmi bugs (bountyhunter) dan mengeluarkan sekitar 6 juta dolar untuk itu
Facebook menerapkan* open codebase* dan monorepo sehingga semua code dari seluruh produk facebook dapat diakses oleh seluruh karyawan facebook dan tentunya dapat berkontribusi kepada produk yang diinginkan.
Facebook juga menerapkan mono branch. Hanya branch master. Sedikit mengejutkan karena biasanya untuk best practice ada beberapa branch yang digunakan seperti devel atau development branch. Dengan menerapkan mono branch, proses code review dan merge harus benar-benar ‘rapi’ sehingga kemungkinan yang dapat merusak branch master harus diminimalisir.
Seluruh produk Facebook menggunakan stack yang minimal. Produk yang menggunakan konsep microservice atau micro frontend dengan teknologi yang berbeda hampir tidak ada. Stack yang digunakan cukup straightforward dan no brainer.
Seperti yang kita ketahui bersama, Facebook menggunakan PHP saat pengembangan awal. Setelah beberapa waktu, Facebook kemudian mengembangkan sebuah bahasa baru, HackLang yang merupakan pengembangan lebih lengkap dari PHP, terutama beberapa fitur yang dibutuhkan Facebook dan belum tersedia di PHP saat itu dan juga ditambah dengan beberapa tweak sehingga mampu mencapai performa yang diinginkan oleh Facebook.
Sudah seperti rahasia umum di kalangan developer Facebook, ketika ada indikasi bahwa yang mereka lakukan adalah hal berbahaya biasanya para developer ini menandainya dengan membuat variable yang menunjukkan hal tersebut. Misalnya saja dangerouslySetInnerHTML
, UNSAFE_componentWillMount
dan lain sebagainya.
Tim engineering Facebook tidak memiliki tim tester atau QA. Engineer sendiri yang bertanggungjawab melakukan testing terhadap code-nya.
Sesi TechTalk kemudian dilanjutkan oleh Mas Riandy yang membawakan topik tentang bagaimana dan mengapa membuat messenger bot. Ada lima langkah mudah dalam membuat messenger bot:
Generate access token
Menerima data dengan webhooks
Mengirimkan data ke Graph API. Bisa menggunakan template seperti button, generic, receipt, carousel, dll.
Buat bot kamu semakin mudah ditemukan dengan:
Plugin “send to messenger”
Shortlink seperti m.me/CNN
Messenger code, yang lebih keren dari qr code
Persenjatai bot kamu dengan kemampuan bahasa dengan wit.ai
Sesi Mas Riandy
Mas Riandy juga membahas. beberapa fitur keren dari Messenger seperti card, user’s identity, kemampuan menampilkan web dengan webview, qr code yang keren dan beda, dll.
Kemudian Mas Riandy juga membahas tentang bagaimana sebuah bot sebenarnya bekerja di belakang layar. Secara sederhana, sebenarnya hanya menggunakan dua API, yaitu send dan receive.
Dan untuk membuat sebuah bot lebih menarik, bot messenger juga dapat dipersenjatai dengan teknik Natural Language Processing atau NLP dengan bantuan wit.ai ataupun produk sejenis seperti dialogflow, dan lain sebagainya.
Beberapa hari sebelum acara dimulai, para peserta yang sudah memiliki ide atau yang belum diminta untuk mengisi form pendaftaran. Dari 105 pendaftar, ada 40 peserta terpilih yang berkesempatan mengikuti acara di hari kedua yang kita namakan Ideathon. Konsepnya mirip dengan hackathon, bedanya adalah ini baru tahap formulasi ide jadi belum ada proses development aplikasi di tahapan ini.
Sesi mentoring Ideathon
Tujuan Ideathon ini adalah untuk melatih kreatifitas sekaligus mendorong teman-teman developer dan maker untuk mengikuti Build Day yang diadakan secara global oleh Facebook.
Dan agar kesempatan menang lebih tinggi, Ideathon juga menghadirkan mentor-mentor dan juri ternama. Berikut beberapa diantaranya:
Russel Siregar, Product Manager at Quipper
Rosidi Pratama, Product Manager at Kumparan
Rian Agustama, Product Manager at Bukalapak
Bima Arafah, Head of Product at Kumparan
I Gede Agastya Darma Laksana, Engineer at Kumparan
Winner Manurung, Product Manager at Blibli.com
Irvan Adhitya, Engineer at Style Theory
Willy Anderson, Product Manager at Blibli.com
Rizki Ridha, UX Researcher at Blibli.com
Irfan Maulana, Engineer at bizzy
Alfandio Greshaldi, UX Researcher at Blibli.com
Abdurrachman Mappuji, Engineer at MidTrans
Mentor-mentor kemudian dibagi kedalam grup-grup dan memberikan insight terhadap ide awal peserta hingga mengarahkan mereka untuk memikirkan fitur-fitur dari berbagai sisi baik itu produk, UI/UX hingga teknologi yang digunakan.
Ideathon ditutup dengan presentasi dari seluruh kelompok dan ada dua yang mendapatkan award: Best Idea dan Favorite Idea pilihan komunitas.
Berikut adalah ketujuh ide yang masuk babak penjurian:
Termentori — https://m.facebook.com/groups/313087542449350?view=permalink&id=468718680219568
Taninesia — https://m.facebook.com/groups/313087542449350?view=permalink&id=468719696886133
Goyong — https://m.facebook.com/groups/313087542449350?view=permalink&id=468749936883109
Traveasy — https://m.facebook.com/groups/313087542449350?view=permalink&id=468743473550422
Doktersiaga — https://www.facebook.com/groups/DevCJakarta/permalink/468747403550029/
Vigibot — https://m.facebook.com/groups/313087542449350?view=permalink&id=468722373552532
Educare — https://m.facebook.com/groups/313087542449350?view=permalink&id=468721536885949
Dan pemenang best idea adalah DoktorSiaga, tim yang beranggotakan tiga orang: Fatah Iskandar Akbar, Fadelli Yahya Polosoro, dan Erwin RA.
Sedangkan ide favorit jatuh kepada tim Taninesia berdasarkan jumlah like dan komentar yang berhasil mereka kumpulkan di Facebook. Tim Taninesia sendiri, yang beranggotakan enam orang, memiliki fokus pada para petani Indonesia. Mirip dengan DoktorSiaga, Taninesia juga merupakan chatbot.
Selamat buat tim yang menang. Yang belum berhasil tetap bisa mengikuti Facebook Community Challenge 2018 yang deadline-nya tanggal 26 Juli 2018. Hadiah 30 ribu US dolar menunggu!
Sebagai informasi tambahan, produk buatan teman-teman dari bandung dengan nama BurhanBot berhasil mendapatkan peringkat ketiga di perhelatan yang sama di tahun lalu.
Ditunggu kehadirannya di even DeveloperCircles berikutnya dan buat teman-teman yang tertarik untuk bergabung dengan komunitas DeveloperCircles Jakarta, silakan gabung di grup kita di https://www.facebook.com/groups/DevCJakarta/.