TipTech #2: Membangun Arsitektur Aplikasi “Scalable” ala Tim Pengembang Ovo

TipTech adalah rubrik baru DailySocial yang membahas berbagai kiat dalam pengembangan produk atau aplikasi startup. Setelah sebelumnya membahas tentang siklus pengembangan produk, kali ini kami berkesempatan untuk berbincang dengan Chief Product Officer Ovo Albert Lucius tentang arsitektur aplikasi yang scalable.

Tujuan dari pengembangan aplikasi yang scalable adalah menunjang pertumbuhan bisnis berkelanjutan. Ketika pengguna layanan semakin bertambah –kadang lonjakannya bisa sangat signifikan—harapannya produk tidak turun performa, misalnya aksesnya jadi lambat atau bahkan mati. Untuk itu diperlukan perencanaan arsitektur sistem yang matang.

Sejak debut pada tahun 2017 sebagai platform loyalty, lalu bertransformasi menjadi e-wallet, hingga sekarang punya basis pengguna mencapai lebih dari 100 juta pengguna; Ovo punya cerita menarik dari dapur pengembang. Saat ini layanan Ovo juga sudah terintegrasi ke banyak platform lain yang memiliki arus transaksi besar –sebut saja Tokopedia dan Grab.

Kepada Albert kami menanyakan tentang bagaimana arsitektur sistem yang baik untuk sebuah aplikasi mobile.

“Menurut kami, dengan cepatnya pertumbuhan secara umum, sangat penting aplikasi bersifat modular dan menggunakan sistem feature flag. Karena akan  banyak komponen aplikasi yang dibuat oleh berbagai tim. Jika sistemnya bersifat monolith, maka akan memperlambat laju pengembangan.”

Dengan pendekatan modular, di dalam sebuah aplikasi terdapat kumpulan unit fungsional (disebut: modul) yang dapat diintegrasikan untuk menjadi aplikasi yang lebih besar. Modul aplikasi tersebut dapat dianalogikan sebagai aplikasi kecil di dalam aplikasi yang dapat diambil, dipasang, atau dikonfigurasi kembali ke aplikasi lain. Modul-modul tersebut terbungkus dalam logika bisnis program yang direpresentasikan dalam antarmuka pengguna.

Sementara konsep feature flag penting diterapkan, sehingga memungkinkan pengembang membatasi/menonaktifkan beberapa fitur saat terjadi masalah, tanpa mematikan fungsi aplikasi secara keseluruhan.

Albert Lucius
Chief Product Officer Ovo Albert Lucius / Ovo

Kiat integrasi aplikasi

Selain mempertimbangkan dua hal di atas, Albert juga menyampaikan tentang konsiderasi pembagian aplikasi native dan webview untuk menjaga performa aplikasi.  Hal tersebut akan berdampak pada ukuran APK dari tiap aplikasi. Menurutnya ini jadi faktor penting, terlebih saat startup terus beranjak mencapai skala yang lebih besar.

Aplikasi native dibangun dengan bahasa pemrograman tertentu yang menyatu dengan core aplikasi. Sementara aplikasi webview memanfaatkan fungsionalitas penampil laman web di dalam aplikasi tanpa harus memaksa pengguna membuka browser terpisah.

Di lain sisi, integrasi dengan pihak ketiga juga menjadi hal yang butuh diperhitungkan secara teknis untuk aplikasi seperti Ovo. Albert menyebutkan, keamanan pengguna menjadi prioritas utama bagi perusahaan ketika melakukan integrasi. Selain proses internal dan disiplin terhadap SOP, ia selalu menyarankan untuk melakukan penetration testing (pen-testing) eksternal. Banyak sekali saat ini vendor lokal maupun luar negeri yang dapat membantu proses ini.

Pen-testing adalah kegiatan menyimulasikan serangan terhadap sistem aplikasi. Ini jadi komponen penting dalam audit keamanan, biasanya wajib dilakukan untuk aplikasi yang menampung data sensitif, agar tidak mudah dibobol atau diintervensi oleh pihak yang tidak bertanggungjawab –baik dari internal maupun eksternal.

pen-testing
Tahapan dalam pen-testing / Imperva

“Program bug bounty juga dapat membantu menyalurkan laporan bugs yang mungkin tidak terdeteksi oleh proses internal. Peningkatan kualitas layanan dan sistem keamanan (di sisi aplikasi kita) juga jadi faktor penting untuk kenyamanan pengguna,” terang Albert.

Pengelolaan sumber daya

Infrastruktur teknologi yang baik juga harus ditangani oleh SDM yang mumpuni untuk menghasilkan performa terbaik. Untuk mengelola pekerjaannya, juga diperlukan metodologi yang tepat. Namun menurut Albert, di perusahaannya tidak terpaku pada tren yang sedang menjadi sorotan, kesesuaian dengan karakteristik tim menjadi pertimbangan utama.

“Sangat penting untuk kami dalam merekrut tim yang betul-betul paham scaling infrastruktur secara baik dan benar.”

Setiap pengembang juga dituntut untuk menghasilkan baris konde yang berkualitas. Menurutnya ada tiga indikator yang dapat menggambarkan susunan pemrograman yang efisien, yakni sistem repositori yang memadai, konsep best coding practice, dan code reveiw yang solid. Best coding practice menjadi aturan informal yang harus sering diutarakan melalui sebuah standar yang diterapkan di perusahaan, dilengkapi dengan pelatihan yang memadai.

“Sistem code review juga sangat penting karena sedikit banyak SDM mudah membuat kesalahan. Oleh karena itu untuk startup yang sedang berkembang, jangan lupa untuk melakukan automated testing dan unit testing. Hal ini dikarenakan semakin membesarnya skala startup, semakin banyak developer yang bekerja di code repository kita, semakin banyak kesalahan dapat terjadi. Automated testing akan sangat membantu mengurangi human-error yang dapat terjadi,” jelas Albert.

Application Information Will Show Up Here

MIDC 2019: Ajang Kumpul Developer untuk Xiaomi, Mi Apps Berubah jadi GetApps

Semenjak kehadirannya pertama kali di Indonesia, Xiaomi selalu mengadopsi konten lokal untuk dihadirkan pada setiap perangkatnya. Kali ini, Xiaomi mengumpulkan para developer, khususnya di Indonesia, untuk berkontribusi membuat aplikasi. Oleh karena itu, Xiaomi pun mengumpulkan para developer dalam sebuah acara konferensi yang diadakan di Jakarta.

Acara tersebut bernama Mi Developer Conference 2019 (MIDC 2019), yang merupakan kedua kalinya mereka adakan di Indonesia. Cukup banyak developer-developer yang datang pada acara yang dihelat pada tanggal 4 September 2019 di Ballroom hotel Ayana Midplaza. Bahkan, orang-orang yang berasal dari vendor smartphone lain pun juga datang ke acara ini.

MIDC 2019

Sayangnya, pada saat MIDC dihelat, sesi untuk media hanyalah satu jam pertama. Sesi selanjutnya merupakan acara tertutup untuk para developer.

Pada acara tersebut, terungkap bahwa pengguna MIUI, antar muka yang digunakan pada hampir setiap perangkat Xiaomi, memiliki 279 juta pengguna aktif di seluruh dunia. Untuk Indonesia sendiri, MIUI memiliki lebih dari 24 juta pengguna aktif.

Xiaomi pun juga melakukan lokalisasi untuk aplikasi-aplikasi yang mereka miliki. Misalnya saja berita-berita pada browser dan juga aplikasi Mi Video. Tema juga menjadi satu hal yang mereka kedepankan untuk melakukan lokalisasi produk mereka.

Berbicara mengenai aplikasi, pada saat yang sama pula, Xiaomi mengganti nama toko aplikasi mereka. Saat ini, kemungkinan besar pengguna Xiaomi tidak akan lagi menemukan aplikasi yang bernama Mi Apps. Hal itu dikarenakan Mi Apps sudah berubah nama menjadi GetApps.

Getapps

Selain mengubah namanya, tampilan antar muka dari GetApps juga diubah. Hal tersebut dikarenakan semenjak Mei 2012, aplikasi ini sudah banyak digunakan. Sudah ada 220 miliar aplikasi yang telah didistribusikan oleh Mi App Store ke pengguna di seluruh dunia. Menurut Ivone Li, kepala GetApps, jumlah pengguna aktif toko aplikasi Xiaomi tersebut sudah ada 150 juta di lima negara utama.

Lima negara yang dimaksud oleh Ivone secara berurutan adalah Tiongkok, India, Indonesia, Rusia, dan Spanyol. Pengguna Getapps harian di Indonesia sendiri mencapai 1,7 juta orang dan jumlah itu naik 170% dari tahun sebelumnya.

Xiaomi pun menjanjikan pengalaman yang lebih baik buat para penggunanya. Hal ini dibuktikan dengan membagikan aplikasi berdasarkan kategori. Peringkat daftar aplikasi pun juga dibuat pada aplikasi Xiaomi tersebut. Ivone juga menjanjikan bahwa GetApps akan lebih simple, mulus, dan lebih baik dari sebelumnya.

Peringkat turun

Setelah sesi media selesai, kami pun mengadakan wawancara kepada salah satu perwakilan Xiaomi yang, sayangnya, tidak mau disebutkan namanya. Satu hal yang cukup menggelitik adalah peringkat Xiaomi yang kini turun. Bahkan menurut laporan IDC, pada kuartal kedua 2019 Xiaomi turun ke peringkat ke empat.

Perwakilan tersebut pun mengakui bahwa pihaknya memang tidak seagresif seperti sebelumnya. Pada kuartal pertama dan kedua, Xiaomi cukup berhati-hati dalam menentukan langkah mereka karena adanya perubahan internal. Mereka pun sedang menyiapkan strategi untuk melakukan efisiensi dan membawa produk lebih banyak lagi.

ASUS Berikan Zenfone 6 ke Developer, Google Camera Mod pun Muncul!

Smartphone buatan ASUS mungkin bukan yang pertama dilirik para developer pihak ketiga. Hal tersebut terbukti dengan minimnya sistem operasi pihak ketiga seperti Lineage OS yang dapat ditemukan untuk vendor smartphone dari Taiwan ini. Harga, spesifikasi, dan ketersediaannya mungkin menjadi sebuah masalah utama.

Tahun lalu, ASUS meluncurkan ASUS Zenfone Max Pro M1 dengan spesifikasi yang cukup tinggi namun memiliki harga yang sangat terjangkau. Smartphone yang satu ini pun seperti menjadi sebuah titik balik para developer untuk menggarap ekosistem dari ASUS. Saya merupakan salah satu orang yang pertama kali dihubungi oleh beberapa developer asal India untuk mencoba melakukan pembukaan bootloader.

Asus ZenFone 6

Percobaan tersebut gagal, namun developer-developer tersebut tidak pantang menyerah, sehingga seminggu setelah peluncuran perangkat tersebut, bootloader pun mudah terbuka. Selain itu, metode root juga mulai terbuka, sehingga modifikasi pun mulai dapat dilakukan. Salah satu yang paling digemari oleh para pengguna Max Pro M1 adalah penggunaan Google Camera Mod.

Modifikasi Google Camera yang dicanangkan oleh BSG ini membuat kualitas gambar hasil kamera Max Pro M1 pun menjadi sangat baik. Setelah itu, muncul beberapa hasil developer berupa sistem operasi pihak ketiga dan bahkan modifikasi Google Cam tanpa root. Sayangnya, hal tersebut tidak berlaku bagi flagship mereka seperti Zenfone 5 dan 5z.

Asus ZenFone 6 / Asus

Saat ini, ASUS ternyata sudah mengirimkan unit Zenfone 6 kepada para developer. Hal tersebut dilakukan dengan bekerja sama melalui salah satu portal developer untuk smartphone Android, XDA-Developers. ASUS pun meminta mereka untuk merekomendasikan siapa saja yang bisa dimasukkan ke dalam sebuah program percobaan. ASUS juga langsung mengeluarkan source code Zenfone 6 yang bisa langsung diolah oleh para developer.

Salah satu developer yang dianjurkan oleh XDA adalah Arnova8G2. Developer yang satu ini sudah sangat terkenal dalam modifikasi Google Camera. Arnova juga sering memberikan beberapa perbaikan agar aplikasi Google Camera Mod dapat dijalankan pada beberapa perangkat.

Google Camera 6

Baru-baru ini, aplikasi Google Camera buatan Arnova8G2 pun muncul. Salah satu log perubahan yang ditulis adalah kompatibilitas dengan smartphone Zenfone 6. Tentunya, hal ini erat kaitannya dengan pemberian unit Zenfone 6 tersebut.

Aplikasi tersebut saat ini sudah mendukung resolusi 48 MP yang ada pada beberapa kamera smartphone saat ini, termasuk Zenfone 6. Selain itu, fitur standar dari Google Cam seperti HDR+ Enhanced, RAW, mode Portrait, Video, Photobooth, Timelapse, serta Night Sight juga sudah berjalan dengan lancar. Dan tentunya, kemampuan kamera untuk berputar menjadi pengambil gambar swafoto juga sudah didukung.

Celso

Hal ini tentunya menjadi sebuah kabar gembira bagi para calon pengguna Zenfone. Walaupun begitu, Zenfone 6 belum bisa ditemui di regional Asia untuk beberapa waktu ini. Kabarnya, ASUS masih bakal menjual Zenfone 6 untuk kawasan Eropa terlebih dahulu.

Sumber: XDA Developer

DStour #67: Mengunjungi Kantor Pengembang Aplikasi Mobile Icehouse

Dalam edisi #DStour kali ini, DailySocial mengunjungi kantor pengembang aplikasi mobile Icehouse yang telah mendapatkan sertfikasi khusus dari Google. Mengedepankan konsep kantor dengan desain “collaboration”, kantor tersebut dilengkapi dengan phone booth room, meeting room hingga area permainan untuk pegawai. Terletak di kawasan pusat bisnis Jakarta, berikut liputan kami bersama Country Manager Icehouse Nathan Greeff.

Digiro.in Rilis API, Mungkinkan Pengembang Buat Layanan Pembayarannya Sendiri

Digiro.in merupakan platform yang memungkinkan siapa saja mengembangkan aplikasi pembayaran. CEO Corechain (pengembang Digiro.in) Adryan Malindra menginfokan layanannya kini telah merilis API yang bisa dimanfaatkan developer.

Mengingat Digiro.in bisa dibilang proyek blockchain yang dikembangkan dengan Pos Indonesia, hal itu pula yang akhirnya membedakannya dengan platform payment gateway yang sudah ada. Setiap kali pengguna mendaftar Digiro.in, maka akan mendapatkan akun giro Pos.

Giro dapat didefinisikan sebagai sebuah “surat perintah” pemindahbukuan sejumlah uang dari rekening seseorang ke rekening orang lain. Proses bisnis tersebut yang akhirnya coba diterapkan melalui sistem blockchain oleh Digiro.in.

“Sebenarnya perbedaan dengan payment gateway adalah tiap akun akan diberikan akun giro Pos. Kalau pemilik akun ke kantor Pos mereka bisa langsung (mengambil uang dengan) menyebutkan akun gironya,” ujar Adryan.

Saat ini API Digiro.in dapat mengakomodasi berbagai macam transaksi, mulai dari pembuatan token, pendaftaran akun, cash in/out, cek saldo, transfer giro ke giro, histori dan lain-lain. API tersebut dapat diintegrasikan dengan berbagai bahasa pemrograman, mulai dari Node.js, Java, Python, PHP hingga Objective-C.

API Digiro.in
Gambaran API Digiro.in untuk pemrograman PHP

Bagaimana sistem blockchain bekerja?

Teknologi blockchain dimanfaatkan untuk pencatatan transaksi. Dalam blockchain, transaksi dari sebuah platform akan dicatat dalam buku besar yang tersimpan dan didistribusikan di seluruh jaringan.

“Nantinya setiap merchant bisa membuat smart contract dengan merchant lainnya. Sehingga tiap pemilik akun (dengan giro) bisa bertransaksi dengan rekanan ainnya. Secara mendasar platform ini programmable, jadi bisa dibangun servis di atasnya,” lanjut Adryan.

Ia turut menyampaikan, Digiro.in saat ini mencoba menargetkan layanan ke pengembang aplikasi. Tujuannya agar mereka dapat leluasa membangun layanan pembayarannya sendiri, tanpa mengikuti aturan payment provider.

Platform Digiro.in saat ini terbagi ke dalam dua kelas, yakni Early Startups dan Enterprise. Pembedanya pada batasan akses dari fitur-fitur yang disediakan.

“Tahun 2019 kami melakukan test market dan harapannya bisa dilanjutkan dengan pengembangan produk sampai seamless. Kami juga menargetkan punya on-board product yang bisa memudahkan integrasi bisnis ke bisnis,” tutup Adryan.

Application Information Will Show Up Here

Epic Games Luncurkan Platform Distribusi Digital Pesaing Steam

Bagi kalangan kasual, Epic Games terkenal lewat permainan battle royale populer, Fortnite. Tapi menelusuri perjalanannya di ranah gaming, Epic Games merupakan salah satu developer berpengalaman yang punya andil besar di industri – terutama melalui pengembangan Unreal Engine. Umur studio asal North Carolina itu bahkan lebih tua dari Valve Corp.

Sejauh ini, Epic Games dan Valve punya khalayaknya sendiri dan berbisnis tanpa berkompetisi langsung. Namun boleh jadi, dalam waktu dekat keduanya akan mulai bersaing. Di minggu ini, diketahui bahwa tim di belakang seri Gears of War itu punya agenda untuk meluncurkan platform distribusi pesaing Steam. Namanya cukup sederhana, tapi terdengar catchy di telinga: Epic Games Store.

CEO Tim Sweeney menjelaskan bahwa mereka sudah lama ingin menggarap platform yang dapat menyambungkan tim Epic Games dengan para pemain. Awalnya, mereka bereksperimen lewat Fortnite – permainan ini tidak ada di Steam, hanya bisa diakses melalui software milik Epic Games. Sweeney bilang, percobaan tersebut berhasil dan berkeinginan untuk membuka gerbangnya bagi developer lain.

Ketika Valve menerapkan pembagian keuntungan 30 banding 70, Epic Games Store menawarkan angka yang lebih menggoda buat studio third-party: mereka hanya meminta komisi 12 persen, dan sisanya diterima oleh sang pencipta permainan. Epic Games berencana untuk meluncurkan platform ini secara ‘perlahan-lahan’, dengan koleksi game yang tak terlalu banyak dan mereka pilih sendiri.

Epic Games Store 1

Penambahan jumlah game akan terus dilakukan di tahun 2019, hingga nanti saat Epic Games merasa yakin mereka tak perlu lagi melakukan kurasi. Tiap permainan yang dijual di sana tetap harus mendapatkan persetujuan sang penyedia layanan, namun mereka hanya akan melakukan penakaran dari sisi teknis dan bukan berdasarkan konten – kecuali pada permainan-permainan bertema dewasa.

Dengan kemudahan akses serta jumlah pengguna yang sangat banyak, Steam memang terlihat berada di atas angin. Belum lama ini, Valve juga mengungkap rencana buat mengurangi persentase imbalan dari 30:70 jadi 25 persen. Kemudian mereka hanya mengambil 20 persen dari tiap penjualan game senilai  US$ 50 juta. Lewat langkah ini, Valve tampaknya ingin menjaga agar publisher blockbuster tidak menarik diri dari Steam.

Menariknya, Tim Sweeney sempat bilang bahwa mereka tidak berkeinginan untuk berduel dengan Steam. Epic Games hanya ingin ‘memberikan penawaran terbaik bagi developer serta memperluas kesempatan pencipta konten buat berkreasi’. Epic Games Store akan dapat diakses di tanggal 6 Desember besok, ditandai oleh dilangsungkannya The Game Awards 2018.

Itu berarti, Epic Games resmi mengikuti jejak Electronic Arts dan Activision-Blizzard dalam menyediakan platform distribusinya sendiri.

Sumber: UnrealEngine.com. Tambahan: VentureBeat.

Cara Grab dan Go-Jek Mendapatkan Talenta Engineer Terbaik

Grab dan Go-Jek saat ini tengah dalam upaya untuk menjadi super app. Keduanya mulai melengkapi aplikasi dengan berbagai layanan untuk keperluan sehari-hari. Di balik itu semua, tentu ada tim engineer solid dan berkualitas. Lebih jelasnya, kami telah merangkum kiat mereka dalam menemukan talenta engineer berkualitas untuk mendukung pengembangan produk.

Kemampuan teknis

Go-Jek dan Grab sama-sama tergolong sebagai startup ternama. Keduanya bisa menghasilkan jutaan permintaan per harinya. Dibutuhkan tim dengan kemampuan teknis mumpuni untuk menangani hal tersebut. Demikian pula para kandidat yang ingin bergabung dengan Grab dan Go-Jek. Sama-sama harus memiliki kualitas teknis yang baik.

Dalam sebuah tulisan di sebuah blog resmi Grab disebutkan bahwa mereka mencari talenta yang sesuai dengan standar teknis yang cukup tinggi. Beberapa standar yang mereka terapkan antara lain: kemampuan untuk menghasilkan kode yang berkualitas, bersih, mudah di baca dan debuggable.

Selain itu untuk tim engineer Grab juga fokus mencari talenta tidak terlalu over analysis dan mudah terjebak sebuah permasalahan. Termasuk juga kemampuan untuk membuat kode bisa dikembangkan dari waktu ke waktu dengan mudah dan terukur.

Sementara Go-Jek menempatkan tiga buah “seleksi teknikal” dalam prosesnya, yakni assignment review, code pairing, dan technical interview. Ketiganya dilakukan bertahap secara runut untuk mengetahui dengan pasti kemampuan teknis setiap kandidat dan kemampuan mereka bisa menyatu dalam tim.

Tahapan code pairing adalah tahapan yang menghasilkan banyak insight. Selain melihat bagaimana kandidat menyelesaikan masalah, melalui tahapan ini kandidat juga akan dilihat mengenai cara mereka menulis kode (coding style) dan pendekatan kandidat dan sebuah masalah (problem solving). Kemudian semuanya akan diperjelas di tahapan technical interview.

Menyesuaikan kultur

Kemampuan kandidat untuk bisa menyesuaikan dengan kultur perusahaan sangat penting. Hal tersebut wajib dimiliki oleh semua kandidat, Grab dan Go-Jek memiliki pertimbangan spesial bagi mereka yang sesuai dengan kultur perusahaan.

Di Go-Jek misalnya, mereka menyebutkan setiap kandidat engineer harus berbicara dengan jajaran petinggi Go-Jek, salah satunya Ajey Gore.

“Percakapan akan berkisar pada aspirasi dan harapan Anda dari Go-Jek, serta harapan kami [Go-Jek] dari Anda,” tulis Go-Jek.

Hal senada juga dilakukan oleh Grab. Bahkan Grab membagikan pola dasar mereka dalam merekrut engineer terbaik. Pertama soal technical fit dan cultural fit, yang kedua pencarian engineer “paling cerdas” (mengacu pada kemampuan belajar dan menyelesaikan masalah) dan “Knowing-Asking-Learning” engineer.

Dengan penjelasan-penjelasan di atas dapat disimpulkan bahwa Go-Jek dan Grab sama-sama tidak hanya mencari mereka yang mampu secara teknis, tetapi mereka yang bisa menyesuaikan dengan budaya bisnis dan yang paling penting, keduanya mencari engineer yang bisa berkembang dan menyelesaikan masalah rumit dengan cara yang sederhana.

Sumber : Engineering Grab dan Engineering Go-Jek

Application Information Will Show Up Here
Application Information Will Show Up Here

Yang Perlu Diperhatikan Startup Indonesia Saat Merekrut Pengembang

Untuk meluncurkan produk digital yang berdaya guna tinggi dengan kapabilitas baik, startup digital perlu memiliki susunan tim kuat yang berisi developer atau pengembang perangkat lunak. Fakta di lapanga menunjukkan, sulit sekali untuk bisnis menemukan talenta developer berkualifikasi tinggi untuk mengakselerasi pengembangan produk.

Ada dua alasan utama yang melandasi hal ini. Pertama stoknya memang tidak banyak dan mereka harus bersaing dengan perusahaan besar yang terus merekrut talenta developer. Kedua, startup pemula yang ingin merekrut developer perlu memikirkan banyak aspek, salah satunya terkait fee yang harus diberikan.

Sebenarnya sebagai startup ada beberapa hal yang bisa diandalkan dalam merekrut developer. Dalam sebuah survei yang dilakukan HackerRank, ditemukan data menarik berkaitan dengan apa yang menjadi prioritas seorang developer ketika mencari pekerjaan. Di posisi pertama ada “good work-life balance”, yakni tentang sebuah lingkungan kerja yang menyajikan keseimbangan (terkait dengan waktu) antara bekerja dan berkehidupan. Yang kedua ialah kesempatan untuk pengembangan dan belajar. Kompensasi atau gaji justru berada di urutan ketiga.

hackerrank survey

Startup sebagai sarana pengembangan diri

Di tahap awal, katakanlah sudah dalam seed-stage, fokus startup adalah bagaimana mematangkan produk dari pasar dan model bisnis yang telah tervalidasi. Dinamika masih akan sering terjadi, tentang fitur atau fungsionalitas sistem, sehinngga peran software developer cukup kritis di fase ini. Pasca MVP (Minimum Viable Product) digulirkan, reaksi pasar juga akan memberikan masukan terhadap pengembangan produk. Intinya developer yang direkrut mungkin tidak akan bekerja santai di fase ini.

Jika melihat kondisi di atas, jelas sekali bahwa startup bisa menawarkan ruang untuk berkembang. Selalu ada tantangan baru dan ide-ide yang selalu muncul dalam proses pengembangan di tahap awal tersebut. Terlebih jika startup juga tengah mengikuti program akselerasi, maka ruang bekerja bagi developer turut menjadi ruang belajar yang sangat baik, karena konsepnya “learning by fighting”. Justru yang sulit dijawab ialah bagaimana menyajikan ruang kerja yang seimbang, memberikan banyak keleluasaan bagi developer untuk menjalani kehidupan maupun hobinya. Cara terbaik yang bisa dilakukan ialah dengan memahami dan mengaplikasikan metodologi pengembangan yang tepat.

Menurut Risman Adnan, Direktur R&D ‎di Samsung R&D Institute Indonesia, hukum mendasar yang harus diikuti para founder dan engineer untuk menghasilkan produk berkualitas ada tiga faktor, yaitu hire great engineer (pengaruh terhadap kualitas produk 40%), set engineering culture (30%), dan commitment to the right process (30%). Saat proses pertama bisa dilalui dengan adanya ketersediaan developer dalam bisnis, maka PR-nya adalah poin kedua dan ketiga.

Kultur bukan soal teknologi, tapi soal prinsip-prinsip dasar yang menyatu dengan aktivitas keseharian tim. Bukan pula konsep teoritis, tapi mindset dan aktivitas yang dilakukan secara terus menerus. Karena ini mencakup culture of learning, engineering, communication, trust, time management dan lain-lain. Sedangkan komitmen dalam proses berpengaruh pada metodologi dan tools yang paling sesuai dengan people dan culture startup, yang dapat memfasilitasi proses mencakup fase perencanaan, analisis, desain, konstruksi, pengujian dan iterasi perbaikan.

Kultur kerja menciptakan “work life balance”

Jika digabungkan, kultur dan proses yang benar menyumbangkan persentase mayoritas (60%) dalam melahirkan produk aplikasi yang berkualitas. Dan dua faktor tersebut didesain oleh sistem kerja yang ada dalam startup itu sendiri. Faktor penentunya justru pada founder startup. Jika tengah dalam program akselerasi, kultur pengembangan ini, berkaitan dengan pemilihan metodologi, bisa didiskusikan dalam proses pendidikan yang berlangsung. Tanyakan kepada mentor yang berpengetahuan teknis jika founder tidak memiliki latar belakang pendidikan di bidang pengembangan perangkat lunak.

Mengapa metodologi penting untuk dianut dalam sebuah proses? Jika tidak memiliki proses yang sesuai, tentu produk akan menjadi carut-marut alias tidak terukur perkembangannya, dan jika tidak sesuai metodologinya bisa jadi prosesnya menjadi lebih lama.

Terkait metodologi, Co-Founder & CIO Bizzy.co.id Norman Sasono menuturkan bahwa metodologi dalam pengembangan perangkat lunak didesain untuk melayani tim. Tim dengan pola berbeda, sifat produk yang berbeda, akan membutuhkan metodologi yang berbeda pula, harus disesuaikan.

Untuk startup, menurut Norman, jangan pernah menggunakan metode waterfall, karena tidak sesuai dengan startup yang sedang dalam proses penemuan model bisnis yang tepat. Tidak sesuai dengan model pengembangan produk yang masih sering harus memperbaiki masukan dari pengguna. Sedangkan SCRUM adalah salah satu yang sesuai. SCRUM membagi bakclogs produk dalam beberapa capaian yang pendek. Beberapa capaian pertama tim harus menghasilkan MVP, kemudian berlari lagi menghasilkan rilis lainnya.

Setelah memiliki metodologi dan mengimplementasikan, lantas yang harus dilakukan founder ialah menciptakan pola kerja disiplin. Dari situ manajemen waktu akan lebih terukur, setiap proses dapat lebih terpantau, dan bagi developer pun akan mendapatkan pola kerja yang lebih baik.

Yang harus diperhatikan

Di tahap awal, dengan kondisi finansial yang harus diperhitungkan secara ketat, model talent acquisition atau “bajak-membajak talenta” bukan menjadi cara yang sehat untuk merekrut developer. Di sisi lain, startup juga membutuhkan developer berkualitas agar produknya bisa segera diluncurkan. Merekrut developer pemula atau berpengalaman sedang adalah pilihan yang biasanya diambil, lantas bagaimana cara untuk memastikan kinerjanya baik? Ada beberapa hal fundamental yang bisa diperhatikan, selain dari sisi kultur tadi di atas.

Hal tersebut adalah tuntun agar developer tersebut memiliki proses yang sistematis dalam melakukan pengembangan. Umumnya developer yang baru terjun ke dalam dunia bisnis mereka masih berpikir pragmatis ala “code first, think later”. Kebiasaan tersebut tidak bisa dibawa seutuhnya dalam pengembangan sebuah produk berbasis pangsa pasar. Sebaliknya, kecepatan kode bukanlah sesuatu yang harus selalu di urutan pertama, namun ada sebuah proses yang harus dilakukan yakni memahami konteks permasalahan untuk menghasilkan ketelitian spesifikasi dan desain.

Istilah full-stack developer juga erat dengan developer di tahap new entry, yakni mereka bekerja “serabutan”, tidak fokus pada satu permasalahan. Misalnya mereka tetap mengerjakan backend, manajemen database, hingga desain frontend. Jika benar hendak merekrut developer untuk dijadikan full-stack, disarankan untuk memilih yang berpengalaman. Namun jika dikaryakan dalam role yang spesifik, misalnya hanya untuk mendesain antarmuka aplikasi, maka bisa merekrut developer pemula.

DScussion #87: Agate dan Strateginya Mengembangkan Game Berkualitas di Indonesia

Menurunnya marketshare pengembang game lokal saat ini menjadi perhatian dari para pengembang di Indonesia. Sebagai salah satu Game Studio lokal, Agate melihat peluang pengembang game di tanah air masih sangat menjanjikan, dengan menyasar berbagai segmentasi pasar, bukan hanya B2C tapi juga B2B.

Dalam edisi DScussion terakhir di tahun 2017 ini, CEO dan Co-founder Agate Arief Widhiyasa, mengungkapkan beberapa alasan, mengapa industri game di Indonesia masih mengalami pertumbuhan yang sangat lambat, dibandingkan dengan negara lainnya.

Empat Hal yang Wajib Dicermati Pengembang Lokal

Sebagai sebuah developer hub, kehadiran Dicoding selama ini konsisten untuk menjadi wadah yang menjembatani kemampuan para pengembang lokal dengan berbagai kesempatan dan akses belajar yang lebih luas. Makin maraknya kehadiran startup di Indonesia saat ini ternyata tidak dibarengi dengan jumlah pengembang lokal yang cukup dan berkualitas baik.

Menurut CEO Dicoding Indonesia Narenda Wicaksono, ada beberapa alasan mengapa para pengembang lokal saat ini masih terbilang memiliki self learning yang rendah. Menurut Narenda, untuk menjadi pengembang yang berkualitas, kemampuan untuk menambah wawasan dan terus memperkaya pengetahuan wajib dimiliki oleh seorang pengembang.

Menurut Narenda, hal-hal penting yang wajib dicermati pengembang:

Self learning

Dari hasil wawancara dengan beberapa HR perusahaan teknologi, salah satu kelemahan pengembang tanah air adalah kemampuan self learning yang rendah. Padahal skill ini sangat penting untuk bisa bertahan di era digital berkembang dengan cepat. Mengikuti kelas akademi bisa menjadi salah satu cara untuk mengasah self learning agar memiliki pencapaian yang terencana.

Mencari Tantangan

Teknologi berkembang secepat kilat dan musuh pengembang adalah zona nyaman. Sesungguhnya sangat beruntung bila seorang pengembang memiliki manager yang selalu memberikan tantangan. Bila tidak, bisa dengan mengikuti kontes online atau hackathon yang sekarang cukup menjamur. Bekerja di startup baru juga akan memberikan adrenalin yang kurang lebih sama.

Membangun Portofolio

Puncak karir seorang pengembang adalah menjadi C level atau pemilik perusahaan teknologi. Berdasarkan hasil riset, dibutuhkan waktu minimal satu tahun untuk membangun sebuah MVP (Minimum Viable Product) yang layak. Waktu tiga tahun adalah waktu minimal yang dibutuhkan untuk membangun sebuah produk digital. Memang tidak semua pengembang memiliki bakat untuk menjadi seorang entrepreneur, tapi memiliki produk dalam bentuk “library” adalah sesuatu yang sangat mungkin untuk dicapai.

Bergabung dengan Komunitas

Seorang pengembang yang berbagi ilmu akan membuat ilmunya tersebut semakin berkembang. Bila semua pengembang dalam komunitas tersebut memiliki visi berbagi yang sama, maka komunitas akan berkembang secara positif memberikan implikasi kepada anggotanya. Piramida ekosistem akan terbentuk memberikan dampak yang masif sehingga menjadi magnet untuk employer, investor, akademi, dan pemerintah untuk ikut berkontribusi.