Apa artinya menjadi software engineer yang jago di tahun 2026 ini, ketika sebuah prompt bisa menghasilkan ribuan baris kode fungsional dalam hitungan detik?
Andrej Karpathy, mantan director of AI di Tesla dan salah satu researcher paling berpengaruh di ranah AI, baru-baru ini mempopulerkan istilah vibe coding lewat sebuah thread di X. Intinya: dia menulis kode dengan terus-menerus berdialog dengan AI. Tidak ada blueprint, tidak ada desain dokumen, tidak ada pemikiran mendalam tentang arsitektur. Hanya vibe: sebuah aliran kreatif yang ditemani asisten AI.
Karpathy mengaku bahwa dia bahkan tidak selalu memahami kode yang dihasilkan. Dia hanya merasakan bahwa kode itu bekerja, dan kalau tidak bekerja, dia meminta AI untuk memperbaikinya. Bagi sebagian orang, ini adalah utopia produktivitas. Bagi yang lain, ini adalah alarm kematian software craftsmanship.
Untuk memahami mengapa ini penting, kita perlu melihat ke belakang. Dulu, software engineering adalah sebuah craft. Seperti tukang kayu yang memahami serat kayu, seorang engineer memahami setiap layer abstraksi yang digunakannya. Dia tahu mengapa array di sini, mengapa hash map di sana, mengapa recursion lebih baik daripada iteration untuk kasus tertentu. Setiap baris kode adalah keputusan filosofis, bukan hanya instruksi untuk mesin.
Namun sekarang, semakin banyak engineer yang beralih ke mode vibe coding. Mereka mendeskripsikan masalah dalam bahasa alami, menerima kode dari AI, lalu menempelkannya ke codebase tanpa sepenuhnya memahami implikasinya. Diskusi di Hacker News menunjukkan perpecahan yang dalam: satu kubu merasa ini adalah evolusi natural, kubu lain melihatnya sebagai kekambuhan industri.
Tentu saja, abstraksi bukan hal baru. Dulu kita menulis assembly, lalu Fortran, lalu C, lalu Python. Setiap kali, layer abstraksi baru membuat programmer lebih jauh dari mesin. Tapi ada satu perbedaan fundamental: abstraksi-abstraksi sebelumnya masih dipahami oleh manusia. Seorang programmer Python masih bisa, jika perlu, melihat bytecode-nya. Seorang web developer masih bisa membaca HTTP request mentah. Abstraksi dulu adalah tangga yang bisa kita turuni kapan saja untuk memeriksa fondasinya.
Kode yang dihasilkan AI tidak seperti itu. Ia adalah kotak hitam yang berkilau, sering kali berisi dependency yang tidak perlu, pattern yang aneh, atau solusi yang bekerja kebetulan. Dan karena bekerja kebetulan di 95% kasus, engineer tidak merasa perlu untuk memahami 5% sisanya - sampai production down pada hari Sabtu dini hari, dan tidak ada yang tahu cara memperbaikinya. Bedanya dengan abstraksi tradisional: AI tidak memberikan tangga. Ia memberikan lift mewah yang berjalan di kecepatan tinggi, tapi tidak ada tangga darurat.
Ada sebuah fenomena yang lebih mengkhawatirkan: voodoo programming berkembang biak di skala industri. Dulu, voodoo programming adalah junior developer yang menyalin kode dari Stack Overflow tanpa mengerti. Sekarang, voodoo programming dilakukan oleh senior engineer yang menyalin kode dari Claude atau Copilot - dan bedanya, skalanya jauh lebih besar. Satu prompt bisa menghasilkan 500 baris kode yang tersebar di 15 file, dan tidak ada yang benar-benar memahami keterkaitannya.
Yang lebih menakutkan lagi: generasi engineer baru mungkin tidak pernah melewati fase di mana mereka harus memikirkan algoritma, struktur data, atau trade-off arsitektur. Mereka belajar berdialog dengan AI, bukan belajar software engineering. Seperti belajar mengemudi tanpa tahu apa itu rem atau gas - asalkan mobilnya bisa mengantar ke tujuan, siapa peduli mekanisme di baliknya?
Sampai suatu hari, mobilnya mogok di tengah jalan tol, dan tidak ada manual yang bisa dibaca karena semua manual juga ditulis AI.
Salah satu prinsip tertua dalam software engineering adalah you build it, you run it. Tapi jika yang build adalah AI, siapa yang run? Siapa yang bertanggung jawab ketika sistem yang digenerate AI gagal dan tidak ada manusia yang memahami codebase cukup baik untuk memperbaikinya?
Kita sedang membangun sebuah industri di mana kompleksitas disembunyikan bukan oleh abstraksi yang terdesain dengan baik, melainkan oleh stokastik generator yang tidak punya konsep kebenaran, hanya kemungkinan. Dan kita menyebutnya vibe. Ini bukan hanya masalah teknis. Ini adalah masalah etika profesional. Ketika kita menyerahkan keputusan arsitektur pada model statistik, kita pada dasarnya menyerahkan otonomi profesional kita.
Mungkin tidak. Sejarah teknologi penuh dengan transisi yang menggembung. Ketika kompiler pertama muncul, programmer assembly mengira dunia akan berakhir. Ketika framework web muncul, pure HTML coder mengira skill mereka tidak lagi bernilai. Tapi setiap kali, adaptasi terjadi. Engineer yang bertahan bukan yang menolak abstraksi baru, melainkan yang memahami kapan menggunakan abstraksi dan kapan menolaknya.
Vibe coding bisa menjadi alat yang ampuh untuk prototyping, eksplorasi, dan automasi repetitif. Tapi ia tidak boleh menjadi pengganti untuk thinking. Karena pada akhirnya, software engineering bukan tentang menulis kode - itu hanya mediumnya. Software engineering adalah tentang memecahkan masalah manusia dengan sistem yang bisa diandalkan, dipelihara, dan dipahami.
Jika kode kita tidak lagi bisa dipahami manusia, termasuk engineer yang menulisnya, apakah kita masih membangun software? Atau kita sedang membangun sebuah mesin doa, yang berhasil kadang-kadang, dan gagal secara misterius?
Dan pertanyaan terakhir yang mungkin lebih penting: di era di mana AI bisa menulis kode lebih cepat dari manusia, apakah nilai seorang engineer terletak pada kecepatan menulis kode, atau pada kemampuan untuk memikirkan apa yang seharusnya ditulis - dan mengapa?
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu