Setiap kali model AI baru dirilis — terutama setelah Fable dan kini dengan GPT-Astra — semua orang berteriak, ‘Rekayasa perangkat lunak sudah mati’. Saya memutuskan untuk menulis ini setelah menonton seorang data scientist terkenal yang, tanpa memberikan justifikasi apa pun, mengucapkan frasa itu lagi. Satu-satunya “bukti otoritas” untuk klaim ini adalah: “Saya duduk bersama eksekutif Microsoft, Google, dan perusahaan lain yang telah membangun produk perangkat lunak tanpa menulis satu baris kode pun.”

Saya percaya pernyataan ini sepenuhnya salah, dan saya akan mulai dengan memberikan alasan teknis, lalu penjelasan antropologis mengapa frasa ini diulang secara berkala.

Alasan Teknis Rekayasa Perangkat Lunak

Alasan teknis #1: Rekayasa perangkat lunak tidak hanya soal kode. Kita semua tahu bagian besar pekerjaan kami adalah menulis kode karena kode adalah cara kami menyelesaikan masalah (karena, mari kita ingat, menjadi engineer berarti menyelesaikan masalah, bukan sekadar membangun sesuatu). Sekarang, mari kita tanya diri sendiri “Bisakah AI mendeteksi masalah dan menyelesaikannya?” Ya, bisa, tapi dengan beberapa masalah: pertama, masalah datang dari interaksi manusia dengan produk, AI tidak bisa berinteraksi dengan produk dengan cara manusia melakukannya. Terkadang bahkan programmer terbaik di dunia tidak bisa mendeteksi masalah sejak awal karena tidak ada yang bisa memikirkan setiap edge case. Kita bisa mengurangi jumlah error produksi menggunakan automated test, tapi probabilitasnya tidak pernah turun ke 0%. Kenapa? Karena alasan yang sama seperti tadi, baik software maupun AI bisa berinteraksi dengan software, tapi TIDAK PERNAH dengan cara manusia melakukannya karena kita berbeda secara struktural.

Alasan teknis #2: Rekayasa perangkat lunak soal infrastruktur. Bagian besar lain dari pekerjaan kami adalah merancang infrastruktur tempat kode akan berjalan. Kita memutuskan arsitektur, memutuskan apakah dan cloud provider mana yang akan digunakan, memutuskan berapa banyak resource yang diberikan ke aplikasi, memutuskan apakah menggunakan pendekatan CI/CD atau tidak, memutuskan cara melacak perubahan, dan seterusnya. Bisakah AI melakukan ini? Ya, bisa, tapi yang memutuskan tetaplah manusia. AI bisa memutuskan aplikasi saya akan menggunakan pendekatan monolitik, tapi mungkin saya ingin menggunakan microservices, jadi saya tetap harus memberi tahu AI cara melakukan sesuatu. Jika saya memberi tahu AI cara melakukan sesuatu, AI bisa mengerjakan pekerjaan kotor, tapi ini tidak sepenuhnya otomatis. Ini mengarah ke pertanyaan lain: Siapa product owner, siapa yang memutuskan cara sebuah produk bekerja? Jika product owner adalah manusia, maka manusia yang memutuskan cara kerja hal-hal, lalu bisa menyuruh AI membuatnya, tapi tetap saja ia membutuhkan pengetahuan rekayasa perangkat lunak untuk memutuskan poin-poin krusial (kalau tidak, kamu menuju risiko men-deploy sesuatu yang tidak dirancang untuk scale up).

Keterbatasan AI dalam Pemrograman

Alasan teknis #3: AI saat ini dibuat untuk memprediksi kata. Jangan salah paham, AI sangat bagus dalam pemrograman, tapi pertanyaan sebenarnya: kenapa? Pemrograman, pada dasarnya, terdiri dari menulis urutan kata dalam urutan yang sangat spesifik. Mengubah urutan kata-kata itu atau kata-kata itu sendiri bergantung pada data tempat model dilatih. Jadi, wajar jika AI dianggap pandai menulis kode, tapi pandangan ini memperlakukan pemrograman seolah-olah itu bahasa alami yang berubah berdasarkan tata bahasa dan makna yang ingin kamu berikan pada kalimat. Saya berbicara Italia, Inggris, dan Spanyol. Setiap hari saya menulis kode Java untuk kerja dan kode C sebagai hobi, tapi ketika saya berbicara dengan pacar saya, saya tidak memakai Java atau C. Bisa kamu bayangkan? “Hei sayang” akan menjadi teks yang dicetak oleh Spring Boot di terminal saat server menyala, lalu “while(isNotDinnerTime(currentTime)) relaxAndHaveSomeSex();”

Bahkan sistem AI “agent” tidak lebih dari development environment yang mengikuti perintah yang dikeluarkan LLM dalam format tertentu. Jika saya menulis instruksi dalam format yang sama seperti LLM, maka saya bisa menggunakan sistem “berbasis agent” ini karena pada dasarnya hanya runtime looping sederhana. Ini memberi kesan seolah-olah benar-benar melakukan sesuatu, tapi tidak ada yang ajaib, dan melakukannya dalam konteks yang bisa diciptakan developer mana pun. Keadaan saat ini, saya menemukan mustahil bagi AI menggantikan sesi debugging saya antar microservices yang saling memanggil. AI harus bisa memakai AWS, Jenkins, dan IntelliJ untuk mengelola kode, log, release, dan test di lingkungan pre-production. Kamu bisa membangun sesuatu yang melakukan itu, tapi akan terbatas pada tools spesifik yang dipakai. Jika produk dimigrasi ke Azure besok, seluruh agent harus dibuang dan dibangun ulang untuk stack baru, sedangkan manusia langsung siap kerja.

Akhirnya, bahkan jika mampu, itu akan mengonsumsi jumlah token yang tak terbayangkan (sama seperti yang dihasilkan otak saya dalam bentuk pikiran selama seluruh proses pengembangan — dengan bedanya otak saya memakai area spesifik dan jalur neural yang hampir tetap, berbeda dari LLM yang berulang kali menggunakan seluruh layer-nya).

Penjelasan Antropologis Seputar Hype AI

Penjelasan antropologis #1: Duduk di meja bersama perusahaan besar tidak berarti kamu atau orang di sebelahmu tahu segalanya. Ingat Sam Altman dan Elon Musk tahun 2020? Saya ingat. Mereka masih berhubungan baik dan keduanya berkata, “Dalam 11 bulan ke depan, semua pekerjaan white collar dan blue collar akan hilang.” Lalu CEO Anthropic menambahkan: “Dalam dua tahun ke depan, tidak akan ada lagi kebutuhan tenaga kerja manusia.” Dan akhirnya bos dari semua idiot revolusi AI itu: CEO Nvidia. “Dalam satu tahun bahasa Inggris akan jadi bahasa pemrograman”; “Pekerjaan pertama yang hilang adalah radiolog”; “Jika gaji saya $500k/tahun tidak menghabiskan SETIDAKNYA $250k/tahun untuk token, saya akan sangat khawatir”. Sudut pandang menarik dari seseorang yang menjual token.

Inti penjelasan di sini: SETIAP ORANG bisa salah dan setiap orang bisa benar. AI adalah bidang yang berkembang sangat cepat, itu sebabnya probabilitas salah atau benar hampir 50%, tidak peduli apakah kamu mengirim roket ke Mars, memproduksi GPU, atau baru menyelesaikan PhD. Orang-orang sepertinya lupa omong kosong yang dihembuskan orang-orang brengsek ini dan tetap mendengarkan mereka, gagal menyadari bahwa mereka punya taruhan finansial besar untuk mencegah keruntuhan yang pasti akan datang mengetuk pintu cepat atau lambat.

Sentimen terhadap Profesi Pengembang

Penjelasan antropologis #2: Rekayasa perangkat lunak adalah profesi paling dibenci masa kini. Selama pandemi, seluruh pasar kerja berhenti. Setiap pekerjaan terancam. Hanya satu kelompok yang selamat: software engineer yang bisa bekerja remote. Selama itu, internet dibanjiri postingan developer yang berlibur ke Maldives membawa laptop, memamerkan gaya hidup palsu berisi gaji besar, pemandangan laut, dan kebebasan pergi ke mana pun di saat seluruh dunia terkunci di rumah. Tepat pada momen itulah siapa pun yang bekerja langsung di kantor mulai frustrasi dengan pekerjaannya, sementara kelompok lain tampak bebas. Sekarang mereka pikir kita sudah mati karena keinginan balas dendam mereka.

Menurut saya, inilah mengapa developer menjadi sasaran utama. Masih banyak pekerjaan lain yang memakai kata setiap hari: penyanyi memakai kata, penerjemah, penulis, guru, produser musik memakai not (yang pada dasarnya adalah kata yang bisa diubah software biasa menjadi musik), agensi periklanan, politisi, dan daftarnya tak habis-habis. Dan setelah setiap model baru dirilis, saya tidak mendengar orang berkata, “Penyanyi sudah selesai,” “Penulis sudah tidak punya alasan untuk exist,” atau “Komunikator sains? Usang.”

Jika kamu sudah membaca sampai akhir, terima kasih banyak sudah membaca kata-kata saya.