Beberapa tahun lalu, seorang programmer senior pernah bertanya kepada saya: apa bedanya seorang engineer dengan seorang teknisi? Jawabannya, menurutnya, sederhana. Teknisi tahu cara memperbaiki mesin. Engineer tahu mengapa mesin itu rusak. Perbedaan itu, katanya, terletak pada kedalaman pemahaman, bukan pada kecepatan eksekusi.
Sekarang, bayangkan sebuah skenario yang semakin umum. Seorang developer junior membuka Cursor, mengetik prompt dalam bahasa alami, dan dalam hitungan detik mendapatkan ratusan baris kode yang fungsional. Ia tidak tahu algoritma apa yang dipilih AI. Ia tidak paham kompleksitas ruang dan waktu dari solusi tersebut. Ia bahkan tidak yakin apakah ada edge case yang terlewat. Yang ia tahu, kodenya berjalan. Dan di dunia yang terobsesi pada velocity, sering kali itu sudah cukup.
Ini bukan tentang menolak kemajuan. Saya sendiri pengguna berat AI tools, mulai dari Copilot hingga Claude Code. Tetapi ada sebuah pertanyaan filosofis yang mengganjal, semakin sering kita mengalihkan tugas berpikir ke mesin: ketika AI menulis kode, apakah kita masih programmer? Atau kita telah bertransformasi menjadi kurator prompt yang hanya memverifikasi output tanpa benar-benar memahami prosesnya?
Psikolog Daniel Kahneman dalam bukunya Thinking, Fast and Slow membedakan dua mode berpikir manusia: System 1 yang cepat dan intuitif, serta System 2 yang lambat dan analitis. Programming tradisional adalah latihan System 2. Anda merenungkan arsitektur, menimbang trade-off, men-debug dengan teliti, dan memahami setiap lapisan abstraksi. Vibe coding, sebagaimana dipopulerkan oleh Andrej Karpathy, justru mendorong System 1. Anda bergerak cepat, bereksperimen, dan mengandalkan intuisi mesin.
Bukan berarti System 1 buruk. Banyak inovasi besar lahir dari eksperimen cepat. Namun masalahnya muncul ketika System 1 sepenuhnya menggantikan System 2. Seperti seorang musisi yang hanya memainkan MIDI yang di-generate AI tanpa pernah belajar teori harmoni, developer yang hanya memvibe kode tanpa memahami fondasinya akan kehilangan kemampuan untuk menilai kualitas. Mereka tidak bisa membedakan antara solusi elegan dan solusi yang rapuh. Mereka hanya tahu bahwa keduanya berjalan.
Dan ini bukan spekulasi belaka. Sebuah laporan dari Gresham College tentang pendidikan teknologi menunjukkan bahwa otomatisasi berlebihan dalam pembelajaran keterampilan teknis dapat menyebabkan apa yang disebut deskilling: hilangnya keahlian manual dan kognitif yang sebelumnya menjadi standar industri. Di bidang aviasi, pilot yang terlalu bergantung pada autopilot kehilangan kemampuan manual flying. Apakah kita sedang menciptakan generasi developer yang kehilangan kemampuan manual thinking?
Salah satu jebakan kognitif paling berbahaya di era AI adalah ilusi pemahaman. Ketika Anda menulis kode dari nol, Anda dipaksa untuk memahami setiap komponen. Ketika Anda menerima kode dari AI, pemahaman itu menjadi opsional. Otak Anda mengasosiasikan hasil yang berhasil dengan pemahaman yang mendalam, padahal keduanya tidak berkorelasi sempurna. Sebuah program bisa berjalan karena kebetulan, bukan karena desain yang benar.
Ini menjadi lebih berbahaya dalam konteks sistem produksi. Kode yang di-generate AI sering kali terlihat plausible: variabel dinamai dengan baik, komentar ditulis dengan sopan, struktur mengikuti pola yang familiar. Tetapi di balik fasad itu, bisa saja tersembunyi bug race condition, memory leak, atau vulnerability keamanan yang tidak terdeteksi oleh pengguna yang tidak memahami logika mendalam. Seperti rumah yang dibangun dengan fondasi yang tampak solid dari luar, tetapi terbuat dari pasir di bawah tanah.
Andrew Ng, founder Coursera dan DeepLearning.AI, pernah mengatakan bahwa AI tidak akan menggantikan programmer, tetapi programmer yang menggunakan AI akan menggantikan yang tidak. Saya setuju dengan setengahnya. Yang benar adalah: programmer yang menggunakan AI dan memahami apa yang AI hasilkan akan menggantikan yang tidak. Penggunaan AI tanpa pemahaman adalah resep untuk utang teknis yang eksponensial.
Aspek lain yang jarang dibahas adalah dimensi etis dari vibe coding. Ketika sebuah sistem produksi mengalami kegagalan kritis, dan root cause-nya adalah kode yang di-generate AI, siapa yang bertanggung jawab? Developer yang menulis prompt? Perusahaan yang membuat AI model? Atau kita akan menciptakan budaya di mana kesalahan menjadi difus, tanpa pemilik yang jelas?
Profesionalisme dalam software engineering selalu mengandalkan akuntabilitas. Anda menandatangani commit. Anda melakukan code review. Anda memahami setiap baris yang masuk ke codebase. Ketika AI menjadi penulis utama, rantai akuntabilitas itu menjadi kabur. Dan ini bukan masalah hukum semata, tetapi masalah integritas profesional. Seorang dokter tidak bisa menyalahkan stetoskopnya jika diagnosis salah. Seorang engineer tidak bisa menyalahkan AI-nya jika sistem down.
Bagaimana seharusnya kita menggunakan AI, kalau begitu? Jawaban saya: perlakukan AI sebagai asisten yang sangat mahir, bukan sebagai pengganti keputusan. Gunakan AI untuk menghasilkan boilerplate, mengeksplorasi ide, atau menulis test cases. Tetap jangan gunakan AI untuk arsitektur kritis, keputusan keamanan, atau logika bisnis yang kompleks tanpa verifikasi mendalam.
Seorang developer hebat di era AI adalah bukan orang yang menulis prompt terbaik, melainkan orang yang tetap bisa membedakan antara kode yang berfungsi dan kode yang benar. Orang yang tetap mampu membaca implementasi AI dengan mata kritis, men-debug dengan logika manusia, dan mengatakan "tidak" ketika solusi AI terlalu rapuh untuk produksi. Keahlian itu tidak datang dari vibe coding. Keahlian itu datang dari ribuan jam berpikir lambat, mengalami frustrasi, dan membangun pemahaman dari nol.
AI adalah force multiplier, bukan force replacer. Ia mengalikan output dari developer yang sudah baik, tetapi tidak bisa menggantikan fondasi yang belum ada. Jika Anda belum pernah merasakan pahitnya debugging race condition tanpa bantuan AI, Anda mungkin tidak akan mengenali race condition ketika AI menyembunyikannya dalam lapisan abstraksi yang tampak bersih.
Definisi programmer sedang berubah, dan perubahan itu tidak selalu buruk. Tetapi kita perlu memastikan bahwa definisi baru itu tidak menghilangkan esensi dari profesi ini: kemampuan untuk berpikir sistematis, memahami kompleksitas, dan membuat keputusan teknis yang bertanggung jawab. Jika vibe coding mengubah programmer menjadi operator mesin, maka kita telah kehilangan sesuatu yang fundamental.
Di akhirnya, teknologi selalu menjadi cermin dari nilai yang kita pilih. Jika kita memilih kecepatan di atas keahlian, maka kita akan mendapatkan kecepatan. Tetapi kita juga akan mendapatkan sistem yang rapuh, tim yang tidak bisa memperbaiki masalah mereka sendiri, dan sebuah industri yang kehilangan pride of craft. Sebaliknya, jika kita memilih keahlian yang diperkuat oleh AI, bukan digantikan, maka kita akan mendapatkan generasi engineer yang lebih baik dari sebelumnya.
Pilihan itu ada di tangan kita. Dan pilihan itu dimulai dari satu pertanyaan sederhana setiap kali Anda menekan tombol Tab di AI editor: apakah saya benar-benar mengerti apa yang baru saja ditulis di layar saya? Atau saya hanya berharap?
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu