My
Journey.

Perjalanan saya masuk ke dunia pemrograman dimulai bukan karena ambisi besar, tapi karena kebutuhan sederhana yang akhirnya berubah menjadi passion.

Awal Mula

Semua Berawal dari Warung

Awalnya saya tidak pernah benar-benar berniat masuk ke dunia pemrograman. Saya memang sudah suka komputer sejak SD, tapi hanya sebatas rasa penasaran dan senang mengutak-atik. Sampai akhirnya saat SMP, ayah saya meminta dibuatkan aplikasi kasir untuk warung miliknya. Di fase ini saya bahkan belum memahami fundamental pemrograman dengan benar. HTML dan CSS dasar sudah cukup familiar, tapi kalau diminta membangun sistem dari nol, saya masih kebingungan.

Belajar dari Kebutuhan

Ngoding Modal Nekat

Karena aplikasi itu benar-benar dibutuhkan, saya mulai mencari source code gratis dari GitHub dan YouTube. Saya menemukan proyek kasir berbasis Laravel 6 yang hampir sesuai kebutuhan, hanya ada beberapa fitur yang kurang. Akhirnya saya mencoba menambahkannya sendiri. Lucunya, saat itu saya belum memahami PHP, database, ORM, atau konsep backend lainnya. Bahkan sekadar mengganti teks di halaman tertentu saja saya masih bingung mencari struktur filenya. Stack Overflow menjadi "guru" utama saya saat itu. Untungnya proyek tersebut berjalan lancar karena pondasinya memang sudah dibuat orang lain, sementara saya hanya memodifikasi dan menyesuaikan.

Masa Eksplorasi

Mulai Paham Dasar Pemrograman

Saat libur kenaikan kelas dari SMP ke SMK, saya mulai belajar lebih serius. Saya mempelajari Bootstrap, PHP dasar, variable, conditional, dan logika pemrograman sederhana. Walaupun konsep seperti perulangan dan OOP masih terasa membingungkan, setidaknya saya mulai memahami bagaimana program bekerja. Ketika masuk SMK dan belajar C++, saya bisa mengikuti pelajaran dengan cukup lancar karena sudah memiliki dasar sebelumnya.

Titik Perkembangan

Proyek Inventori yang Mengubah Banyak Hal

Menurut saya, fase belajar yang paling terasa justru dimulai saat kelas 2 SMK ketika mendapat tugas membuat aplikasi inventori barang. Saya mencari template admin Bootstrap lalu mulai membangun sendiri koneksi database, query, dan seluruh logika aplikasinya menggunakan PHP procedural serta mysqli. Saat itu saya bahkan belum memahami function dengan baik, jadi banyak kode yang sebenarnya bisa dipakai ulang malah saya tulis berulang-ulang. Kalau melihat source code-nya sekarang mungkin saya akan malu sendiri karena strukturnya berantakan, tapi anehnya proyek itu justru dianggap salah satu yang terbaik oleh guru saya karena fiturnya cukup kompleks. Dari sinilah saya mulai benar-benar memahami konsep database, server, dan alur pengolahan data.

Mengenal Laravel Lebih Dalam

Pusing karena OOP

Saat kelas 3, saya punya teman yang cukup jago Laravel. Karena gengsi juga kalau tertinggal, saya mulai belajar lebih serius sambil banyak bertanya dan mengikuti tutorial dari Programmer Zaman Now. Di fase ini tantangan terbesarnya adalah memahami OOP. Konsep seperti abstract class, interface, inheritance, dan dependency injection benar-benar membuat kepala saya penuh tanda tanya. Saya sempat berpikir, "Ini sebenarnya gunanya apa?" Tapi semakin dipelajari, semuanya mulai terasa masuk akal.

Proyek Production Pertama

Website Top Up Game

Beberapa minggu setelah mulai memahami Laravel dan OOP, saya nekat membangun website top up game. Sistemnya sudah berjalan cukup serius: ada payment gateway, integrasi API pengiriman voucher otomatis, hingga transaksi real-time. Website itu bahkan sempat digunakan oleh pengguna sungguhan dan menghasilkan pembelian. Walaupun begitu, kalau dipikir sekarang arsitekturnya masih jauh dari kata baik. Banyak kode yang seharusnya bisa dibuat reusable malah ditulis ulang, belum menerapkan single source of truth dengan benar, dan struktur aplikasinya belum scalable. Tapi dari proyek itu saya belajar bagaimana membangun sistem yang benar-benar digunakan orang lain.

Pendalaman

Mulai Mengerti Arsitektur

Memasuki masa kuliah, saya terus memperdalam Laravel dan mulai memahami banyak hal yang dulu terasa rumit. Saya mulai nyaman membuat ERD, memahami Eloquent ORM secara mendalam, mengatasi N+1 query dengan eager loading, memahami service container, service provider, lifecycle Laravel, hingga konsep arsitektur aplikasi yang lebih rapi. Di titik ini saya mulai merasa cukup percaya diri di backend development.

Frontend Era

Dari jQuery ke React

Meski cukup percaya diri di backend, saya sempat minder karena frontend saya masih mentok di HTML Blade dan jQuery. Saya sempat mencoba Vue.js selama beberapa minggu, tapi entah kenapa konsepnya kurang masuk di kepala saya. Akhirnya saya mencoba React, dan justru terasa lebih cocok. Dalam waktu singkat saya mulai memahami state, re-render, props, component lifecycle, dan pola berpikir frontend modern. Walaupun awalnya pusing karena props drilling dan belum mengenal state management seperti Zustand, lama-kelamaan semuanya mulai terasa jelas setelah banyak eksperimen dan membuat proyek iseng.

Saat Ini

Laravel & React Menjadi Andalan

Dari seluruh perjalanan itu, Laravel dan React akhirnya menjadi stack utama yang paling nyaman saya gunakan hingga sekarang. Saya terbiasa membangun aplikasi fullstack menggunakan Laravel sebagai backend dan React sebagai frontend, biasanya dihubungkan menggunakan Inertia.js agar tetap terasa seamless tanpa perlu memisahkan API secara penuh. Perjalanan ini jelas tidak instan. Banyak fase kebingungan, trial and error, dan kode berantakan yang harus dilewati. Tapi justru dari proses itulah saya belajar bahwa kemampuan berkembang bukan karena langsung pintar, melainkan karena terus penasaran dan tetap mau mencoba meski sering tidak tahu sedang melakukan apa. Dunia programming memang aneh. Kadang orang bisa deploy aplikasi production sambil belum paham abstract class. Dan entah bagaimana, itu termasuk saya.