Clean Code ≠ Clean Experience

Waktu kamu bangga bilang:

“Kita pakai arsitektur yang scalable banget.”
Atau:
“Kode kita clean dan modular. Pakai prinsip SOLID.”

User akan nanya satu hal:

“Terus… ini cara pakenya gimana?”

Dan kalau mereka kebingungan,
mereka nggak akan buka Notion.
Nggak akan baca dokumentasi.
Apalagi nyari flow di Figma.

Yang mereka lakukan:
Tutup tab.
Uninstall app-nya.
Atau nanya di WhatsApp jam 11 malam, “Ini pencet yang mana sih?”

Bagian dari seri “Syntax Error (in Communication)” — catatan jujur dari dapur produk digital.

Teknologi = Pemecahan Masalah (Buat Manusia)

Di post sebelumnya, saya nulis:

“Teknologi adalah penerapan pengetahuan ilmiah untuk memecahkan masalah manusia.”

Tapi sering banget, tim produk dan teknikal lebih sibuk mikirin:

  • Stack apa yang kita pakai
  • Seberapa rapi struktur filenya
  • Atau betapa elegan cara fungsi dipanggil di backend

Sementara dari sisi user:
“Saya bisa login gak?”
“Kalau klik ini, data saya aman gak?”
“Ini bisa bantu kerja saya jadi lebih cepat nggak?”

User nggak akan bilang:

“Wah, kalian pakai TypeScript ya! Keren!”

Yang mereka mau adalah:
“Saya ngerti ini harus ngapain, tanpa nanya siapa-siapa.”

Contoh Klasik: Form Isian dengan Validasi “Pintar”

Saya pernah terlibat di proyek internal — sistemnya rapi, pakai validation schema, auto error handler, dan field logic yang saling nyambung.

Masalahnya:
User yang harus ngisi form itu adalah staf admin di kantor cabang.
Mereka bukan nggak mau belajar.
Tapi tekanan kerja harian mereka tinggi, waktu mereka terbatas.

Dan yang mereka bilang ke saya:

“Mbak, aku isi ini kok warnanya merah terus, ya?
Aku takut salah. Aku jadi nggak berani submit.”

Padahal sistem kita pintar banget lho.
Tapi pintar buat kita — bukan buat mereka.

Contoh Lain: Produk B2B yang “Keren Tapi Buntu”

Pernah juga saya review satu platform B2B.
Secara teknikal: dashboard-nya sophisticated.
Ada tab “Pipeline,” “Data Lake,” dan “Automation Logic.”

Masalahnya: user-nya baru pindah dari Excel.
Pas mereka login pertama kali, mereka tanya:

“Jadi saya harus klik yang mana dulu biar bisa upload data?”

Dan nggak ada satupun flow yang jawab itu dengan jelas.
Akhirnya?
Yang mereka lakukan: kirim data via WhatsApp ke tim support.
Lalu bilang:

“Minta tolong upload-in ya. Aku takut salah.”

Clean Code ≠ Clean Experience

Saya percaya, clean code penting.
Maintainability itu harga mati.

Tapi user nggak pernah lihat src/.

Yang mereka lihat: UI-nya bingungin, flow-nya muter, atau feedback-nya telat.

Jadi clean code tanpa empati itu kayak restoran yang dapurnya bersih banget,
tapi makanan yang sampai ke meja dingin dan nggak enak.

Closing: Kode yang Dipakai Itu Lebih Penting Dari Kode yang Rapi

Saya nggak bilang kita harus buang best practice.

Tapi kalau bicara prioritas saat bikin produk,
urutan pertama bukan: “Apakah ini scalable?”
Tapi: “Apakah ini dipahami?”

Karena produk yang dipakai itu bukan produk yang sempurna.
Tapi produk yang jelas, berguna, dan nggak bikin frustrasi.