03 - Cerita saya menjadi programmer
Cerita panjang perjalanan hidup dan karir saya sampai bisa menjadi programmer di beberapa peruasahaan teknologi besar di Indonesia.
Cerita ini saya pecah menjadi beberapa bagian dikarenakan lumayan panjang untuk dijadikan satu artikel. Baca keseluruhan ceritanya pada tautan berikut:
- Bagian 1 - Cerita anak kampung menjadi programmer
- Bagian 2 - Cerita buruh menjadi programmer
- Bagian 3 - Cerita saya menjadi programmer - kamu disini
Tulisan ini saya persembahkan bagi mereka yang sedang belajar menjadi Programmer atau Software Engineer, bagi mereka para newbies, bagi mereka para fresh graduates yang seringkali mengeluhkan betapa susahnya belajar programming.
Bagaimana Saya Menjadi Programmer
Saya beruntung memiliki dan dekat dengan hampir semua teman kuliah, salah satunya Lukman Hakim (saat ini menjadi salah satu software engineer di Tiket.com). Sedari kuliah saya memang berusaha mengenal teman-teman kuliah saya dan berusaha mengetahui latar belakang dan pekerjaan teman-teman. Lukman ini sepertinya satu-satunya teman kuliah saya yang berprofesi sebagai Programmer pada saat itu. Mengetahui hal tersebut dan berkaca pada lemahnya saya urusan praktek komputer dan programming, saya berusaha lebih dekat dengan Lukman sedari jaman kuliah. Saya berusaha beberapa kali membantu ketika Lukman kesulitan memahami berbagai pelajaran teori dan saya sendiri bertanya padanya soal praktek dan programming.
Setelah lulus dan saat itu saya masih bekerja sebagai buruh pabrik roti, Lukman mengajak saya untuk mencoba melamar pekerjaan sebagai Programmer meskipun dia tau pada saat itu saya masih sangat cupu dengan dunia tersebut. Dan lebih beruntung lagi karena yang melakukan wawancara pada saat itu (Om Rio - Almarhum) merupakan atasan Lukman, yang saking percayanya karena saya adalah referensi dari Lukman, akhirnya cuma ngobrol-ngobrol dan tanya-tanya soal bagaimana kuliah saya, tidak ada test logika, koding atau test apapun.
SML Technologies
Bisa bergabung dengan SML Technologies sebagai Programmer Java memberikan saya banyak sekali pelajaran, saya bertemu banyak orang yang sampai hari ini masih seperti mentor bagi saya. Banyak orang-orang yang saya anggap luar biasa berawal dari kantor ini juga. Masa-masa awal saya di SML, saya membantu mengembangkan produk aplikasi desktop mereka yang dibuat dengan Java Swing sebagai antarmuka dan JavaEE dibelakangnya. Lalu kurang lebih setahun setelahnya dan produk tersebut berhasil di launch, akhirnya diminta membantu tim web, untuk mengerjakan beberapa web dashboard.
Sebagai pekerjaan pertama saya di bidang IT, khususnya dunia pemrograman, jangan tanya: apakah berat? Bangetttt… Bukan karena beban pekerjaan yang berat, tapi lebih ke saya yang merasa ini adalah dunia yang sangat berbeda dari bertahun-tahun sebelumnya saya bekerja sebagai buruh kasir dan buruh pabrik. Begitu banyak beban di pundak ini, mengingat hal itu. Tapi tak ada jalan kembali buat saya, tidak ada opsi untuk balik badan karena ini yang saya mau, ini yang saya harapkan akan mengubah perjalanan hidup dan karir saya selanjutnya.
SML Technologies untungnya adalah perusahaan yang sangat ramah bagi pemula seperti saya. Saya dengan terang-terangan diberikan waktu untuk belajar tanpa pressure untuk menyelesaikan apapun dengan cepat saat itu. Jadilah bulan-bulan pertama saya sangat struggle untuk belajar pemrograman dan koding Java agar bisa menyelesaikan tugas kecil yang diberikan ke saya. Saya yang tidak pernah bisa praktek koding ke kampus saat kuliah, dipaksa harus bisa menyelesaikan tugas koding yang nyata-nyata ada di depan muka, tidak bisa mengelak, tidak bisa lagi mencontek, karena orang lain punya pekerjaan berbeda.
Punya lingkungan yang baik dan suportif di SML sangat membantu progres saya, saya sangat diterima ketika hari-hari saya harus banyak mengganggu teman-teman (senior) saya untuk bertanya ini itu dan segala macam yang tidak saya tau. Tidak jarang sampai dituntun, dibantu, dipandu, diajarkan bagaimana menyelesaikan pekerjaan dan mencari jawaban pertanyaan-pertanyaan saya. Tidak terasa saya menghabiskan hampir satu tahun pertama sebagai Java Programmer dengan cukup mulus dan memenuhi ekspektasi meskipun juga masih banyak sekali hal yang perlu saya pelajari saat itu.
Saya yang hampir setahun bergelut dengan Java Swing ternyata saya baru sadar kalau saya tidak tau apa-apa soal web development. Yap, tentu saja hal ini dimulai ketika saya mulai dapat tugas untuk membantu teman-teman lain untuk mengerjakan projek web dashboard dari klien SML. Saya ternyata tidak tau bagaimana sebuah HTML itu dibuat, saya tidak mengerti bagaimana CSS bekerja, apa korelasinya dengan HTML itu tadi, apalagi berbagai “sihir” JS. Saya seperti anak kambing di tengah sekumpulan serigala-serigala lapar, padahal sudah setahun jadi programmer Java saat itu. Saya beruntung, pada masanya SML merupakan tempat yang sangat kondusif untuk bekerja sambil belajar, saya bisa tetep bekerja, digaji dan belajar mengenai hal-hal yang mendukung pekerjaan saya. Tentunya dituntun oleh orang-orang yang lebih jago dan duluan terjun di bidangnya.
Untungnya saya pernah kerja bertahun-tahun sebagai kuli dan buruh, buat saya sesusah-susahnya belajar programming masih mending dibandingkan kerja buruh pada masa lalu. Saya mungkin cupu dan harus belajar banyak hal dibandingkan teman-teman lain tapi ini tidak lantas membuat saya menyerah. Saya punya istri dan anak yang harus saya nafkahi, saya tetap harus memastikan bahwa saya bisa perform dengan baik di kantor agar bisa naik gaji dengan layak di tahun berikutnya 💃.
Karenanya meskipun terbilang paling cupu diantara yang lain dalam hal web programming, tidak bikin saya berkecil hati. Saya bertanya ketika tidak tau, saya berusaha memahami banyak fundamental dari web programming, saya juga tidak segan “mengganggu” pekerjaan teman agar masalah yang saya bingung atau tidak tau bisa dipecahkan bersama-sama. Hal ini saya lakukan berbulan-bulan semasa awal diminta membantu tim web.
Saya banyak berurusan dengan JS ketika itu, karena memang kami mengadopsi ExtJS Framework untuk membuat berbagai web dashboard sehingga pengetahuan JS saya banyak terasah meskipun saya jadi banyak melewatkan soal dasar HTML dan CSS pada akhirnya.
Masa-masa terakhir di SML saya tergabung di tim R&D “jadi-jadian”, sehingga punya banyak waktu untuk belajar dan bereksplorasi banyak hal baru. Dua tahun lebih kalau tidak salah, jodoh saya dengan SML, sebelum kemudian memutuskan untuk melanjutkan perjalanan ke tempat lain.
Blibli.com
Saya orang yang tergolong baik dalam mempersiapkan CV, termasuk memoles sosial media para pencari kerja profesional, LinkedIn. Lewat ini pula, salah satu idola saya sampai sekarang (mas Ifnu Bima) menghubungi saya dan mengajak untuk mencoba submit CV di Blibli.com. Dalam benak saya, tentu saja, orang yang mengajak ini adalah orang yang dari jaman kuliah sudah saya baca ebook-nya namun selalu gagal paham sampai harus dibaca ulang ketika awal-awal bekerja di SML.
Bisa bekerja di Blibli.com sepertinya menjadi lonjakan besar bagi karir saya sebagai programmer. Pengalaman yang saya dapatkan sangat berbeda dari pekerjaan saya sebelumnya di SML Technologies. Di Blibli, meskipun belum sebesar sekarang, saya belajar bagaimana menangani website yang diakses publik dan digunakan oleh banyak orang. Tentu sangat berbeda ketika saya membuat projek yang hanya diakses oleh internal perusahaan dengan website yang bisa diakses publik oleh siapa saja. Banyak hal yang lebih harus dipertimbangkan.
Saya bertemu dan kenal dengan banyak sekali orang hebat disini, orang yang sudah puluhan tahun bergelut di dunia IT dengan pengetahuan yang sudah segudang. Sementara saya orang cupu yang baru kenal koding kemarin-kemarin, ada jurang yang sangat dalam di level pengetahuan antara saya dengan teman-teman lain pada masanya. Belum lagi dimana saya harus pindah menjadi lebih banyak mengerjakan bagian tampilan website ketimbang menulis Java sendiri. Saya harus belajar dari awal lagi soal bagaimana menulis JavaScript, utamanya AngulaJS yang pada masanya digunakan oleh Blibli.com.
Blibli.com pada awal saat saya begabung, tahun 2015-an belum sekeren sekarang. Kodenya masih ditulis dengan banyak jQuery, AngularJS yang dilayani oleh kode Java Spring MVC lengkap dengan templatingnya JSP dan tag-tag JSTL nya. Saya beruntung karena bergabung pada masa dulu sehingga bisa terlibat banyak proses perbaikan dalam hal teknologi tahap demi tahap sampai sekeren saat ini. Dari yang migrasi besar-besaran cara kita menggunakan CSS ke SCSS, migrasi cara penulisan CSS class ke konvensi BEM, migrasi build tool yang tadinya disematkan di lingkungan Maven ke build tool ala-ala JavaScript, sampai migrasi setahap demi setahap monolith app frontend ke aplikasi kecil-kecil diatas modern framework Vue.js.
Dari sisi produk, saya pun beruntung karena beberapa kali ditempatkan di pengembangan produk baru dibandingkan memelihara produk lama. Ini membuat saya mengerti bagaimana membuat projek baru sedari awal, bagaimana inisiasinya dan bagaimana memonitoringnya. Dari sis teknologi pun, produk baru memberikan kesempatan bagi saya untuk lebih ekspresif dan mencoba hal-hal baru karena lebih kecil resikonya dibandingkan mencobanya pada produk yang sudah ada. Saya terlibat pada fase awal pengembangan berbagai produk digital di Blibli seperti Pulsa, Paket Data, PLN dan lainnya. Pun masih dipercaya terlibat di fase awal pembuatan produk travel mereka seperti Hotel, Kereta API dan Hotel. Meskipun tidak terlibat secara penuh pada beberapa produk travel mereka.
Di Blibli selama hampir 3 tahun, saya mendapatkan pengetahuan baru yang sangat-sangat banyak. Sampai pada akhirnya saya merasa pemberhentian saya di Blibli sudah cukup lama dan sudah saatnya kembali menginjak pedal gas untuk melanjutkan perjalanan. Bukan hal yang mudah memutuskan untuk meninggalkan perusahaan yang sudah saya jadikan tujuan setiap pagi berangkat kerja. Ada banyak rasa berat serta teman yang pasti harus saya tinggalkan ketika mengambil keputusan untuk pindah.
Bizzy Indonesia
Bizzy merupakan terminal pemberhentian berikutnya bagi saya setelah mampir terlalu lama di Blibli.com. Terlalu lama berhenti membuat saya menjadi terlalu susah untuk memulai hal baru lagi dari awal. Apalagi bisnis Bizzy sendiri lumayan berbeda dibandingkan dengan Blibli. Hal terberat yang saya rasakan ketika bergabung dengan Bizzy ya keharusan mempelajari flow bisnis mereka.
Kalau urusan teknologi sendiri mungkin tidak jauh berbeda karena saya di assign di Frontend yang mana mereka menggunakan Nuxt.js dan sebelumnya di Blibli saya sudah punya pengalaman yang cukup menggunakan Vue.js. Saya sendiri tidak terlibat dalam pengambilan keputusan kenapa mereka memilih Nuxt.js karena pada saat bergabung aplikasi sudah terbangun diatas Nuxt.js.
Meskipun punya dasar yang sama yakni Vue.js, namun Nuxt.js punya banyak hal yang spesifik yang tidak saya ketahui meskipun memiliki pengalaman dengan Vue.js sebelumnya. Hal ini juga menjadikan saya diharuskan belajar beberapa hal baru dalam menyelesaikan pekerjaan saya.
Di Bizzy awal-awal saya ditempatkan di tim Om Bobby Siagian. Beruntung karena saya sudah mengenal Istidana di dalam tim tersebut yang membantu saya untuk onboarding. Tim Om Bobby sendiri menangani service yang berkaitan dengan purchasing.
Bizzy pada masanya merupakan tempat yang sangat ideal bagi pekerja software engineer, berbagai kebijakan di dalam kantor tersebut sangat mendukung agar kita bisa bekerja dengan optimal tanpa ganguan dari hal-hal yang tidak penting. Itu mengapa Bizzy pada masanya cukup jadi magnet bagi banyak teman seperjuangan. Saya pun bertemu dan kenal dengan banyak orang hebat yang berkumpul bekerja di Bizzy. Tech team pada masanya seperti first-class-citizen disana.
Beruntung saya dilibatkan dan dipercaya untuk mengerjakan beberapa proses migrasi di Bizzy. Saya dipercaya untuk merombak homepage dan berbagai static site mereka dari yang sebelumnya menempel dengan aplikasi maha besar menjadi hanya projek kecil menggunakan static site generator, pun kita bersama-sama teman frontend yang lain berhasil memisahkan projek besar tadi menjadi dua bagian terpisah yakni aplikasi untuk customer dan aplikasi untuk vendor, sebelumnya keduanya hidup berdampingan di tempat yang sama.
Sayangnya jodoh saya dengan Bizzy cuma bertahan satu tahun, karena satu dan lain hal akhirnya setalah lebaran 2019 saya memutuskan untuk pindah dari Bizzy dan menuju kantor berikutnya.
Tokopedia
Seusai dari Bizzy saya bergabung dengan Tokopedia sebagai Principal Engineer untuk Web Platform. Saya tergabung di tim Web Platform sebelumnya Mobile Web di bawah arahan Engineering Manager Dendi Sunardi.
Selain menjadi Principal Engineer saya juga bergabung dengan tim Core di Web Platform, pada dasarnya tim Core ini bertugas membuat atau membenahi berbagai tools yang nantinya akan digunakan oleh teman-teman engineer sehari-hari. Kenapa ada tim Core? karena akan ada banyak tugas yang tidak akan sempat bila dikerjakan oleh teman-teman engineer yang sudah di assign tugas sehari-hari yang cukup banyak dengan jadwal yang hampir selalu mepet pula. Untuk itulah Core tim terdiri dari orang-orang yang sudah diminimalisir pekerjaan sehari-harinya sehingga bisa lebih optimal melakukan berbagai riset baru maupun enhancement terhadap "tooling* dan platfom web serta membantu teman-teman engineer dalam menyelesaikan masalah-masalah yang membutuhkan teknikal knowledge yang dalam.
Belum banyak pencapaian yang bisa saya bagikan, tapi semoga akan ada hal menarik yang bisa saya bagikan nantinya.
Note: Sepertinya saya sudah perlu memperbarui bagian ini ya? Tak terasa, sudah 3 tahun nih di Tokopedia 😂
Beberapa Pelajaran Bagi Saya
Saya seperti halnya kalian semua, tidak pernah akan tau apa yang akan terjadi di masa depan. Namun dari semua perjalanan panjang saya, saya berusaha selalu bersyukur baik saat menjalani maupun saat telah selesai melalui. Seperti saya tidak pernah menyesal pernah bekerja sebagai kasir supermarket, saya juga akhirnya bisa banyak mengerti arti teman di sebuah pabrik roti, saya bahkan tidak mengeluh pernah jadi Programmer gaji UMR (lebih dikit), saya juga akan selalu bersyukur menjadi bagian Blibli.com sampai sekarang.
Pada dasarnya setiap hal itu ada sisi baiknya, seringkali kita saja yang tidak melihat pada sisi yang tepat.
Yang jelas dimanapun saya bekerja, saya akan berusaha bekerja dengan baik, bekerja dengan sungguh-sungguh, serta memberikan dampak baik bagi tempat saya bekerja. Saya bekerja demi menghidupi, menafkahi dan dalam rangka memberikan kebahagiaan yang cukup bagi keluarga saya, orang tua saya, adik-adik saya, dan keluarga besar saya.