Catatan dari Geekcamp 2017

Kemarin (Sabtu, 15 Juli) saya berkesempatan menghadiri konferensi Geekcamp 2017 di Senayan City. Geekcamp adalah tech conference yang diselenggarakan oleh KMK Online dan Karir.com, siklus persisnya saya kurang tahu karena ini acara pertama yang saya kunjungi. Acara ini berisikan seminar dari para punggawa teknologi kaliber regional dan nasional serta booth-booth perusahaan teknologi.

Seperti Apa Acaranya?

Acara ini diselenggarakan hanya selama satu hari dengan jadwal full day dari pagi hingga sore. Dengan biaya Rp75.000, bersama dengan tiket acara ini saya juga mendapatkan T-shirt dan snack berupa sepotong pizza Domino's, sebuah donat Krispy Kreme, dan sebotol minuman.

Begitu masuk arena konferensi lewat lift khusus yang mengarah ke The Hall di lantai 8, saya langsung menemukan arena booth perusahaan teknologi. Jumlah booth yang mengisi tidak banyak, dapat dihitung dengan jari. Di antara booth-booth yang mengisi (yang saya ingat) ada Karir.com, Hacktiv8, Grab, dan Google Cloud Platform. Yang sedikit membingungkan saya adalah tidak adanya penunjuk jalan ke arah meja registrasi. Beruntung, ada mbak dari salah satu booth yang menunjukkan jalan ke meja registrasi di samping Studio SCTV, sayang, saya tidak sempat berkenalan.

Sesampainya di meja registrasi yang berada di samping eskalator, saya baru sadar bahwa seharusnya saya masuk lewat eskalator dari lantai 6 Senayan City. Dengan begitu, saya bisa langsung melakukan registrasi. Selesai registrasi dengan menunjukkan bukti pembelian tiket di Bukalapak, saya kemudian mengambil goodie bag dari Google Cloud. Setelahnya, saya bebas mengeksplorasi arena konferensi.

Terdapat dua stage yang bisa kita ikuti, stage utama berada di Hall dan stage kedua di Studio SCTV yang lebih kecil. Seminar di kedua stage tersebut berjalan secara paralel dari pagi hingga sore. Stage di Hall diisi oleh pembicara-pembicara undangan seperti Ditesh Gathani, Director of Engineering Grab; Simon Stürmer, CTO Kodefox; Mohan Krishnan, CTO KMK Online; Willix Halim, COO Bukalapak; dan Jim Halkyard, Cloud Consultant di Google. Sementara stage Studio SCTV diisi oleh pembicara yang mengajukan diri lewat seleksi call for speakers yang dilaksanakan beberapa waktu sebelumnya.

Topik-topik yang dibawakan di kedua stage ini sama-sama seru, sehingga saya dan beberapa teman beberapa kali bolak-balik antar-stage untuk mengikuti seminar-seminar yang berbeda. Perbedaannya mungkin di stage Hall waktu untuk setiap pembicaranya lebih panjang, sekitar 30 menit, sementara di stage Studio SCTV waktunya hanya 10 menit per pembicara.

Hal-hal yang Menarik Perhatian Saya

Yang pertama tentu pesertanya. Jumlah pesertanya cukup banyak tetapi tidak sampai penuh sesak seperti pada Tech in Asia Conference yang saya hadiri beberapa tahun silam. Yang membuat acara ini berbeda, mayoritas hadirin pada acara ini adalah profesional IT dari berbagai startup dan perusahaan. Para profesional IT ini pun datang dari berbagai tingkatan, mulai dari tingkat junior seperti saya sampai tingkat CTO. Para profesional IT ini juga tentunya berasal dari berbagai latar belakang, mulai dari front end developer, back end developer, data engineer, machine learning engineer, sampai peneliti di bidang natural language processing. Ada juga beberapa mahasiswa menjadi peserta pada acara ini. Semuanya berbaur dan bersosialisasi tanpa terasa senjang.

Kedua, para pembicaranya. Pembicara pada konferensi ini cukup menarik, karena beberapa berasal dari level regional (Asia Tenggara), sementara sebagian besar lainnya berasal dari Indonesia. Bahasan yang disuguhkan kedua kelompok pembicara tersebut sama menariknya dan sama mendalamnya, menunjukkan bahwa kompetensi profesional teknologi informasi Indonesia tidak kalah dalam kancah regional. Kemudian beberapa pembicara tersebut mewakili layanan dengan skala yang besar, sehingga sangat menarik untuk memperhatikan dinamika yang diceritakannya. Misalnya, Andreas Hadimulyono yang membawakan topik scaling pada penanganan data di Grab yang melayani pelanggan se-Asia Tenggara. Pada talk tersebut diceritakan bagaimana infrastruktur data mereka berubah begitu cepatnya untuk dapat mengejar pertumbuhan user base mereka.

Kemudian, kebanyakan talks pada konferensi ini membahas teknologi pada tingkat arsitektur, bukan pada level praktis seperti salah satu talk yang dibawakan rekan saya Mas Agung Setiawan tentang Vim. Kebanyakan membahas susunan arsitektur software mereka, bagaimana masing-masing sistem berkomunikasi, bagaimana mereka melakukan scaling, dan sebagainya. Satu hal yang saya perhatikan juga adalah bagaimana arsitektur microservices sedang trending saat ini. Rasanya semua talk yang saya hadiri, yang memaparkan arsitektur sistem selalu menyebut microservice.

Terakhir, mungkin yang paling menarik, adalah bagaimana hampir semua talk baik di stage Hall maupun Studio SCTV selalu diakhiri dengan kalimat: "We're hiring!". Menurut saya pribadi ini sedikit merusak mood konferensi, karena bagi saya harusnya acara ini benar-benar menjadi acara di mana para geek dapat memuaskan keingintahuannya tanpa diganggu urusan-urusan di luar teknologi. Tapi memang tak dapat dipungkiri bahwa itu berguna bagi para hadirin yang sedang mencari kesempatan kerja. Dari situ juga saya merasa bahwa keahlian teknologi informasi masih sangat dibutuhkan, baik di Indonesia maupun di kawasan Asia Tenggara. This is the age of the geeks, baby.

Beberapa Catatan dari Seminar yang Saya Ikuti

Berikut adalah beberapa catatan dari seminar-seminar yang saya ikuti di Geekcamp kali ini. Catatan ini bisa jadi tidak 100% akurat karena berdasarkan ingatan dan interpretasi saya atas materi yang diberikan pembicara. Oh iya, sayangnya saya hanya bisa menghadiri acara ini hingga siang dikarenakan ada agenda lain, sehingga hanya sedikit catatan yang bisa saya bagikan. Namun begitu, saya harap ini bisa bermanfaat.

The Future of Front End Engineering oleh Simon Stürmer

Simon membawa hadirin untuk menjalani napak tilas teknologi front end dari awal tumbuhnya web. Dari situ terlihat semakin berkembangnya teknologi web, fokus proses pengembangan front end aplikasi web semakin mengarah ke produktivitas, performa dan user experience, juga semakin pentingnya Javascript dalam dunia front end saat ini.

Pada inti seminar yang dibawakannya, Simon mengenalkan duo React dan React Native, di mana pemakaian keduanya dapat meningkatkan produktivitas developer dengan menawarkan unified developer experience. Artinya, front end developer dapat bekerja dalam satu environment yang serupa untuk platform web dan aplikasi native. Hal ini dicapai dengan kesamaan bahasa yang digunakan untuk mengembangkan kedua platform tersebut, yaitu Javascript. Kode Javascript yang dihasilkan React Native juga berjalan dengan performa yang mendekati aplikasi yang dikembangkan secara pure native, misalkan dengan Java pada Android. Selain itu, fitur hot reloading dalam pengembangan React Native membuat developer tidak perlu melakukan kompilasi dan instalasi ulang aplikasi di testing device saat melakukan perubahan. Fitur tersebut membuat pengalaman mengembangkan aplikasi native yang mirip dengan pengalaman mengembangkan front end sebuah aplikasi web.

Our Battle against Technical Debt oleh Ifnu Bima

Dalam seminar ini, Mas Ifnu Bima menceritakan bagaimana timnya di Blibli melawan technical debt. Techical debt atau hutang teknis adalah biaya dalam bentuk tanggung jawab 'merapikan' pekerjaan kita di kemudian hari karena kita memilih solusi mudah dan cepat, bukan solusi yang optimal.

Yang menarik, technical debt ini dapat dianalogikan dengan financial debt alias berhutang uang. Kita dapat, terutama untuk startup-startup yang mayoritas mengejar time to market, mengambil hutang teknis dengan mengimplementasikan teknologi yang mudah dan cepat demi kecepatan rilis. Layaknya hutang uang, hutang teknis ini juga memiliki bunga yang semakin lama semakin menumpuk: semakin lama hutang teknis tidak dituntaskan, akan semakin sulit di kemudian hari untuk membereskannya seiring bertumbuhnya codebase suatu sistem. Bahkan, lama kelamaan bunganya akan semakin menumpuk sampai-sampai kita harus membayar hanya bunganya saja dalam bentuk bug firefighting.

Dalam seminar ini Mas Ifnu bercerita mengenai perjalanan tim yang dipimpinnya mengelola kode front end dari web Blibli. Dulu, web Blibli sempat migrasi dari adaptif ke responsif untuk mengurangi komplikasi dalam pengembangan. Ternyata di kemudian hari seiring berkembangnya Blibli, implementasi tampilan responsif membawa masalah karena ukuran berkas-berkasnya yang semakin besar memperlambat kinerja web-nya di perangkat mobile. Kemudian kembalilah mereka ke implementasi web adaptif dengan domain m. dan www.. Berdasarkan evaluasi beliau, pengembangan web responsif seharusnya dilakukan secara mobile first, artinya membangun UI dan UX untuk perangkat mobile terlebih dahulu baru beranjak ke perangkat desktop.

Permasalahan utama akibat technical debt mereka (dan tentunya hampir semua front end developer) adalah load time yang lama. Upaya yang mereka lakukan untuk 'membayar' hutang teknis tersebut antara lain dengan implementasi single-page application (SPA) beserta server-side rendering untuk menjaga ranking SEO; memindahkan instantiasi Javascript ke akhir DOM dan membuang Javascript yang tidak digunakan; juga implementasi lazy load untuk konten di luar fokus layar pengguna, menariknya di sini beliau memaparkan bahwa timnya melakukan lazy load bukan hanya pada gambar, tetapi juga pada berkas CSS.

Building a Programming Language 101 oleh Giovanni Sakti

Saya hanya mengikuti paruh terakhir dari seminar ini. Pada seminar ini, Mas Gio menjelaskan proses pembuatan suatu bahasa pemrograman. Beliau memperlihatkan kode assembly, bahasa instruksi untuk mesin yang diperoleh dari kompilasi bahasa pemrograman tingkat tinggi (yang dapat dimengerti manusia).

Beliau memaparkan proses saat suatu teks dibaca dan dimengerti oleh mesin, yaitu proses lexicalizing-tokenizing dan proses parsing. Pada proses lexicalizing-tokenizing, kompilator mengelompokkan simbol-simbol ke dalam kelompok-kelompok tertentu, yang kemudian pada proses parsing kelompok-kelompok tersebut disusun dalam sebuah tree untuk diproses menjadi sebuah instruksi bagi komputer.

Pada akhirnya, beliau menjelaskan bahwa ilmu membangun sebuah bahasa pemrograman ini menjadi sangat berguna untuk membangun sebuah domain specific language (DSL) sesuai kebutuhan kita. Salah satu contoh DSL yang sering kita temui adalah bahasa yang kita gunakan saat menggunakan mesin pencari Google. Contohnya, saya bisa melakukan pencarian dengan kata kunci pulpen pilot site:bukalapak.com untuk mencari pulpen Pilot hanya di situs Bukalapak. Beliau sendiri saat ini sedang membangun sebuah DSL untuk otorisasi dokumen yang dapat digunakan orang awam di tempat kerjanya.

Real World DevOps - What Works and What Sure as Hell Doesn't oleh Mohan Krishnan

Dalam seminar ini, Mr. Krishnan menegaskan bahwa DevOps bukanlah sebuah titel, melainkan sebuah budaya yang perlu diimplementasikan oleh keseluruhan sebuah tim IT. DevOps menyatukan sisi developer dengan sisi operational, di mana sering terjadi clash karena developer ingin agar fiturnya cepat live di production, sementara kru operational ingin memastikan bahwa integritas server tetap terjaga dan server tidak akan down akibat kode dari developer.

Dalam seminar ini, Mr. Krishnan menjabarkan masing-masing 3 do's and don'ts, yaitu:

  • Don't rely on production priests. Jangan berikan akses production hanya ke segelintir orang (priests), karena ini akan memberikan perasaan eksklusif dan kesenjangan antar engineer.

  • Don't create silos. Jangan sampai terbentuk sekat-sekat antar tim atau bahkan antar engineer. Sekat atau silo ini dapat dalam hal informasi, pengetahuan ataupun akses terhadap resources. Jangan sampai antar tim atau engineer tidak mengetahui dan/atau tidak memiliki keinginan mengetahui pekerjaan tim/engineer lainnya.

  • Don't have ops and devs working to different goals. Jangan sampai antara developer dan operational memiliki tujuan yang berbeda, keduanya harus sevisi dan semisi. Jangan sampai keduanya memiliki KPI yang kontradiktif.

  • Do provide power and expect responsibility in return. Berikan fasilitas dan tools yang dibutuhkan oleh engineer untuk melaksanakan tugasnya. Anda pun bisa mengharapkan tanggung jawab mereka akan tugasnya akan meningkat.

  • Do constantly cross-train. Selalu dorong engineer untuk berkolaborasi. Ini akan mengurangi pembentukan silo dalam tim.

  • Do keep things simple. Automasi semua pekerjaan yang bisa di-automasi. Jaga stack selalu simpel untuk memperlandai learning curve para engineer. Kecepatan pekerjaan akan meningkatkan produktivitas.

Why Geeks Make Awesome Growth Hackers oleh Willix Halim

Dalam seminar ini, Mas Bro Willix menjabarkan bahwa pengetahuan teknologi dapat sangat mendorong usaha growth hacking. Beliau memberikan dua contoh kasus: yang pertama Hotmail, kedua Airbnb.

Pada kasus pertama, di era awal web, pendiri Hotmail berhasil menumbuhkan jumlah user mereka dengan laju 3000 user per hari, bahkan pada akhirnya mencapai 6 juta user hanya dalam hitungan bulan. Perlu diingat, ini terjadi kala pengguna internet baru sebanyak sekitar 17 juta orang!

Pencapaian itu diraih dengan trik sederhana yang diajukan oleh Tim Draper: mencantumkan teks dengan link untuk mendaftarkan akun Hotmail pada akhir setiap email yang dikirimkan user. Teks tersebut bertuliskan, "P.S. I love you. Get your free email at Hotmail". Pesan tersebut akan menetap pada email yang dikirimkan user, termasuk ketika penerimanya meneruskan email tersebut. Teks tersebut menjadi media iklan gratis bagi Hotmail.

Kasus kedua adalah Airbnb. Pada masa awalnya, untuk menarik user ke platform mereka, Airbnb membuat fitur post on Craigslist, di mana user dapat menyalin iklan Airbnb mereka ke Craigslist. Upaya ini dilakukan karena Craigslist memiliki user base yang sudah jauh lebih besar, dan terdapat target pasar Airbnb di sana. Perlu diperhatikan, kala itu (sampai sekarang) Craigslist tidak menyediakan API sama sekali untuk berkomunikasi dengan platform mereka, sehingga tim Airbnb mengandalkan metode scraping menggunakan bot untuk dapat menyalin iklan user mereka ke Craigslist.

Kedua contoh tersebut memperlihatkan bahwa kemampuan dan pengetahuan teknologi dapat sangat membantu upaya growth hacking suatu produk. Solusi seperti yang dilakukan Hotmail dan Airbnb rasanya sulit terpikirkan tanpa insight teknologi yang mumpuni.

Namun, perlu diingat bahwa terdapat law of diminishing results dalam inovasi-inovasi teknik growth hacking. Artinya, semakin lazim suatu teknik digunakan, hasilnya akan semakin tidak optimal. Katakanlah jika sekarang kita membangun layanan email baru dan kita mencontek teknik P.S. I love you yang dirintis oleh Hotmail, hasilnya tidak akan bisa sedramatis hasil yang disaksikan Hotmail.

Selain itu, Bro Willix juga memaparkan tips dan trik growth hacking yang diterapkannya di Bukalapak. Yang ditekankan utamanya dua hal: track everything dan test like crazy.

Lacak semua yang dilakukan user pada produk kita untuk dapat mengidentifikasi celah-celah yang dapat dioptimalkan. Misalnya, jika kita memiliki situs e-commerce dan banyak user yang menghentikan proses belanjanya di halaman checkout, artinya kita dapat mengoptimalkan halaman tersebut untuk meningkatkan conversion rate.

Lakukan A/B Test pada semua fitur yang kita kembangkan. A/B Test adalah pengujian hipotesis dengan cara menyuguhkan alternatif fitur berbeda kepada beberapa kumpulan sampel kemudian mengukur metrik keberhasilannya. Dengan melakukan A/B Test, kita dapat membuktikan nilai suatu fitur dengan data, bukan hanya asumsi semata. Bisa jadi ketika kita berasumsi suatu fitur yang kita kembangkan dapat meningkatkan conversion rate, yang terjadi malah sebaliknya. Jika itu terjadi, berarti kita sudah membuang-buang resource untuk mengerjakan sesuatu yang malah menurunkan performa produk kita.

Beliau kemudian menuturkan bahwa overall, semua kembali ke rumus sederhana CPA < LTV, yaitu cost per acquisition atau biaya akusisi pengguna harus selalu lebih rendah dari lifetime value pengguna tersebut. Maka dari itu Bukalapak minim menggunakan media pemasaran berbayar seperti billboard, karena selain cost-nya yang mahal, hasilnya pun sulit untuk diukur sehingga sulit untuk mengevaluasi CPA dan LTV yang dihasilkannya.


Sekian cerita yang bisa saya bagikan tentang acara Geekcamp kemarin, semoga bermanfaat! Jangan sungkan untuk meninggalkan komentar di bawah untuk kritik, saran, tanggapan maupun pertanyaan terhadap artikel ini!