Skip to main content.
the journal

My (endless) journey as a developer

"Mau itu berhasil atau gagal, mudah atau sulit, senang atau sedih, suka atau engga, tetap aja di hari selanjutnya semua orang akan meneruskan usahanya, sampai tiba waktunya untuk berhenti".

    Tulisan ini adalah cerita perjalanan saya dari satu fase pengalaman ke fase pengalaman lainnya, hingga saat ini bisa menjalani profesi sebagai seorang web developer yang juga menaruh minat pada desain produk digital. Cerita lengkapnya dimulai dari sini...

    < 2010 — Jauh, jauh, di masa yang lalu

    Salah satu pengalaman paling awal bagi saya di dalam dunia pengembangan web adalah ketika saya membuat http://crossback.xtgem.com, sebuah wapsite yang proses pembuatannya saya lakukan langsung melalui handphone Sony Ericsson K510i ketika masih berseragam putih biru kala itu. Ya benar, wapsite, halaman web yang dioptimalkan untuk diakses melalui handphone, yang pada waktu itu—sebelum tahun 2010—mayoritas handphone yang beredar merupakan perangkat berbasis Symbian & proprietary OS. Setelah selesai dari wapsite, masih belum ada banyak pengalaman lainnya selain membuat halaman blog menggunakan WordPress dan Blogger ketika saya sudah berseragam putih abu-abu.

    A screenshot of the first-ever wapsite that I have built.
    — Tangkapan layar halaman wapsite saya.

    > 2015 — Lompat jauh ke masa kuliah

    Melewati jarak beberapa-tahun setelahnya, sampai lah pada fase di mana saya sudah menjadi seorang mahasiswa, tepatnya mahasiswa Sistem Informasi angkatan 2015. Semester-semester awal berlalu tanpa adanya perkembangan pengalaman yang signifikan di sisi pemrograman. Beruntungnya, saya berada di kelas yang mempertemukan saya dengan teman-teman yang memiliki keinginan besar untuk belajar, eksplorasi, mengembangkan diri, pergi ke sana-sini untuk ikut seminar & lokakarya, dan sumpah saya kangen banget dengan masa-masa itu.

    I and some of my college friends regularly attend various seminars and workshops.
    — Mengikuti berbagai kegiatan seputar teknologi bersama teman-teman kuliah.

    Dari sana lah, kemudian muncul beberapa fase pencapaian yang patut untuk saya ingat. Pertama, ketika saya bersama dengan 4 orang teman kelas, mencoba untuk membangun usaha layanan online try out yang bertujuan membantu para pelajar SMA dalam mempersiapkan diri untuk menembus ujian SBMPTN, usaha tersebut kami beri nama TadribPTN. Sebagai mahasiswa tahun pertama pada saat itu, kami belum punya banyak pengetahuan untuk membangun sebuah website yang baik, apalagi untuk bisa melayani ratusan pengunjung sekaligus dalam satu waktu.

    Akhirnya kami coba untuk menggunakan WordPress sebagai CMS (Content Management System) yang di-deploy ke sebuah layanan shared hosting, dengan saya sebagai penanggung jawabnya. Kombinasi antara shared hosting, WordPress yang dijalankan dengan beberapa plugin, dan traffic yang lumayan tinggi akhirnya berhasil menumbangkan website kami beberapa kali sampai kami memutuskan untuk meng-upgrade paket shared hosting yang kami gunakan. Dari pengalaman ini lah, saya mulai tertarik untuk menyelam lebih dalam lagi pada proses pengembangan web.

    > 2018 — Pencarian

    Melanjutkan pencapaian dari paragraf sebelumnya, sampai lah saya pada semester 7 perkuliahan di tahun 2018 yang seperti pada umumnya merupakan tahun-tahun akhir masa perkuliahan. Saya yang pada waktu itu sudah banyak mengikuti seminar, lokakarya, atau bahkan bergabung ke berbagai grup komunitas pemrograman, tetap merasa tidak punya pengalaman yang cukup untuk terjun langsung ke dalam persaingan dunia kerja sebagai seorang developer. Akhirnya saya mencoba berbagai kesempatan internship yang tersedia dan bisa saya temui dari beragam platform pencarian kerja.

    Beberapa di antaranya, saya sempat coba melamar pada posisi internship di Nodeflux sebagai Web Developer tapi tidak lolos dari tahap technical assessment yang menugaskan saya untuk membangun sebuah web app menggunakan React.js. Lalu, saya juga sempat mengikuti seleksi program BukaBeasiswa & BukaMagang dari Bukalapak, tapi lagi-lagi tidak lolos dari tahap technical test.

    Kemudian yang paling melekat di ingatan saya, pengalaman yang cukup membuat saya merasa bangga tapi sekaligus malu, rasanya benar-benar malu, adalah ketika saya mencoba mengikuti seleksi program Tokopedia DevCamp batch pertama di tahun 2018. Akhirnya di sini saya bisa lolos dari tahap online coding test, dan bisa lanjut ke tahap HR & User interview. Kesalahan saya pada waktu itu, saya belum paham kalau ternyata ada kemungkinan di mana User interview itu bisa berupa live coding test di hadapan interviewer.

    Hasilnya bisa ditebak, saya gagal total, tidak ada persiapan karena ketidaktahuan saya tentang adanya live coding test tersebut, saat itu saya tidak bisa mengerjakan soal-soal yang diberikan, yang merupakan soal-soal algoritma & struktur data. Rasanya benar-benar mati gaya di depan interviewer yang menguji saya waktu itu, terlebih ketika saya tau bahwa kandidat lainnya berasal dari berbagai universitas ternama di Indonesia, sepertinya live coding test tersebut bukanlah hal yang mustahil untuk diselesaikan oleh mereka, terlihat dari obrolan yang kami lakukan sambil makan siang setelah berakhirnya rangkaian interview tersebut, sudah jelas, saya paling payah di antara semua kandidat.

    Ya tapi bagaimanapun juga, bisa berada di kesempatan tersebut tetaplah sebuah pencapaian, ini menjadi titik balik bagi saya untuk lebih serius lagi melatih kemampuan pemrograman yang saya miliki.

    I and other selected Tokopedia Devcamp interview participants.
    — Saya dan kandidat lainnya pada seleksi Tokopedia DevCamp 2018.

    > 2019 — Balkon pertama

    Setengah tahun berikutnya di awal tahun 2019, saya mencoba melamar pada sebuah lowongan sebagai Front-End (FE) Engineer intern di sebuah startup bernama Atourin, dan ternyata pekerjaan inilah yang menjadi pengalaman profesional pertama saya di bidang web development. Saya mendapatkan tugas untuk mengembangkan sebuah fitur baru menggunakan framework Vue selama 3 bulan sesuai dengan masa internship yang saya punya.

    Saya melakukannya dari nol, karna waktu itu adalah kali pertama bagi saya dalam menggunakan framework tersebut. Singkat cerita, 3 bulan berlalu dan pengembangan fitur tersebut masih terus berlanjut, sehingga saya diberikan kesempatan untuk melanjutkan posisi intern tersebut, kemudian sampai di bulan ke-5 saya mendapat tawaran untuk naik status menjadi FE Engineer full-time di sana.

    I and Atourin's CEO (third from left) as participants in the Kemkominfo's Daya Maya project.
    — Saya dan CEO Atourin (ketiga dari kiri) ketika menjadi partisipan pada project Daya Maya Kominfo.

    Tanpa melupakan banyaknya pengalaman di luar FE engineering yang saya dapatkan selama bekerja di sana, sampailah saya di bulan Desember 2019 yang saya putuskan sebagai bulan terakhir saya untuk bekerja di Atourin, untuk kemudian kembali lagi berfokus menyelesaikan perkuliahan, karena sepanjang tahun 2019 itu saya hanya bisa menyisihkan sedikit waktu untuk menyelesaikan laporan magang, bahkan sama sekali belum memulai progres pengerjaan skripsi.

    > 2020 — Pindah ke kamar sebelah

    Meskipun saya telah berhenti dari pekerjaan sebelumnya, namun saya masih saja menambah beban pikiran dengan membangun tim (freelance) digital product studio bersama dua orang rekan dengan nama Koolab Studio di bulan Desember 2019. Project pertama kami adalah untuk mendesain website suatu digital product di bidang financial technology, dari sini lah awal mula munculnya pemikiran saya untuk benar-benar berpindah dari dunia FE ke dunia UI/UX, ditambah dengan sedikit rasa lelah atau mungkin burned out atas pengalaman satu tahun sebelumnya sebagai FE Engineer.

    Niat & usaha saya untuk mendalami UI/UX terus berjalan sampai di bulan April 2020. Kenapa begitu? Singkat cerita, saya membatalkan judul skripsi yang awalnya sudah saya rencanakan dengan topik UI/UX, yang kemudian saya ubah topiknya menjadi pengembangan sistem informasi layanan mandiri berbasis arsitektur microservice, ya benar, kembali lagi ke code editor. Meskipun begitu, sampai saat tulisan ini terbit pun saya masih terus belajar dan mengembangkan Koolab Studio bersama dengan rekan-rekan tim di dalamnya.

    > 2020 — Welcome home (again)!

    "Halo her! Lo di sini lagi ya sekarang? hahaha", sambut diri saya sendiri dari masa lalu. Yaa, namanya juga hidup, demi menolong diri saya dalam pengerjaan skripsi—yang dia pikir dia yang paling hebat merasa paling jago dan paling dahsyat, eh...—saya akhirnya mengikuti beberapa online programming courses, tidak hanya satu-dua saja, melainkan...

    A list of the various online courses I have taken
    — Beragam online course yang saya ikuti di tahun 2020.

    Terlihat begitu ambisius, tapi saya salut dengan diri saya sendiri karna bisa se-semangat itu dan ternyata banyak juga courses yang akhirnya berhasil saya selesaikan, dibandingkan dengan saya yang sekarang ini rasanya tidak bisa se-semangat itu lagi. Kembali lagi ke timeline, bulan-bulan berlalu sampai di bulan Oktober 2020, tanpa diduga saya kembali mendapatkan tawaran untuk bekerja di Atourin sebagai FE Engineer dengan status part-time untuk membuat keseluruhan front-end versi terbaru dari website Atourin dengan menggunakan Nuxt 2.

    Beruntungnya, enam bulan sebelumnya di April 2020 saya sempat menggunakan Nuxt 2 dalam pembuatan personal website https://risnanto-2020.netlify.app, sehingga saya merasa sudah memiliki pengalaman yang cukup untuk memulai pekerjaan part-time tersebut. Melakukan front-end engineering tersebut selama enam bulan ternyata kembali memberikan rasa lelah pada fisik & mental saya, bersyukur saya bisa menyelesaikan website tersebut di bulan April 2021 sesuai dengan rentang waktu yang direncanakan di awal, mungkin belum sampai pada hasil yang benar-benar sempurna, tetapi pencapaian tersebut tetap menjadi kebanggaan tersendiri bagi saya. Oh iya, sayangnya di saat saya bekerja part-time di posisi FE Engineer tersebut, baik itu di tahun 2019 maupun di tahun 2020, saya tetap tidak memiliki rekan FE Engineer lainnya di dalam tim, alias saya bekerja secara single player, dan itu menjadi fase yang sulit karena tidak ada rekan untuk berdiskusi dan berbagi pekerjaan FE yang cukup memusingkan kepala itu.

    Selepas itu, saya mengambil keputusan untuk mengubah role saya di tim Koolab Studio, yang awalnya berperan sebagai UI/UX Designer untuk kemudian bergeser menjadi Web Developer, keputusan tersebut juga sekaligus memperluas cakupan project yang bisa tim kami kerjakan untuk menangani pembuatan digital product secara menyeluruh. Perubahan tersebut diawali dengan project pembuatan website One Fit Garage yang keseluruhan prosesnya—termasuk brainstorming, designing, coding, deploying, improvement—berhasil kami selesaikan dalam waktu kurang lebih dua bulan sepanjang bulan April-Mei 2021.

    > 2021 — Perulangan, pendalaman

    Sambil terus mengerjakan skripsi yang belum beranjak dari Bab IV, di bulan Juli-Agustus 2021 saya kembali mengisi waktu dengan menjadi mentor pada program Front-end Coaching Clinic yang diadakan oleh komunitas Mini Club Developer di lingkup himpunan mahasiswa tempat saya berkuliah, sebuah komunitas developer yang proses awal terbentuknya—dengan susah payah—diamanatkan kepada saya di tahun 2018. Berkat tangan hebat dari teman-teman pengurus tahun 2019-2021, komunitas ini bisa berkembang begitu jauh, sulit rasanya untuk nggak menjadi bagian dari perkembangannya, mungkin (saya pikir) bisa menjadi kontribusi terakhir sebelum saya benar-benar pensiun dari aktivitas perkuliahan.

    The first page of my front-end coaching clinic slides has the table of contents used during five weeks of class sessions.
    — Tangkapan layar dari modul pembelajaran yang saya buat ketika saya menjadi mentor pada kelas front-end.

    Di luar dugaan, saya sendiri tidak menyangka bisa menyelesaikan 228 halaman slides materi pengajaran front-end development untuk 18 pertemuan selama 5 minggu, yang membahas & mempraktikkan HTML, CSS, JavaScript, DOM, accessibility, Core Web Vitals, GIT, web storage, hingga deployment. Hari-hari berlalu dengan kesibukan membuat materi pengajaran, lalu dilanjutkan dengan mengisi kelas, terus seperti itu selama 5 minggu, yang secara tidak langsung memaksa saya untuk mempelajari kembali dasar-dasar teori dan praktik pengembangan web, memperdalam kemampuan & pengetahuan saya sendiri, atau kalau dalam istilah kerennya bisa disebut unlearn & relearn.

    A Zoom video conference screen shows twelve front-end coaching clinic participants, including me as a mentor.
    — Tangkapan layar ketika saya mengisi kelas daring sebagai mentor pada kelas front-end.

    Mendekati akhir tahun, tepatnya selama bulan November 2021 hingga bulan Januari 2022, saya kembali mendapatkan tawaran untuk bekerja part-time sebagai FE Engineer di Atourin, target pekerjaannya adalah melakukan migrasi dan refactor fitur itinerary creator. Fitur tersebut adalah fitur yang saya bangun menggunakan Vue 2 di tahun 2019 dan pada kesempatan ini ditargetkan untuk diintegrasikan ke dalam code base Nuxt 2 yang sebelumnya sudah saya kerjakan di tahun 2020.

    > 2022 — Transisi menuju awalan baru

    Tahun yang cukup berat bagi saya. Ketika pada suatu sesi bimbingan bersama dosen pembimbing skripsi di bulan Februari 2022, skripsi saya ketika itu sudah berada di tahap perancangan sistem menggunakan UML di Bab 4, tiba-tiba progres tersebut oleh beliau dinyatakan tidak sesuai dengan judul dan kondisi pada sistem berjalan yang menjadi objek penelitian saya, dari beberapa pilihan solusi yang beliau tawarkan, akhirnya saya memilih opsi untuk mengubah judul dan cakupan outputnya, dari yang semula merupakan "Pengembangan Sistem Informasi Layanan Mandiri Perpustakaan Berbasis Arsitektur Microservice (Studi kasus: Layanan Deposit karya Ilmiah)" menjadi "Rancang Bangun Sistem Informasi Layanan Mandiri Perpustakaan Berbasis Arsitektur Microservice (Studi kasus: Seluruh Layanan Pusat Perpustakaan UIN Syarif Hidayatullah Jakarta)".

    Panik? Tentu saja, apalagi dengan sisa waktu yang saya punya sebagai mahasiswa yang harus bisa lulus di bulan Agustus 2022. Singkat cerita, dengan usaha ekstra seperti membeli dan belajar dari beberapa Udemy courses tentang Docker, Docker Swarm, dan NodeJs akhirnya sistem microservice tersebut berhasil saya kembangkan, Alhamdulillah. Detail teknologi yang saya gunakan di antaranya adalah Vue 3 pada client-side front-end, kemudian ada Docker, Traefik, Express.js, Keycloak, Moleculer.js, Prisma ORM, dan MySQL pada server-side back-end microservice.

    A library self-service information system diagram shows the flow and connection between client-side front-end and microservice nodes which is the output of my undergraduate thesis.
    — Diagram arsitektur sistem microservice pada skripsi saya.
    A Zoom video conference of my undergraduate thesis seminar shows the number of participants as much as 32 people.
    — Tangkapan layar dari presentasi seminar hasil skripsi saya.

    Saya sempat berpikir bahwa tahun 2021 adalah tahun terakhir saya untuk ikut berkontribusi sebagai mentor kelas pembelajaran front-end di lingkungan himpunan mahasiswa jurusan saya berada, namun ternyata saya salah. Setelah saya berhasil menyelesaikan drama pranjang per-skripsi-an, saya kembali mendapatkan tawaran untuk menjadi mentor pada program Front-end Programming Class, MCD 2.0 yang berlangsung pada bulan September - Oktober 2022. Saya menerima tawaran tersebut karena kali ini saya tidak akan terlalu lelah seperti tahun sebelumnya ketika saya melakukannya seorang diri, kali ini saya akan mengisi kelas bersama 3 orang mentor front-end lainnya, dan saya mendapatkan porsi untuk membuat materi slides pada salah satu pertemuan dari total 10 pertemuan yang ada.

    A screenshot of two Instagram stories of mine shows reposted stories from HIMSI and MCD accounts about the first day and the last day of the front-end programming class program.
    — Tangkapan layar dari Instagram post terkait program Front-end Programming Class yang saya ikuti sebagai mentor.

    Perkuliahan sudah selesai, mentoring juga sudah, selanjutnya pasti gilirannya mencari pekerjaan kan? Ya, idealnya begitu, namun ketika saya mengetahui bahwa Apple Developer Academy masih membuka pendaftaran untuk cohort 2023, saya memutuskan untuk mencobanya, sehingga saya menunda upaya saya untuk mencari pekerjaan. Kenapa sampai begitu memprioritaskan kesempatan di academy tersebut? Alasan saya, karena saya merasa tidak cukup percaya diri untuk bisa mendapatkan pekerjaan sebagai front-end engineer di perusahaan yang saya impikan jika hanya bermodalkan kemampuan yang saya dapatkan secara otodidak, opsi untuk mengikuti bootcamp pun rasanya tidak mungkin karena keterbatasan di sisi finansial, sehingga saya melihat Apple Developer Academy ini sebagai kesempatan yang begitu bagus untuk mendapatkan kemampuan, pengalaman, dan lingkungan belajar yang berstandar internasional. Setelah mengikuti serangkaian proses seleksi selama bulan September - November 2022 yang terdiri dari tahap pendaftaran, online test, dan portfolio review, saya dinyatakan tidak berhasil untuk maju ke tahap interview, tapi tidak apa, setidaknya saya sudah mencoba dan kesempatan ini adalah pengalaman tersendiri bagi saya, apa pun hasilnya saya meyakini itu lah yang terbaik, InsyaAllah.

    > 2023 — Memulai lagi

    Pada saat tulisan ini diperbarui di bulan Januari 2023, saya sedang menyelesaikan pembuatan personal website saya yang baru, yang saya harapkan bisa menjadi portfolio yang dapat membantu saya dalam upaya mencari dan mendapatkan pekerjaan baru. Sekaligus sebagai bahan eksplorsasi saya dalam menggunakan teknologi-teknologi terbaru dengan penggunaan Astro 1.0, Directus CMS, Fly.io, Supabase, dan Umami analytics, setelah sebelumnya saya menggunakan Nuxt 2, Forestry CMS, dan Google Analytics untuk membuat personal website saya di tahun 2020.

    Untuk sementara, sampai di sini dulu cerita rangkuman perjalanan saya yang kalau dilihat-lihat lagi seperti sudah ada benang merahnya sejak dahulu kala. Sebagai kalimat penutup, "apakah nanti akan berhasil ataupun gagal, mudah ataupun sulit, senang atau sedih, suka atau tidak, tetap saja di hari selanjutnya semua orang akan meneruskan usahanya, sampai tiba waktunya untuk berhenti". See you when I see you!