Programmer, bekerja dengan menggunakan sistem operasi Linux, dan sysadmin. Menulis kode untuk backend dan tooling internal, menjaga kontainer tetap berjalan di atas Debian dan Ubuntu, dan memilih tool yang sudah diuji oleh orang lain selama bertahun-tahun.
Saya memulai karier sebagai mahasiswa magang di Kantor Pelabuhan Batam. Dari sana saya belajar bahwa sistem yang baik bukan yang paling canggih, tapi yang paling bisa diandalkan saat segalanya berjalan kacau. Sekarang, setelah sepuluh tahun, saya menulis kode untuk backend, API, dan tooling internal serta menjaga infrastruktur tetap berdiri.
Saya memilih Debian untuk server, Ubuntu LTS untuk workstation, dan Docker sebagai lapisan yang menyatukan keduanya. Bahasa utama saya PHP (Laravel & Codeigniter 4), namun saya juga menulis Go dan Node.js saat tuntutan performa atau prototipe cepat mengharuskan.
Pekerjaan saya sederhana: memastikan hal-hal yang seharusnya berjalan, berjalan. Hal-hal yang seharusnya tidak pecah, tidak pecah. Dan ketika semuanya pecah, ada dokumentasi server dan runbook yang saya tulis tiga tahun lalu yang masih bisa dibaca.
Menulis kode untuk backend, API, frontend, hingga aplikasi hybrid Android. Menggunakan VS Code dan Zed sebagai editor utama, didukung oleh Ollama dan OpenCode sebagai asisten AI lokal yang berjalan di mesin sendiri. Sementara nano tetap dipakai untuk konfigurasi cepat di server.
Bagian terbesar dari pekerjaan saya bukan menulis kode baru, tapi membaca kode lama dan memutuskan apa yang harus dipertahankan, apa yang harus ditulis ulang, dan apa yang harus dihapus besok pagi.
Bekerja dengan menggunakan sistem operasi Linux setiap hari. Paham kernel parameter, cgroups v2, dan kapan harus memilih Debian daripada Ubuntu (atau sebaliknya). Mengelola jaringan dengan Mikrotik dan Pi-Hole, serta mengelola virtualisasi penuh menggunakan Proxmox dan VirtualBox untuk layanan yang tidak bisa dikontainerisasi.
Filosofi saya: sistem yang baik adalah sistem yang tidak Anda sadari ada. Tidak ada notifikasi, tidak ada pop-up, tidak ada restart mendadak. Hanya diam dan bekerja.
Menjaga kontainer tetap berdiri. Mengkonfigurasi Nginx reverse proxy, PostgreSQL di dalam volume, Gammu untuk SMS gateway, hingga game server. Mengelola mesin virtual dengan QEMU untuk lingkungan testing dan layanan legacy. On-call pukul 3 pagi, postmortem di pagi hari, hardening di sore hari.
Pekerjaan sysadmin yang baik tidak terlihat. Jika sistem diam selama berbulan-bulan dan tidak ada yang menghubungi saya di tengah malam, saya sudah melakukan pekerjaan dengan benar.
Daftar berikut bukan daftar belanja. Ini tool yang saya gunakan dalam produksi dan proyek selama satu dekade terakhir, lengkap dengan tingkat penguasaan (skala 5.0).
Mengembangkan aplikasi dashboard Jasa Raharja dan sistem pengaduan online. Bekerja sebagai fullstack developer untuk aplikasi web dan REST API, memastikan layanan publik berjalan stabil.
Mengelola server Docker, memelihara repository GitLab, dan membangun berbagai aplikasi E-Government seperti SIBABE, E-Monev, SIJAKON, hingga aplikasi mobile menggunakan Cordova. Melakukan backup server, konfigurasi database, dan menjaga dokumentasi infrastruktur tetap update.
Memulai sebagai pengembang website frontend dan backend untuk berbagai proyek e-commerce dan portal pemerintahan. Membangun portal batam.go.id, sistem E-Planning, E-Budgeting, hingga portal MPP. Juga mengerjakan proyek freelance aplikasi mobile.
Titik awal karier. Menangani infrastruktur IT dan jaringan di lingkungan pelabuhan. Belajar dasar-dasar sysadmin, networking, dan pentingnya dokumentasi di lapangan.
Masa kuliah. Belajar integrasi antara pengembangan multimedia dan infrastruktur jaringan. Fondasi pemikiran sistematis dan debugging mulai dibentuk di sini.
Cara menjalankan dua aplikasi PHP berbeda framework di satu mesin Debian menggunakan Docker dan Nginx reverse proxy tanpa konflik dependency.
Menggunakan FRP (Fast Reverse Proxy) untuk meneruskan service dari server Debian lokal di rumah ke VPS publik. Server game Minecraft, Gammu SMS gateway, dan web app Laravel semuanya bisa diakses dari luar tanpa IP publik di rumah.
Mendeploy server Minecraft dengan Docker Compose di Ubuntu LTS, lengkap dengan restart policy, RCON untuk manajemen, dan backup otomatis dunia ke volume lokal.
Mengkonfigurasi Gammu di Debian untuk berjalan sebagai service, menangani modem USB yang sering disconnect, dan meneruskan SMS masuk ke aplikasi web via webhook.
Kenapa saya memilih menjalankan Nuxt 3 sebagai frontend yang terpisah dari Express.js backend, dan bagaimana keduanya berkomunikasi via jaringan internal Docker.
Catatan menulis aplikasi mobile SIJAKON menggunakan Cordova dan Capacitor. Bagaimana mengintegrasikan backend Laravel dan menerbitkannya ke Playstore tanpa pusing.
Sebagian didapat dari postmortem yang menyakitkan di tengah malam, sebagian dari kesalahan konfigurasi yang berakibat fatal. Ini bukan teori, tapi praktik harian.
Jika sebuah aplikasi berjalan di laptop saya, ia harus berjalan persis sama di server produksi. Docker memastikan tidak ada lagi alasan "di laptop saya jalan". Konfigurasi server ditulis sebagai kode, bukan dijahit manual.
Debian stable, Ubuntu LTS, dan PHP yang sudah teruji. Saya tidak mengejar framework terbaru setiap bulan. Saya mengejar sistem yang tidak crash di tahun ketiga. Teknologi yang membosankan adalah teknologi yang bisa dipercaya.
Setup server manual hanya boleh dilakukan sekali. Setelah itu, Ansible, shell script, atau CI/CD GitLab yang mengambil alih pekerjaan berulang. Manusia lelah dan bisa salah ketik; script tidak. Backup database dan deploy aplikasi juga harus otomatis, bukan sekadar diingat.
Anda tidak bisa memperbaiki server yang tidak terpantau. Uptime Kuma memantau setiap service 24/7. Jika ada yang jatuh, saya tahu lebih dulu daripada pengguna.
Data bisa hilang karena disk rusak, salah hapus, atau ransomware. Backup harian otomatis ke volume terpisah atau server lain adalah satu-satunya hal yang menyelamatkan pekerjaan Anda. Uji restore backup itu wajib, sekali dalam tiga bulan.
Jika Anda membutuhkan jasa pengembangan aplikasi, manajemen server, atau konsultasi infrastruktur, silakan menghubungi leader project manager saya di tautan berikut.
digitasian.com