Arifin—Instruktur RevoU | Software Architect di Mamikos

Yuk kenalan lebih dekat sama Instructor Full Stack Software Engineer, Arifin. Backend Software Architect dengan pengalaman lebih dari 8 tahun di perusahaan ternama!

Ervina Desiviola
Ervina Desiviola

Table of Contents

Setelah menjelajah waktu menyusuri seluk beluk Software Engineering di Software Engineering Career Hub,

Yuk kita kenalan sama salah satu instructor Software Engineering, Arifin! 👋

Sekilas Tentang Arifin

Selama lebih dari 8 tahun, Arifin sudah berkecimpung di dunia Software Engineering di e-commerce dan property.

Sekarang, Arifin adalah Software Architect (Backend) di Mamikos, sebuah aplikasi pencari kost di Indonesia. Ia memulai karirnya di Mamikos sejak tahun 2020.

Sebagai seorang Software Architect, ia bertanggung jawab untuk menstandarisasi backend architecture pada sistem software backend.

Ia juga memimpin Backend Software Engineers untuk menyelesaikan masalah terkait backend engineering perusahaan.

Taukah kamu?

Sejak tahun 2012, Arifin sudah memperdalam passionnya di Software Engineering dan mengajar. Ia memulai karirnya dengan menjadi Asisten Lab Programming!

Arifin juga akan membimbingmu di Software Engineering Program selama kamu belajar di RevoU!

Yuk, ngobrol bareng Arifin!


Gimana perjalanannya berkarir di Software Engineering?

Bagi saya, komputer adalah sebuah alat yang luar biasa!

Sejak pertama kali mengenal komputer waktu SMP, saya selalu tertarik untuk bisa bekerja di bidang komputer.

Setiap ada orang yang bertanya mengenai cita-cita, saya selalu menjawab “jadi programmer”. Meskipun, saat itu belum terlalu terbayang programmer itu bagaimana kerjanya.

Saat masuk ke jurusan Ilmu Komputer di Universitas Sumatera Utara (USU), saya diperkenalkan bagaimana caranya membuat program komputer.

Lagi-lagi, saya terpukau dengan hal-hal yang bisa kita lakukan dengan komputer!

It seems limitless.

Bagi saya, menjadi Software Engineer juga berarti menjadi seseorang yang mampu menguasai penggunaan komputer, sebuah alat yang luar biasa.

Awal-awal karir sebagai Backend Software Engineer di Bukalapak

Gimana keseharian Backend Software Architect di Mamikos?

Setiap software yang dibangun pasti memiliki technical debt (tech debt)*.

Baik yang berasal dari keputusan-keputusan buruk di masa lalu maupun kebutuhan-kebutuhan baru yang datang dari berubahnya requirement bisnis dan landscape teknologi.

*) Technical debt adalah "utang" yang muncul saat developer memprioritaskan untuk merilis sebuah project daripada menyempurnakan proses coding-nya.

Alhasil, proses ini membuat project harus direstrukturisasi kode (refactoring) tanpa mengganggu fungsi utamanya.

Sebagai seorang Software Architect, salah satu hal yang menjadi fokus saya adalah untuk memimpin Backend Engineers menyelesaikan tech debt tersebut.

Meeting bersama Backend Engineer Mamikos

Tidak berhenti sampai di situ tentunya.

Kebutuhan bisnis dan teknologi yang berevolusi dari waktu ke waktu juga sering kali meminta kita untuk bisa beradaptasi.

Sebagai seorang Backend Software Architect, hari-hari saya juga dipenuhi dengan internal research, mengevaluasi situasi engineering perusahaan saat ini dan merumuskan masalah yang perlu diselesaikan untuk memastikan sistem kita bisa memenuhi kebutuhan bisnis.

Presentasi trend Backend Engineering Mamikos

Apa tantangan terbesar Software Engineer di Property Management?

Saat pertama join di Mamikos, ada begitu banyak PR yang harus diselesaikan dari sisi backend.

Salah satu yang paling krusial adalah slow query.

Dampak dari slow query terhadap backend system tentunya sangat besar. Mulai dari fitur yang berjalan lambat sampai database server yang bisa menjadi down.

Masalah ini terjadi karena di masa-masa awal sistem Mamikos dibangun oleh para programmer yang tidak memiliki pengalaman membangun sistem yang akan diakses oleh ribuan orang dalam waktu yang bersamaan. Sehingga mereka tidak memiliki awareness tentang performance dan limitasi sistem.

Tantangannya adalah bagaimana menumbuhkan kesadaran dan pemahaman semua Backend Engineers tentang penggunaan database yang optimal.

Salah satunya adalah dengan memiliki metric yang jelas mengenai situasi sistem backend kita.

Mulai dari system monitoring, query monitoring, dan lain-lain. Sehingga kita bisa punya guidance tentang bagian sistem yang mana yang paling penting untuk diperbaiki.

Mitos/Miskonsepsi Software Engineer?

Software engineering is all about writing code.

Menulis kode program bukan satu-satunya hal yang dikerjakan oleh Software Engineer.

Faktanya, lebih dari 50% waktu seorang Software Engineer dihabiskan untuk memahami requirement, berdiskusi, merencanakan implementasi, dan membaca dokumentasi.

Menulis kode program sebenarnya hanyalah fase akhir dari perjalanan tersebut yang dilakukan berulang-ulang dari waktu ke waktu.

3 Hal yang kamu harap bisa dipelajari di awal karir Software Engineer?

#1 Master your tools

Pekerjaan apapun membutuhkan peralatan-peralatan untuk menyelesaikannya, tidak terkecuali Software Engineering.

Penting bagi seorang Software Engineer untuk menguasai penggunaan alat-alat di dalam pekerjaannya seperti text editor, project version management, dan lain sebagainya.

#2 Master your tech stack

Selanjutnya adalah memfokuskan diri untuk menguasai tech-stack yang digunakan di dalam perusahaan, daripada randomly reading/learning everything from the internet.

Kuasai hal-hal yang paling relevan dengan apa yang kamu kerjakan di perusahaan.

#3 Interpersonal relationship matters

Demonstrasi integrasi API di BukaTalks, 2017

Komunikasi itu penting saat bekerja di dalam tim.

Yang dibahas juga tentunya tidak melulu soal kerjaan saja.

Untuk bisa bertahan dalam waktu yang lama di dalam pekerjaan kita, hal-hal menyenangkan juga penting untuk dilakukan bersama tim yang mana kita bekerja dengan mereka setiap hari.

Resources Software Engineer supaya up-to-date?

Salah satu buku yang saya rekomendasikan untuk siapapun yang ingin menjalani karir sebagai Software Engineer adalah Clean Code by Robert Cecil Martin.

Selebihnya, saya sarankan untuk mempelajari dan menguasai dengan baik tech-stack apapun yang nantinya digunakan oleh perusahaan di tempat bekerja.

Carilah buku atau online course yang bisa membahas teknologi nya secara keseluruhan, tidak hanya di permukaan.

Understanding the tech stack deeply will make you stand out among the others.

Cek juga sumber belajar Software Engineering lainnya di sini.

Good Software Engineer vs Great Software Engineer?

Software Engineer hebat yang pernah saya temui tidak hanya “menulis kode” dalam menjalani pekerjaannya.

Tapi mereka juga..

#1 Selalu melibatkan diri dalam setiap pembahasan requirement, memberi saran dan mempertanyakan segala sesuatu yang dirasa kurang jelas

Memastikan apa yang akan mereka buat “does makes sense”.

Jika ada requirement yang dirasa tidak punya reasoning yang kuat, mereka akan memastikan bahwa hal tersebut masuk akal sebelum lanjut ke implementasi.

#2 Membuat tech doc

Mulai dari awal planning sampai ke implementasi akhir.

Menyajikan berbagai reasoning mengapa keputusan tertentu dibuat, dan mendokumentasikan hal-hal yang lain yang dirasa perlu.

Sehingga semua orang yang terlibat di dalam project-nya baik hari ini maupun di masa mendatang bisa memiliki referensi teknikal.

#3 Belajar di waktu luang

Biasanya, mereka juga meluangkan waktu untuk mempelajari dengan baik semua teknologi yang digunakan di dalam pekerjaan mereka.

Sehingga sering kali mereka memberi saran-saran yang sangat bagus dalam berbagai kesempatan.

Apa tips praktis untuk yang tertarik berkarir di Software Engineering?

Selain menyenangkan, project-project tersebut tentunya juga bisa kalian jadikan sebagai salah satu “senjata” di portofolio, terutama untuk yang baru memulai karir di Software Engineering.

Ditambah dengan mengambil intensive course di Revou, kamu akan punya bekal lengkap untuk perjalanan karir! 🚀


Setelah baca ceritanya Arifin, kamu makin tertarik jadi Software Engineer?

Tenang, RevoU bisa bantuin kamu!

Di Full Stack Software Engineering RevoU, kamu akan belajar Software Engineering dari nol dan terstruktur.

Diajarin sama para expert seperti Arifin dan instructor lainnya, sampai bisa berkarir jadi Software Engineer dalam 9 bulan!

Cara Kerja RevoU:

Kelas online dan interaktif, setiap Senin-Kamis (19.00-21.00 WIB) dan Sabtu (13.00-15.00 WIB) selama 6 bulan

Belajar dari instruktur terbaik di industri (seperti Akbar)

Pembinaan karir yang dipersonalisasi dengan sesi mentorship 1:1 melalui RevoU Next

Tergabung dalam komunitas untuk networking dan pengembangan karir

Job Guarantee up to 100%. Jika kamu sedang mencari pekerjaan dan tidak mendapatkannya di akhir program, kursus ini GRATIS!

Siap jadi Software Engineer bareng RevoU?

Yuk, daftarkan dirimu di RevoU Full Stack Software Engineering dan cek jadwal course mendatang di sini! 🚀

Instruktur

Ervina Desiviola

Ervina is a Content Writer Executive at RevoU. She loves to share some stories through writings. Drowning in thousands of books by developing Fierofea Books (NGO for book donations in Indonesia)!