DOT Engineering 2018 Recap

2018 akan berakhir, ada banyak hal yang menarik terjadi di departemen engineering DOT Indonesia sepanjang tahun ini. Berikut ini adalah pencapaian-pencapaian berarti kami sepanjang tahun 2018.

Laravel

Yup, bisa dikatakan hampir seluruh project masih menggunakan PHP sebagai server side scripting dan Laravel sebagai framework utamanya.

Laravel sebagai standar framework yang digunakan bukan tanpa alasan. Laravel mengusung elegant syntax yang mendukung standarisasi & penerapan clean code di perusahaan serta didukung oleh ekosistem yang sangat bagus membuat Laravel mudah dipelajari oleh backend engineer DOT Indonesia.

Versi minimal yang dipakai adalah Laravel 5.5 karena bersifat Long Time Support (LTS) untuk menjaga stabilitas sistem bagi client kami.

Selamat Datang React Native

Tahun ini trend aplikasi native tergantikan dengan teknologi React Native. Setidaknya ada 2 project mobile yang dibangun menggunakan React Native. Bahkan salah satu project menggunakan Nodejs sebagai server side scripting dengan framework Restify.

Javascript sebagai salah satu development stack roadmap 2018 ini memang direncanakan di penghujung tahun 2017 dan menjadi salah satu kurikulum yang harus dipelajari oleh para sentimental engineer di DOT Indonesia khususnya untuk divisi mobile app.

Memasuki Era Kotlin

Semenjak Kotlin didukung penuh oleh Android dan stabil, Android engineer kami mulai riset dan mempelajari Kotlin sebagai bahasa pemrograman Android app mendatang.

Kini setelah lebih dari 6 bulan melakukan R&D menggunakan Kotlin, Android engineer kami siap untuk mengembangkan solusi mobile app dengan lebih baik lagi.

Migrasi ke Google Cloud Platform

Semakin meningkatnya kebutuhan infrastruktur development dan riset, kami memutuskan untuk melakukan migrasi ke Google Cloud Platform (GCP) karena memiliki banyak pilihan infrastruktur yang dapat digunakan untuk development seperti Compute Engine atau pengolahan data menggunakan BigQuery.

GCP masih memiliki banyak layanan yang belum kami jelajahi untuk kebutuhan infrastruktur, semoga 2019 bisa menjadi target baru untuk divisi DevOps kami.

CI/CD & Auto Deployment

Ada 3 jenis environment yang biasa kami gunakan untuk development & delivery yaitu Development, Staging, Production. DevOps culture kami sebelumnya untuk proses deployment adalah manual deployment di mana kami harus akses server di masing-masing environment dan melakukan deployment secara manual.

Pemanfaatan CI/CD di Gitlab belum dimaksimalkan sepenuhnya, hanya beberapa project saja yang menggunakan fasilitas CI untuk testing & build akan tetapi deployment tetap dilakukan manual.

DevOps Culture kami yang baru memungkinkan kami untuk melakukan “semi auto deployment dengan menggunakan konfigurasi ansible yang memungkinkan engineer untuk melakukan deployment melalui Gitlab tanpa harus masuk ke server.

More automation, more productivity.

DOT Gitlab Runner: Tak ada lagi kuota pipeline gitlab

Semakin banyak penggunaan fasilitas CI/CD di Gitlab membuat jatah pemakaian pipeline semakin banyak, sedangkan kuota Pipeline pada Free Plan Gitlab dibatasi. Ini mendorong kami untuk membangun Gitlab runner sendiri agar proses CI/CD dapat dilakukan di server sendiri tanpa harus bergantung pada shared runner Gitlab.

Penggunaan DOT Gitlab Runner berhasil mencegah terjadinya Pipeline Quota Exceeded, tapi efek negative nya adalah adanya antrian pada job karena menunggu job pada pipeline lain harus selesai terlebih dahulu kemudian job baru dapat dieksekusi.

Semoga di 2019 ada peningkatan infrastruktur agar DOT Gitlab Runner dapat mengeksekusi job secara paralel sehingga proses CI/CD lebih cepat.

Laravel Nova

Selama ini pengerjaan Admin Panel menjadi salah satu sektor development yang cukup banyak menghabiskan waktu dan ada bagian pengerjaan yang sifatnya repetitif.

Kami mencari solusi agar pengerjaan admin panel ini menjadi lebih optimal dengan mencari beberapa generator. Laravel voyager pernah kami implementasikan dan cukup berhasil namun terkendala dengan limitasi sistem yang cukup menyulitkan untuk kebutuhan yang lebih custom.

Hadirnya Laravel Nova di 2018 ini nampaknya menjadi salah satu solusi yang bagus untuk permasalahan ini. Laravel Nova sudah diimplementasikan di beberapa project dan sejauh ini belum ada kendala berarti dalam pengembangannya.

Single Page Application dengan Vue

Semakin kompleksnya ranah teknologi web frontend, membuat kami akhirnya memilih Vue sebagai salah satu teknologi frontend dalam membuat web SPA. Vue relatif membutuhkan learning curve yang lebih mudah dan dapat diimplementasikan di project skala kecil hingga kompleks.

Vue menjadi tantangan tersendiri jika diimplementasikan untuk project yang besar dan kompleks. Mengelola puluhan komponen dengan state management yang rumit cukup memakan waktu dalam proses development sehingga ke depannya frontend engineer kami butuh lebih banyak riset untuk menemukan best practice dalam vue development.

GraphQL: REST Alternative

Selama ini kami menggunakan arsitektur REST dalam mengimplementasikan API. Di salah satu project kami ada kebutuhan arsitektur API yang lebih dinamis sehingga GraphQL ini menjadi salah satu solusi untuk mempercepat dan memudahkan proses development.

GraphQL tidak 100% digunakan di sini. Arsitektur ini disandingkan dengan REST karena engineer kami masih belum terlalu dalam memahami teknologi tersebut, tapi walaupun begitu GraphQL ini cukup membantu mempercepat proses development.

Chat Bot Development

Salah satu project yang cukup menarik perhatian adalah adanya implementasi Chat bot sebagai fitur utamanya. Menggunakan salah satu platform chat bot buatan anak bangsa, ini menjadi tantangan tersendiri karena sifatnya yang bleeding edge dan terintegrasi dengan banyak 3rd party platform.

Masih banyak proses R&D yang perlu dilakukan semoga tahun 2019 pengalaman chat bot development ini dapat menjadi salah satu service baru di DOT Indonesia.

Agile Development Team

Development team kami sekarang lebih mature. 2018 adalah tahun kami membangun organisasi, SOP atau handbook, dan budaya kerja yang baik. Walaupun masih dalam proses awal namun impact yang dirasakan adalah tim kami memiliki awareness yang baik, lebih self-managed, dan yang jelas lebih memahami agility.

Meningkatnya jumlah tim menjadi tantangan tersendiri bagi departemen Human Resource untuk menjaga agar nilai-nilai baik yang sudah dibangun tetap terjaga bahkan harus bisa ditingkatkan.

Malang QA Community

Divisi Quality Assurance di DOT Indonesia memang baru dibentuk tahun ini, tapi semangatnya begitu luar biasa sehingga mereka berinisiatif untuk membuat komunitas Malang QA untuk bisa berbagi dan memajukan ekosistem software quality assurance di Malang.

Dengan berkolaborasi dengan QA perusahaan lain dan dukungan komunitas lokal, Malang QA Community tahun ini sukses menggelar meetup dan diskusi-diskusi menarik yang mampu menyedot banyak perhatian penggiat software development dan dari lembaga pendidikan di Malang.

Semoga tahun depan MQA bisa lebih sukses lagi.

Techinasia Conference 2018

Diadakannya Techinasia Conference 2018 tentu tidak kami sia-siakan. 5 Assistance Vice President departemen Engineering turut serta hadir untuk networking dan menimba ilmu di sana.

Keikutsertaan event seperti ini adalah salah satu langkah kami bagi para leader divisi untuk lebih bisa meningkatkan soft skill dan hard skill yang dimiliki sebagai pendukung jenjang karir yang akan dihadapi.

Sudah siapkah untuk tahun 2019?

Tahun 2019 tentu menjadi tantangan tersendiri bagi departemen Engineering DOT Indonesia. Sebagai perusahaan IT yang harus selalu berkembang, mempertahankan nilai-nilai yang baik saat ini sambil menumbuhkan nilai-nilai baru akan menjadi target kami di tahun depan.

Teknologi yang selalu berkembang akan menjadi tantangan bagi para Sentimental Engineer agar pantang menyerah dan mau selalu belajar agar mendapatkan teknologi tepat guna sehingga dapat memberikan layanan terbaik bagi pengguna.

Bagaimana dengan resolusimu?

Tertarik untuk berkembang bersama kami dan membangun software dengan development stack yang kece? Tentu kamu bisa mengirimkan CV mu ke hrd@dot-indonesia.com.

Informasi lebih lanjut tentang kami: