Vibe Coding: Penjual dan Pembeli
Ada percakapan yang semakin sering saya dengar.
“Sekarang kan ada AI, ngapain bayar mahal? Tinggal prompt aja, semua orang bisa bikin aplikasi.”
Kalimat ini datang dari dua arah. Dari orang yang menjual jasa vibe coding dengan percaya diri yang tidak proporsional dengan kompetensinya. Dan dari klien yang percaya bahwa tools canggih otomatis menghasilkan hasil yang canggih.
Keduanya salah. Dan konsekuensi dari kesalahan ini tidak ditanggung oleh mereka yang mengucapkannya.
Ada hal yang mungkin tidak dipahami oleh kedua pihak. Baik yang menjual maupun yang membeli.
Vibe coder melihat: prompt masuk, kode keluar, aplikasi jalan. Selesai. Invoice dikirim, proyek ditutup, LinkedIn di-update dengan portfolio baru.
Yang tidak terlihat karena mereka tidak tahu harus melihat ke mana:
Penjual!
Apakah ada SQL injection di form login? Satu input yang tidak di-sanitize bisa membuka seluruh database ke siapa pun yang tahu cara mengeksploitasinya.
Apakah ada race condition kalau 100 user mengakses bersamaan? Sistem yang lancar di testing dengan 3 user bisa collapse total ketika traffic nyata datang.
Apakah ada memory leak yang akan membunuh server dalam 72 jam? Aplikasi terlihat sempurna di hari pertama, lalu semakin lambat, semakin lambat, sampai akhirnya mati tanpa peringatan.
Apakah ada edge case yang akan corrupt data user? Satu skenario yang tidak tertangani bisa menghancurkan integritas data yang sudah dibangun berbulan-bulan.
Mereka tidak tahu apa yang tidak mereka tahu. Dan klien yang menerima jasa ini juga tidak tahu bahwa mereka sedang membeli ketidaktahuan.
Sindiran paling efektif kadang bukan statement, tapi pertanyaan yang mengekspos ketidaktahuan.
“Kalau ada bug di production, apa langkah pertama yang kamu lakukan?”
“Bagaimana kamu memastikan tidak ada N+1 query di endpoint ini?”
“Kenapa kamu pilih arsitektur ini dan bukan yang lain? Apa trade-off yang kamu pertimbangkan?”
“Bagaimana kamu handle concurrent write ke resource yang sama?”
Berpikir menanyakan pertanyaan ini ke AI?
Kalau jawabannya “tanya AI lagi” atau blank stare atau “itu nanti kalau sudah kejadian”, itu semua informasi yang perlu diketahui tentang siapa yang sedang kamu ajak bicara.
Pembeli!
“Siapa yang akan maintain sistem ini 2 tahun dari sekarang?”
“Kalau ada security breach dan data user bocor, siapa yang accountable?”
“Apa exit strategy kalau developer ini tiba-tiba tidak available?”
“Sudah ada estimasi total cost of ownership, atau baru lihat invoice pertama?”
Bisa dan Mampu Adalah Dua Hal Berbeda
Semua orang bisa. Tidak semua orang mampu.
Bisa menghasilkan output. Mampu mempertanggungjawabkan output.
Vibe coder bisa menghasilkan aplikasi e-commerce dalam seminggu. Kode jalan, tampilan oke, demo ke klien lancar. Tapi apakah dia mampu menjelaskan kenapa arsitekturnya seperti itu? Apakah dia mampu debug ketika payment gateway timeout di tengah transaksi dan uang user sudah terpotong tapi order tidak tercatat? Apakah dia mampu scale ketika traffic melonjak 10x saat flash sale dan sistem harus tetap berdiri?
Bisa adalah privilege dari tools. Siapa pun yang punya akses ke Claude atau GPT bisa generate kode yang terlihat profesional.
Mampu adalah hasil dari pengalaman. Dari tahun-tahun menghadapi production issue. Dari debugging yang menyakitkan. Dari keputusan arsitektur yang salah dan harus hidup dengan konsekuensinya. Dari postmortem yang mengajarkan sesuatu yang tidak bisa dipelajari dari tutorial.
AI tidak memberikan pengalaman. AI memberikan output. Perbedaan ini krusial dan sering diabaikan.
Transfer Risiko yang Tidak Disadari
Ini yang jarang dibicarakan: siapa sebenarnya yang menanggung risiko?
Yang murah itu bukan jasanya. Yang murah itu standar pertanggungjawabannya.
Ketika sistem break, vibe coder tidak kehilangan apa-apa. Mereka sudah dibayar, proyek sudah closed, mereka move on ke klien berikutnya. Kalau ditanya kenapa bisa terjadi, mereka akan bilang “AI yang generate, saya cuma prompt” atau “spesifikasinya kurang jelas” atau “ini di luar scope”.
Yang menanggung?
Klien yang harus membayar orang lain untuk memperbaiki. Bisnis yang kehilangan revenue selama sistem down. User yang datanya bocor dan tidak tahu harus komplain ke siapa. Tim internal yang harus membereskan kekacauan yang bukan mereka buat.
Memilih vibe coder bukan memilih solusi murah. Memilih vibe coder adalah memindahkan risiko dari service provider ke diri sendiri, tanpa sadar bahwa transfer itu terjadi.
Mereka menjual output. Kamu membeli risiko.
Demokratisasi Akses, Bukan Demokratisasi Kompetensi
Mari kita luruskan satu hal: AI adalah kemajuan yang luar biasa. Saya menggunakannya setiap hari. Tools ini powerful dan transformatif.
Tapi ada perbedaan penting yang sering dicampur adukkan.
AI menurunkan barrier to entry, bukan barrier to quality.
Dulu, untuk membuat aplikasi, harus belajar programming bertahun-tahun. Memahami syntax, logic, paradigm, architecture. Sekarang, siapa pun bisa generate kode dengan prompt natural language. Ini demokratisasi akses, dan ini bagus. Lebih banyak orang bisa berpartisipasi dalam pembuatan software.
Tapi kemampuan untuk mengevaluasi apakah kode itu benar, secure, scalable, maintainable? Itu tidak ikut terdemokratisasi. Itu tetap butuh pengalaman. Tetap butuh jam terbang. Tetap butuh exposure ke berbagai mode kegagalan. Tetap butuh pemahaman tentang konsekuensi dari setiap keputusan teknis.
Vibe coder tanpa fundamental adalah orang yang punya akses ke perpustakaan tapi tidak bisa membaca. Mereka bisa masuk, bisa pegang buku, bisa foto-foto untuk portfolio. Tapi mengekstrak knowledge dari buku itu? Mengaplikasikannya dengan tepat? Mengetahui buku mana yang relevan untuk masalah spesifik? Itu skill yang berbeda.
Akses ke tools tidak sama dengan kompetensi menggunakan tools.
Apa yang Membedakan
AI tidak menggantikan expertise. AI mempercepat orang yang sudah punya expertise dan mempercepat kegagalan orang yang tidak punya.
Di tangan engineer berpengalaman, AI adalah akselerator yang luar biasa. Prompt yang ditulis lebih presisi karena tahu persis apa yang dibutuhkan dan apa yang harus dihindari. Review yang dilakukan lebih tajam karena sudah pernah melihat pola kegagalan serupa. Keputusan untuk menerima atau menolak suggestion terjadi dalam hitungan detik karena ada frame of reference dari pengalaman.
Di tangan orang tanpa fundamental, AI adalah illusion generator. Output terlihat profesional, kode terlihat clean, aplikasi terlihat jalan. Tapi tidak ada kemampuan untuk mengevaluasi apakah yang terlihat itu sesuai dengan kenyataan.
Yang membedakan engineer dan vibe coder bukan output-nya di hari pertama. Yang membedakan adalah apa yang terjadi ketika output itu gagal. Yang satu tahu cara mendiagnosa, memperbaiki, dan mencegah kejadian serupa. Yang satu lagi hanya bisa generate prompt baru dan berharap hasilnya berbeda.
Kalau kamu tidak bisa menjelaskan kenapa kode itu bekerja, kamu tidak akan bisa menjelaskan kenapa kode itu berhenti bekerja.
Kalau kamu baru masuk ke dunia ini lewat AI, tidak ada yang salah dengan itu. Ini pintu masuk yang valid.
Tapi jangan berhenti di pintu masuk.
Gunakan AI untuk belajar, bukan untuk menggantikan belajar. Ketika AI menghasilkan kode, jangan langsung copy-paste. Baca. Pahami. Tanya kenapa seperti itu. Coba modifikasi dan lihat apa yang terjadi. Pecahkan sengaja dan pelajari cara memperbaikinya.
Bangun fundamental. Pahami bagaimana database bekerja, bukan hanya cara query-nya. Pahami bagaimana network request terjadi, bukan hanya cara memanggil API. Pahami konsep security, bukan hanya cara pasang library authentication.
Jangan oversell kemampuan. Kalau kamu belum punya pengalaman production, jangan ambil proyek yang membutuhkan reliability production-grade. Mulai dari yang kecil, bangun portfolio, kumpulkan pengalaman, tingkatkan kapasitas secara bertahap.
Jujur tentang limitasi. Kepada klien, kepada diri sendiri. Lebih baik menolak proyek yang di luar kemampuan daripada mengambil dan gagal. Reputasi dibangun dari kejujuran, bukan dari portfolio yang impressive tapi tidak bisa dipertanggungjawabkan.
Jangan percaya penjual
Memilih developer karena tools yang dia pakai seperti memilih pilot karena pesawatnya bagus.
Pesawat yang sama di tangan pilot berpengalaman dan di tangan orang yang baru belajar dari YouTube akan memberikan pengalaman penerbangan yang sangat berbeda. Mungkin keduanya bisa take off. Tapi ketika ada turbulensi, ketika ada engine warning, ketika cuaca berubah drastis, perbedaan itu menjadi sangat nyata.
Beberapa pertanyaan untuk membantu evaluasi:
Tanya tentang kegagalan. “Ceritakan tentang proyek yang gagal atau bug terburuk yang pernah kamu hadapi.” Orang berpengalaman punya cerita ini dan bisa menjelaskan apa yang dipelajari. Orang tanpa pengalaman akan kesulitan menjawab karena belum pernah menghadapi kegagalan yang cukup signifikan untuk dipelajari.
Tanya tentang trade-off. “Kenapa pilih pendekatan ini dan bukan yang lain?” Orang yang paham akan bisa menjelaskan alternatif yang dipertimbangkan dan alasan memilih satu di atas yang lain. Orang yang hanya copy dari AI akan kesulitan karena tidak pernah melalui proses deliberasi itu.
Tanya tentang maintenance. “Bagaimana strategi jangka panjang untuk sistem ini?” Orang yang berpikir beyond delivery akan punya jawaban. Orang yang hanya fokus pada output immediate akan terlihat blank.
Cek referensi. Bukan hanya portfolio, tapi testimony dari klien sebelumnya. Khususnya klien yang sudah bekerja sama lebih dari 6 bulan. Masalah dari development yang buruk biasanya baru muncul setelah beberapa bulan.
Perhatikan bagaimana mereka bertanya. Developer yang bagus akan banyak bertanya sebelum mulai mengerjakan. Tentang bisnis, tentang user, tentang constraint, tentang prioritas. Developer yang langsung bilang “bisa, gampang” tanpa pertanyaan mungkin tidak memahami kompleksitas yang sebenarnya.
Experience
Ketika kamu membayar engineer berpengalaman, kamu tidak membayar jam kerjanya. Kamu tidak membayar baris kodenya.
Kamu membayar:
Tahun-tahun kegagalan yang sudah dialami sehingga kamu tidak perlu mengalaminya.
Intuisi yang terbentuk dari ratusan keputusan dan melihat konsekuensinya.
Kemampuan untuk mengantisipasi masalah sebelum masalah itu terjadi.
Kepercayaan bahwa ketika ada yang salah, ada seseorang yang mampu memperbaiki.
Peace of mind bahwa fondasi yang dibangun cukup kuat untuk menopang pertumbuhan ke depan.
Ini yang tidak bisa di-generate oleh AI. Ini yang tidak bisa dibeli dengan harga murah. Ini yang membedakan investasi dari pengeluaran.
Penutup
Vibe coding adalah fenomena yang tidak akan hilang. AI akan semakin powerful, akses akan semakin mudah, barrier to entry akan semakin rendah. Ini evolusi yang tidak bisa dan tidak perlu dilawan.
Tapi evolusi tools tidak mengubah hukum dasar: kualitas membutuhkan kompetensi, kompetensi membutuhkan pengalaman, pengalaman membutuhkan waktu dan exposure ke kegagalan.
Belum ada shortcut untuk ini. Belum ada prompt yang cukup panjang. Belum ada AI yang cukup canggih.