Kenapa Pemrograman Tidak Lagi Menyenangkan?

Disklaimer: Ini sepenuhnya opini pribadi saya, mungkin bisa saja salah, tidak tepat, ngawur dan kacau. Para pembaca izinkan saya menuangkan keluhan saya dan terima kasih evilfactorylabs membolehkan saya memuat ini.

Sepi

Kata ini bisa mengarungi banyak makna dan perasaan. Saya ingin menyajikan satu rasa sepi. Mari kita sepakati sepi di sini bukan sebagai sendirian, tapi spesies yang kehilangan populasi.

Katakanlah momen itu terkait pemrograman. Memrogram adalah aktivitas mengakali komputer untuk bekerja sesuai keinginan. Keinginan seperti apa? Banyak, mulai sekedar bersenang-senang, belajar hal baru bahkan hal yang cukup serius seperti mendapatkan gelar dan pekerjaan.

Genesis

Mungkin saya bisa dibilang masih kekanakan-kanakan memakai komputer untuk bersenang-senang seperti anak tahun 2010 ke atas dengan nilai rapornya kecil disekolah yang dituduh kebanyakan main game. Yes, saya banget. Tapi kalo boleh jujur pemrograman itu menyenangkan, ketika saya membuat hello UwU, membuat gambar bisa bergerak, bergelut dengan logika untuk memasukan data bahkan sampai hal diluar itu seperti merangkai komputer dan menempeli laptop dengan stiker.

Sekitar 2013-an, saya masih bisa menemui sejawat yang satu frekuensi seperti main point blank, dragon nest dan beberapa aplikasi sederhana dengan GUI. Oke, yang terakhir saya melakukanya sendiri dan itu menyenangkan ketika kita berbagi dengan orang seumuran saat itu mereka antusias walaupun tidak begitu paham. "Oh bisa ya bikin aplikasi yang rupanya mirip windows explorer" itu udah seneng banget wkwkwk. Waktu berjalan dan mereka belok ke persimpangan kehidupan. Orang-orang itu masuk sekolah yang berbeda dengan saya.

Ketertarikan saya bermula ketika menggunakan SMADAV dan berita tentang Artav. Saya dari situ muncul pikiran untuk membuat program komputer, seperti Neo yang bangun dari Matrix, saya ingin membuat program saya sendiri. Saya nyemplung ke forum Smadaver dan dari situ saya berkenalan dengan Visual Basic 6. Tak lama kemudian, saya berpindah mencoba linux dan belajar python setelah browsing "how to be hacker" dan "cara menjadi hacker", artikel pencarian pertama cukup membekas pada saya, How To Become A Hacker.

Taruhan

Masa-masa 2010an itu menguap begitu minggu dan bulan berlalu. Ya, saya tumbuh besar dan menginjak usia kuliah. Alasan saya kuliah karena ingin mendapatkan ilmu yang layak, lebih tepatnya meredakan kesepian saya untuk berbagi tentang program.

Saya sebenarnya tidak ingin kuliah, saya senang eksplorasi sendiri dengan bereksperimen. Tapi jika tidak kuliah, saya akan kesulitan belajar. Lingkungan tempat saya hidup tidak berisi orang yang mendukung minat saya kepada pemrogramanan. Ibarat sebuah tetikus tanpa driver yang terinstall. Acap kali saya dituduh "hanya bisa main gim aja" dan "eksperimen aja terus", kata ini masih sakit sampai sekarang. Seolah ada yang sakit dan perlahan sekarat didalam saya. Kala itu saya belajar pemrograman di rumah saat orang sudah tidur dan warnet dengan alasan ekskul untuk menghindari pedihnya kata-kata itu.

Selain faktor sosial, masalah bahan pelajaran juga sulit. Rumah saya punya koneksi internet (Speedy yang sekarang dikenal IndiHome pun masih barang untuk orang kelas atas kala itu) dan mau beli buku-buku masalah pemrograman tidak ramah untuk kantong saya. Saya pernah punya buku 200% Hacking Illegal karya Sto terbitan Jasakom hasil nabung. Itu buku komputer pertama saya yang entah hilang ke mana sekarang. "Kan perpus daerah ada?" jawabanya di daerah saya tidak ada saat itu.

Lucunya, salah satu minat terselubung saya ingin membuat game setelah terkena ilusi sesat tentang hacker melalui film hollywood, inspirasi dari SMADAV dan pertentangan lingkungan. Seolah buah yang jatuh jauh dari pohonnya, tersapu banjir informasi Internet xixixi, (my reality is lemon, internet is my lemonade). Berkuliah menjadi jaminan saya untuk tidak diremehkan, memperoleh waktu dan fasilitas belajar. Beruntung, saya ke terima di sebuah PTN kemudian pandangan berubah tentang minat saya. Walakin, ini bukan taruhan yang mudah.

Saya bertemu beberapa eksistensi yang mengubah saya di sana. Mulai dari kemampuan membaca, bahasa inggris dan kemampuan pemrogramaan. Pertama, perpustakaan, kedua orang-orang yang bersekolah SMK dan ketiga dosen yang bisa mengajar.

Katalis

Perpustakaan memberikan saya akses yang cukup luas untuk literasi belajar sekaligus mendorong saya meningkatkan kemampuan membaca. Buku yang cukup membekas kala itu yakni:

  • "Programming C - Addison-Wesley"
  • "Guide to Network Security - Cengage"

Kenapa dua buku itu? karena bahasanya mudah, untuk hitungan bahasa ingris saya yang pas-pasaan. Sekaligus menyadarkan saya bahwa buku IT (Kecuali majalah dan zine seperti PC+, E-Zine) indonesia masih jauh dari kata bagus dan harganya mahal. Ini untuk hitungan tahun 2015-an ya. Buku-buku keren zaman sekarang seperti Halo Koding Hilmanski belum ada, mungkin juga penulisnya saat itu sedang di Berlin.

Orang-orang di saat saya kuliah bisa dibilang keren-keren. Era itu sosial media belum begitu berguna. Saya seorang anti sosial media, blog walking, grup telegram dan BBS ftw. Saya banyak belajar tentang ilmu-ilmu yang dipelajari di SMK dari mereka walaupun tidak banyak. Saya kenal jurusan yang bergelut dengan ketertarikan yang dekat dengan minat saya yakni Rekayasa perangkat lunak & teknik komputer dan jaringan.

Mereka yang dari SMK juga punya gelagat tengil dan sok-sok merasa anak gifted karena bisa berkuliah dengan jurusan yang serumpun dengan mereka. Tapi akhirnya mereka sadar bahwa kalau tetap membawa kebanggaan masa lalu itu, mereka sulit menyambut ilmu baru di masa depan (kampus). Akhirnya sebuah pencerahan datang, pelajaran yang sesuai dengan jurusan SMK mereka hanya dipelajari satu semester (dari yang mereka ampu tiga tahun di SMK). Terlepas dari fenomena sosial tadi, saya bisa menemukan orang-orang yang bisa diajak diskusi ataupun bertanyaan soal server, web, HTML dan semacamnya, walaupun awalnya mereka jual mahal dan malu-malu.

Dosen sedikit yang membekas disanubari saya, selebihnya mereka tidak begitu akrab bahkan ada yang menjadi musuh seperti boss di akhir game. Kalo boleh angkat nama, namanya pak Budi. Orangnya dibilang prefeksionis dan ga banyak disukai orang karena orangnya teguh dengan aturan namun ramah kepada orang ingin belajar ketimbang nilai. Kayak saya telat masuk kelas karena sepeda saya nyebur siring. Dia tawari saya untuk masuk tanpa absen, lalu saya iakan. Selain itu cara dia mengajarkan sesuatu mudah dimengerti seperti menggunakan contoh, pendekatanya tidak mengurui, praktik oriented, mudah didengar dan materi yang disampaikan cukup out-of-the-box dan waktu tugas besar ppl dibolehkan pakai bahasa pemrograman bebas (biasanya diminta PHP jika dosen lain, tapi saya pakai Ruby on Rails). Baru kali ini saya tahu dosen yang baca buku "Algorithm + Data = Program" karya Niklaus Wirth, ya walaupun ga heran karena dia pernah belajar di perancis.

Sisa dosenya biasa aja dan beberapa yang untuk memenuhi kuota penerimaan ASN. Saya tidak bisa menyalahkan, karena memang mengajar itu susah dan mahasiswanya ingin ijazah, maka nilai dari absen adalah jalan termudah.

Dogma

Ya, tentu pelajaran kuliah pasti sujud kepada yang namanya kurikulum, yang dibuat entah dari zaman kapan, FYI: kampus saya dahulu adalah baru membuka prodi Informatika jadi materi kuliahnya ngambil dari kampus lain begitu juga kurikulumnya.

Kapan terakhir saya memrogram dengan menyenangkan saat saya kuliah? itu saat saya belajar C++ dan struktur data karena pada saat itu saya merasa memrogram tidak sendirian, bukan karena teknologinya sama tapi dengan semangat yang sama dan saya juga tidak menemukan masalah dengan C++. Saat itu orang-orang punya rasa ingin tahu yang tinggi, mengerjakan sesuatu tidak mementingan masalah nilai tapi kerja keras. Kalau di level 1 aja sudah KO, bagaimana semester ke depan nya ? kira-kira seperti itu kenapa semester awal itu menyenangkan hingga beberapa dari mereka mulai bodo amat dan mementing nilai.

Memang banyak hal yang diajarkan di kampus terlampau sulit atau hal yang diajarkan kurang sesuai minat, dari sini yang membuat mereka fokus hanya ke nilai di kampus, menggantungkan apa yang diajarkan ke kampus, otak mereka jadi otak kampus sehingga pelajaran yang tidak diajarkan dalam kampus di nilai tidak penting. Sebab, apa yang gw butuh udah dikasih kampus kenapa harus repot-repot lain, hal itu tidak masuk pencatatan ataupun memperbagus ijazah terus, buat apa susah ? Mending kalo dapet sertifikat untuk ngebagusin CV.

Pelajaran di sana berpaku pada kebutuhan dizamanya seperti kelas algoritma dan struktur data dengan C++, OOP dengan Java, Web dengan PHP/LAMP Stack dan semacamnya. Ini tak masalah selama cukup untuk mengantarkan nilai-nilai keilmuan komputer, tapi itu semua berubah setelah negara api menyerang dengan khotbah standar industri.

Kampus setiap semester mendatang pakar praktisi dari dunia Industri. Ada perkataan mereka yang cukup membekas yakni kalau tech stack yang dipelajari di kuliah itu obsolete dan bikin mahasiswa menjadi dogmatis dengan teknologi, misalnya saya pakai Ruby dibilangnya bahasa baru hanya karena berbeda dengan apa yang ada di kelas bukannya Ruby dan PHP sudah ada sejak 90an ? Mereka menilai sesuatu yang berbeda sebagai sesuatu yang baru, dan umumnya sesuatu yang baru tidak disukai oleh orang-orang lama. Alasan saya mencoba berbeda karena rasa ingin tahu dan hasrat akan teknologi yang lebih menyenangkan, bukan tunduk pada kampus dengan teknologi yang sangat menyiksa, mungkin?

Apakah perlu mengikuti trend? Jawabanya ya dan tidak. Memang benar teknologi industri selalu berubah dan kita perlu adaptif supaya bisa dapat pekerjaan ataupun menemukan teknologi yang nyaman digunakan. Bagian yang tidaknya adalah trend tidak selamanya baik, kita harus memilih-milih. Misalnya ikutan-ikutan trend pakai React.JS padahal masalahnya bisa diselesaikan dengan javascript biasa (vanila) bahkan tanpa secuil kode javascript pun. Memang trend membuat kita mencoba sesuatu yang baru, tapi tanpa moderasi membuat kita jadi tidak berprinsip. Dari sini saya sadar jika semakin umur saya lebih peduli untuk mencoba sesuatu yang berbeda ketimbang baru misalnya Lisp atau Assembly, alasanya? "Old but (G)old" dan ada beberapa tidbit yang mencerahkan saya di sana.

Karena pakai teknologi yang berbeda saya kerap kali dituduh takut programnya dicontek. Padahal saya memilih teknologi yang lebih mudah untuk dipakai ketimbang yang diajarkan di kampus. Toh mereka dan saya sama-sama pakai framework kok mesti ribut ? Beruntungnya, pertentangan saya berumur pendek, karena apa yang pertanyaan ini : "Kita di kampus tidak belajar sampai bisa bikin web server sendiri, pakai framework yang lebih mudah bikin pekerjaan cepat selesai, apa salahnya?". Ketika rekan-rekan saya yang dahulu bersitegang dengan saya memasuki mulai magang, mereka mulai berubah semenjak berkenalan dengan teknologi dikantornya. Hasilnya mereka bilang lebih enak, mudah dan menyenangkan. Ada banyak tutorial banyak, mudah dipakai dan hasilnya indah, bahkan sampai ada yang memakai itu di tugas akhirnya dari pada yang diajarkan di kampus. Saya yang tadinya public enemy seketika menjadi saint hahaha.

Setelah saya puas dan selesai jadi anjing standar industri yang mengonggongi anak-anak kampus agar tidak dogmatis, saya sendiri jatuh ke ngarai nihilisme. Teknologi selalu berubah terus bagaimana akan bertahan? Saya belajar Svelte atau NodeJS atau Golang mungkin suatu saat akan muncul teknologi lain yang mengantikanya, seperti sisifus yang mendorong batu ke atas bukit lalu menyaksikan mengelinding ke bawah, terus dan terus begitu, tapi kita harus membayangkan sisifus bahagia. Bedanya saya dibuat sengsara oleh pengetahuan sendiri hahaha

Adakah teknologi, bahasa pemrograman dan apa pun itu yang bisa saya gunakan tanpa takut itu ketinggalan standar industri dan terkungkung dogma kampus? dan apakah gonggongan saya akan mengigit balik saya di masa depan?

Kejatuhan

Saya kehilangan diri saya, prinsip, teknologi dan arah saya belajar. Industri bukanlah saya, tapi yang kampus inginkan untuk mencetak pegawai-pegawai supaya mengisi kolam industri dengan lulusan dari kampus untuk meningkatkan akreditasi supaya hibah makin luber-luber.

Tamparan sesungguhnya terjadi setelah saya mendapatkan tidur yang tidak nyaman. Ketika teman-teman saya sedang KKN, saya terjebak dalam kegelisahaan dan itu menyadarkan sesuatu ketertinggalan. Saya sibuk mengonggong kalau bikin pakai ini lebih sesuai industri dan lebih mudah, tapi apakah saya pernah membuat sesuatu yang berguna? paling tidak untuk saya sendiri, kesampingkan dulu microservice, kontainerisasi, single-page-app, kubernetes dan semacamnya.

Anjing yang banyak mengonggong lalu mengigit ekornya sendiri, dan itu saya.

Setelah saya didepak dari kampus dan menjalani hidup sebagai freelancer kelas teri musiman. Menghabiskan waktu mengerjakan kode untuk orang lain seperti program skripsi atau install ulang laptop orang. Saya mencoba menghapus dogma yang mengutuk saya sendiri, "ilusi techstack standar" dan berani lebih jujur untuk menjelajahi bidang yang saya dambakan. Mencoba dan mencari tahu kenapa X dipakai untuk ini tanpa buta mengikuti standar, bahkan dengan pendekatan yang outliner ataupun bleeding-edge sekalipun.

Beranilah berpikir sendiri! -- Immanuel Kant

Tentu ada sebagian bidang yang saya dambakan tidak mudah ditemui di kampus (seperti: compiler construction dan gamedev) karena hampir non-existent minatnya di dunia industri Indonesia maka saya belajar untuk kesenangan dan kalau bisa menghasilkan uang jajan. Jati diri kita tidak selalu ditentukan oleh skil yang menghasilkan uang, karena laku atau enggak itu urusan marketing dan berguna atau ga belakangan hehe

Saya ingin membuat sesuatu yang berguna, bukan untuk pansos standar industri, bukan untuk nama kampus, bukan untuk kebanggaan buta orang awam, bukan untuk terpaksa mengisi portofolio tetapi untuk kesenangan dan rasa "ada" sebagai pemrogram. Aku install Vim, maka aku ada - Rene Demacsartes.

Jujur jika membuat sesuatu yang harus selalu berguna atau memiliki nilai jual, itu juga membosankan dan kering akan keindahan. Selalu overthinking kalau ini bakal berguna, dipakai orang dan semacamnya-semacanya sehingga melupakan diri sendiri kalau tidak selamanya membuat program harus memenuhi tanggung jawab itu. Terkadang kita perlu membuat sesuatu yang sudah ada untuk berkenalan bagaimana caranya dia bekerja dan itu bisa cukup menyenangkan bahkan sekedar menikmati keindahan dari komputer itu sendiri.

Kok jadi kontradiktif dengan bilang mau bikin program yang berguna ? karena tujuanya untuk senang dulu, berguna belakangan. Saya tidak membantah kalau prinsip ini tidak cocok untuk kalang profesional, tapi kembali lagi kapan kita membuat program yang menyenangkan dan mungkin bisa berguna?

Ini prinsip saya membuat program untuk kesenangan dan berguna, namun seperti pemikiran-pemikiran pada umumnya perlu didukung dengan ide-ide sejenis. Maka dari itu saya menyajikan beberapa pemikiran yang saya nilai sesuai dengan nilai-nilai saya:

Distopia

Prospek, Fame dan segudang harta duniawi.

Pemrograman sudah bukan lagi aktivitas yang menyenangkan, bukan hanya berubah menjadi serius tetapi juga membosankan. Perkembangan pesat teknologi meminta pemrogram untuk memenuhi nafsu komputasi di zamannya menjadikan sebagai pekerja kerah putih. Banyak orang bercita-cita menjadi pemrograman karena uang nya besar, itu tak salah. Tentu mereka bisa membuat keluarganya bangga, seperti pohon kelapa tinggi yang berbuah. Tapi apakah mereka bisa menemui kesenangan dalam pemrograman? jawabanya bisa setelah mendapat gaji saja, tapi apakah bisa secara implisit dari tindakan ? saya tidak tahu.

Semenjak pemrograman menjadi profesi kerah putih yang bergengsi, fokus membuat program tidak lagi untuk kesenangan tetapi nilai bisnis. Tekanan untuk membuat fungsi X, fitur Y dan lolos tes Z dalam waktu yang telah ditentukan memberikan cambukan batin untuk membuat sesuatu yang bernilai alih-alih menikmati proses memrogram. Maka kalo boleh dibilang tentang lowongan kerja yang mencari orang "menyukai tantangan", bisa diringkas lebih tepatnya mencari pegawai "yes man"/sulit menolak tugas. Kematian kesenangan begitu terasa ketika bicara pemrograman selalu dikaitkan dengan karrir dan prospek bukan lagi teka-teki atau pun misteri yang menantang rasa ingin tahu dalam belantara ilmu komputer. Bahkan menjadi lahan bisnis yang disebut konsultasi (note: tidak semua, ADPList misalnya)

Tidak asing juga kalau pun kuliah ke terampilanya layu oleh nilai dan gelar. Lucunya mereka bisa bekerja di bidang IT, itu tidak masalah. Mereka bisa belajar sambil kerja dan naik jabatan hingga menyandang status orang kaya baru (then what the point of you going to f*cking college? are you sapio-masochist? Ok, just kidding ehe). Ikonoklas, ada yang memiliki keterampilan lebih memilih pensiun dini dan memulai pekerjaan lain, ini cerita dari rekan saya di prodi lain. ia ingin berkarir cukup lima tahun lalu setelah itu buka warung makan (which is good) lalu keahlianya dijadikan sebagai hobbi untuk bersenang-senang dan pekerjaan sampingan ketika bosan.

Efek samping dari ijazah juga menimpulkan para programmer snob yang jago tanpa ijazah IT menjadi insecure (degree inflation, i looking at you) dan termarjinalkan. Misalnya lulusan SMP membuat web dengan X, Y, Z lalu nyinyir tentang gelar dan ijazah mereka -- have been there, ini juga tanda SDM rendah yang fatal. Bukan si kuliah yang bodoh atau si gak kuliah yang pintar, mereka bersama-sama tidak manusiawi, mau-mau saja kecerdasan kita dimonopoli oleh institusi pendidikan, kamu bisa berkembang lebih dari apa yang tertulis dinilai rapormu atau ijazahmu atau setifikatmu atau miskin atau kaya dan apapun latar belakangmu. Bisa ga si kita sesekali ga usah bawa kata "sekolah" atau "pendidikan" untuk menyebut orang itu pintar atau berkemampuan ataupun sejenisnya, perkataan "anak ini ga disekolahin apa ya? kelakukan ga betul" bikin saya jijik dan lebih terlihat seperti menghalalkan orang tua untuk menelantarkan mengurus anak ke sekolah.

Portofolio pemrograman tidak lagi menjadi benchmark batas kemampuan seseorang, boleh-boleh saja saya mengikuti tutorial youtube lalu mengubahnya sedikit lalu menyebutnya portofolio buatan saya dan call it day. Selain membuat HR terkesan (tertipu mungkin), manfaatnya untuk kamu apa? Jika itu berguna buat kamu secara intrinsik itu sangat bagus seperti ingin belajar sesuatu cara dibuatnya bagimana, memenuhi kebutuhan ataupun membantu membuat karya termasuk portofolio sebagai bentuk hasil belajar, tapi kalau untuk orang lain seperti lowongkan kerja, bukankah itu termasuk penipuan? ibarat menyirami bangkai dengan minyak wangi, seperti skripsi dan sertifikasi yang lebih mirip transaksi ketimbang aktualisasi diri.

Menumbuhkan keterampilan itu susah. Mungkin ini membuat saya teringat dengan "melakukan bisnis jangan terpaku memikirkan keuntungan tapi cara menguntungkan", orang sibuk fokus belajar teknologi X, Y, Z untuk gaji besar tapi tidak untuk fokus mendalami keterampilan untuk membuat digaji lebih besar.

Ini kenapa sekolah semacam Recurse Center, tidak ada di Indonesia kalau pun ada bakal capek ditanya "kak dapet serti ga?" dulu baru mendapat murid. Programmer kita orangnya terlalu materialistis. Keterampilan di substitusi oleh gelar, sertifikat, kertas berharga dan kode tanpa keringat (formalisasi material tanpa didukung kapasitas rasional). Kemudian ketar-ketir akan digantikan AI, "bukanya dengan ada sertifikat itu kamu memang sudah bisa digantikan dengan orang yang memiliki setifikat yang sama?". Mereka tidak memiliki kesenangan dalam memrogram (muse) atau tidak melihat seni didalamnya yang juga tidak dimiliki AI dan ini yang membuat mereka kenapa bisa digantikan oleh AI. Keterampilan itu bukan sesuatu yang material tetapi rasional, maka membuktikanya dengan menggadakanya dengan berpikir dan berkarya.

Sikap mental materialistik berlebihan ini membuat juga orang sesat menilai FOSS (Free and Open Source) dan mereduksinya secara singkat menjadi "software gratisan, siapa yang gajinya supapya itu bagus?" dan "gak aman karena semua orang bisa masukin kode". Semangat akan kebebasan tergantikan menjadi akses bebas biaya. Bagi kamu yang bergelar, apakah kamu pernah sidang skripsi ? jika tidak, kamu pernah menjalani persidangan ? atau kerja bakti membersihkan selokan? di sana setiap masukan dikaji secara seksama sebelum diterima oleh para partisipanya. Kamu mungkin akan disuruh pulang bila acara membersihkan gorong-gorong tapi membawa traktor atau gergaji mesin. Sebaliknya, jika kamu membawa seteko kopi, bakwan goreng dan samsu sebungkus. Kira-kira kode yang akan masuk ke dalam FOSS menjalani proses moderasi demikian untuk memastikan kelayakan, semua orang punya kesempatan yang sama untuk berkontribusi tetapi tidak semua bisa lolos kelayakan untuk diterima masuk ke codebase.

Tapi ini hanya dipikiran saya aja ga sih? kalau pemrograman itu tidak menyenangkan?

Semoga iya,

Jika tidak maka itu sepi yang saya maksud. Saya menulis ini bukan saya sudah jago, masih banyak ketidaktahuan dalam diri ini, melainkan kesepian, "Programming for Fun" masih adakah itu?