Ada satu momen aneh yang saya alami beberapa bulan lalu. Saya sedang membangun fitur otentikasi untuk sebuah side project. Biasanya, proses ini akan memakan waktu dua sampai tiga hari: merancang skema database, menangani edge cases, memastikan flow token aman, lalu debugging sampai mata berkunang-kunang. Kali ini, berkat AI agent yang saya instruksikan dengan beberapa prompt, fitur itu jadi dalam dua jam. Saya bahkan tidak menyentuh satu baris kode pun selama 90 persen dari proses tersebut. Fitur itu berjalan lancar. Tapi di malam harinya, saya justru merasa... kosong.
Ini yang kemudian saya sebut sebagai kematian rasa sakit.
Pada awal tahun 2025, Andrej Karpathy, mantan direktur AI di Tesla, mencetuskan istilah "vibe coding" dalam sebuah cuitan yang viral. Ia menggambarkan pengalaman membangun software dengan cara yang hampir sepenuhnya delegatif: Anda mendeskripsikan apa yang Anda inginkan dalam bahasa alami, AI menulis kodenya, Anda melihat hasilnya, lalu mengoreksi dengan prompt berikutnya. Tidak ada debugging manual yang menyiksa. Tidak ada stack overflow pada tengah malam. Tidak ada momen eureka ketika bug akhirnya tertangkap setelah delapan jam staring contest dengan terminal.
Vibe coding bukan sekadar alat bantu. Ia adalah pergeseran paradigma. Seperti yang ditunjukkan dalam diskusi panas di Hacker News, komunitas developer terbelah antara mereka yang melihat ini sebagai pembebasan akhir dari tugas-tugas repetitif, dan mereka yang curiga kita sedang melepas sesuatu yang fundamental.
Filosof Jerman, Friedrich Nietzsche, pernah menulis: "Apa yang tidak membunuhku, membuatku lebih kuat." Dalam konteks software engineering, rasa sakit itu adalah debugging. Rasa sakit itu adalah ketika Anda salah mengira race condition adalah masalah database. Rasa sakit itu adalah ketika Anda menghabiskan weekend hanya untuk menyadari kesalahan ada di satu typo pada baris 347. Rasa sakit itu adalah harga yang Anda bayar untuk deeply understanding sistem yang Anda bangun.
Tanpa rasa sakit ini, apa yang sebenarnya kita pahami?
Saya bukan orang yang romantis dengan penderitaan. Tapi saya percaya pada konsep yang dikenal psikolog sebagai desirable difficulty -- kesulitan yang sengaja dan produktif. Otak manusia tidak belajar dengan efisien ketika informasi disajikan terlalu mulus. Kita belajar ketika kita berjuang, ketika kita salah, ketika kita harus membangun model mental yang koheren dari kekacauan. Vibe coding menghapus kesulitan itu. Ia memberikan solusi tanpa memberikan pemahaman.
Ada analogi yang sering saya gunakan: vibe coding adalah seperti autopilot canggih dalam kokpit pesawat. Pilot yang dilatih dengan autopilot sejak awal mungkin sangat mahir memasukkan koordinat dan memantau dashboard. Tapi ketika sistem gagal di tengah badai, apa yang mereka miliki? Mereka tidak punya muscle memory dari ribuan jam terbang manual. Mereka tidak punya intuisi yang diasah oleh near-miss dan recovery.
Kita sedang menciptakan generasi prompt engineer yang bisa meluncurkan startup dalam seminggu, tapi tidak bisa menjelaskan mengapa recursive function mereka menyebabkan stack overflow. Bukan karena mereka bodoh. Tapi karena mereka tidak pernah merasakan luka yang dibuat oleh recursive function itu sendiri.
Tentu saja ada counter-argument yang kuat. Dulu, programmer menulis assembly dengan tangan. Lalu datang compiler C yang "mengabstraksi" kerumitan tersebut. Lalu datang framework dan garbage collector. Setiap kali abstraksi baru muncul, ada jeritan serupa: "Ini akan membunuh skill programming sejati!" Tapi industri terus berkembang.
Bedanya, menurut saya, terletak pada transparansi. Compiler masih menghasilkan output yang bisa Anda trace dan pahami. Framework masih punya source code yang bisa Anda baca. Vibe coding, terutama dalam bentuk black-box AI agent, menghasilkan sistem yang bahkan tidak bisa penulisnya jelaskan sepenuhnya. Kita bukan hanya berdiri di atas bahu raksasa; kita sedang meminta raksasa itu untuk berjalan sambil kita tutup mata.
Saya sering bertanya-tanya: jika seorang developer Indonesia baru memulai karirnya hari ini, seberapa pentingkah belajar algoritma dan struktur data? Seberapa relevankah memahami Big O notation? Jawaban saya mungkin tidak populer: sangat penting. Bukan karena Anda akan menulis linked list dari nol di tempat kerja. Tapi karena pemahaman tersebut adalah vocabulary yang Anda gunakan untuk berpikir. Seperti seorang penyair yang tetap perlu memahami tata bahasa meski ia bisa menggunakan auto-correct.
Di era vibe coding, identitas programmer tidak lagi ditentukan oleh kecepatan mengetik atau jumlah bahasa yang dikuasai. Ia ditentukan oleh kemampuan untuk mengarahkan, memahami, dan mempertanggungjawabkan apa yang dibangun mesin atas nama kita. Prompt engineering adalah skill yang valid. Tapi ia tidak bisa menggantikan engineering itu sendiri.
Jadi apa yang bisa kita lakukan? Saya tidak punya jawaban final. Tapi saya punya ritual kecil: setiap minggu, saya menyisihkan satu sesi coding tanpa AI. Bukan karena saya anti-teknologi. Tapi karena saya ingin tetap merasakan gesekan. Saya ingin tetap mengalami momen frustrasi yang memaksa saya untuk berpikir lebih dalam. Saya ingin tetap menjadi programmer yang bisa berdiri sendiri ketika vibe-nya sedang tidak berfungsi.
Mungkin ini nostalgia yang tidak produktif. Mungkin saya hanya seorang engineer tua yang mengeluh. Tapi saya curiga ada banyak dari Anda yang merasakan hal yang sama -- kekosongan aneh setelah shipping fitur tanpa benar-benar memahaminya.
AI akan tetap ada. Vibe coding akan semakin canggih. Tapi pertanyaannya bukan apakah kita akan menggunakannya. Pertanyaannya adalah: saat kita menggunakannya, apakah kita masih tahu siapa diri kita tanpanya?
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu