- Uncle Bob, yang terkenal lewat "Clean Code", menyatakan bahwa era ketika AI menulis kode jauh lebih cepat daripada developer telah tiba, dan mendesak perubahan peran developer
- Karena tugas yang biasanya memakan waktu sehari bisa diselesaikan AI dalam 5 menit, era developer menulis kode sendiri sudah berakhir
- Namun, hal itu justru memberi developer kekuatan yang sangat besar, sehingga mereka bisa melakukan hal-hal yang dulu bahkan tidak terpikirkan
- Test coverage memang menyakitkan, tetapi developer kini bisa meminta AI untuk memastikan test coverage, lalu memanfaatkan mutation tester untuk memverifikasi efektivitas nyata dari pengujian
- Dikombinasikan dengan alat analisis cyclomatic complexity, AI dapat diarahkan untuk meningkatkan kualitas kode ke tingkat yang jauh lebih tinggi daripada sebelumnya
Skrip dari video terlampir
> Mari hadapi kenyataannya. AI menulis kode beberapa kali lebih cepat daripada kalian. Pekerjaan yang butuh sehari bagi kalian, AI bisa menyelesaikannya dalam 5 menit. Sudah selesai. Era ketika kalian menulis kode secara langsung telah berakhir. Saya tahu. Terimalah.
>
> Tapi begini. Justru itu memberi kalian kekuatan yang luar biasa. Karena sekarang kalian bisa melakukan hal-hal yang sebelumnya bahkan tak pernah kalian bayangkan.
>
> Misalnya, pikirkan test coverage. Saya tahu betapa menyakitkannya itu. Kalian harus menulis semua test yang menyebalkan itu. Namun, hanya karena ada test bukan berarti kode benar-benar berjalan dengan baik. Kita menjalankan code coverage lalu tersenyum kecil sambil berkata, "Ya, benar, tapi itu bukan berarti kodenya benar-benar bekerja... cuma berarti kodenya dieksekusi."
>
> Sekarang itu bisa diperbaiki. Karena kita punya tenaga (horsepower). Minta AI untuk mencakup kodenya, lalu jalankan mutation tester. Ya, itu alat. Kalian juga bisa menyuruh AI membuat alat itu. Dibuat dalam 5 menit. Lalu suruh AI menjalankan alat tersebut. Alat itu akan mengubah source code dan menjalankan semua test. Jika test tidak gagal? Maka tulis test yang membuatnya gagal. Dengan begitu kalian akan memiliki test coverage yang nyata.
>
> Saya bersumpah, kalian akan punya test coverage yang nyata.
>
> Dan tahu lagi apa yang bisa kalian lakukan? Kalian bisa menganalisis kualitas kode. Kalian bisa menulis alat untuk melihat cyclomatic complexity. Sebenarnya, alat yang hebat sudah ada. Alat itu sudah berumur 20 tahun. Namanya CRAP. Nama yang bagus. Saya tidak tahu itu singkatan dari apa. Dan saya juga tidak ingin tahu. Itu adalah kombinasi dari test coverage dan cyclomatic complexity. Kalian bisa menyuruh AI menurunkan skor CRAP hingga di bawah 5, di bawah 4. Lalu AI akan memecah fungsi besar menjadi bagian-bagian kecil, dan semuanya akan tercakup oleh test.
>
> Pikirkan kekuatan yang kalian miliki. Kalian bisa meningkatkan kualitas kode ke tingkat yang belum pernah terlihat sebelumnya.
>
> Saya tahu. Saya ini si pria tua Clean Code itu. Tapi saya akan jujur. Jika kalian mendorong AI bekerja keras, kalian bisa membuat kode jauh, jauh lebih bersih.
2 komentar
Pendapat Reddit
Terdengar seperti Mark Hamill saat memakai suara penjahat yang biasa ia gunakan
Ini benar-benar terasa seperti developer yang sudah kenyang asam garam
if (f == -1) { printf("open failed\n"); exit(1); }lagiAI akan menuliskannya untukku, lalu menambahkan tipe error dan pesan terpisah dengan parameter yang bermakna untuk semua kemungkinan penyebab kegagalan. AI tidak malas sepertiku, jadi sekarang aku bisa fokus ke logika pemrosesan file
Rasanya sekarang kita masuk ke era ketika sebagian besar kode adalah boilerplate. Yang dibutuhkan adalah kemampuan menyampaikan requirement dengan baik, dan cara untuk terus memeriksa keamanan (OWASP) serta performa kode yang dihasilkan
Model ini sangat tidak deterministik, dan bahkan model terbaru pun sering naik turun dalam sehari dari “sudah cukup oke” sampai “hampir tidak bisa dipakai”
Bahasa alami dulu, sekarang, dan nanti akan tetap ambigu dan samar, jadi besar kemungkinan masalah ini tidak akan terselesaikan. Itulah kenapa kita memakai rumus matematika, bukan “hmm, tambahkan X ke Y lalu saat masuk ke Z pikirkan baik-baik”
Bahkan sekarang aku masih berusaha membuat Claude menangani otorisasi dengan efektif, dan cara ia mengimplementasikan perubahan action/permission baru adalah contoh sempurna dari kode yang “kelihatannya jalan, tapi suatu hari akan rusak”
Claude memang pandai menulis kode, tapi tidak selalu menulis kode yang bagus
Hal yang perlu dipahami soal AI adalah, dalam hal “berpikir” ia tidak lebih baik dari manusia, cuma lebih cepat. Kalau diminta, ia biasanya akan mengerjakannya dengan cara yang mungkin juga dilakukan kebanyakan orang, dan dalam kode itu sering kali bukan cara yang bagus
Dari dulu pun kita bisa merekrut beberapa developer, menjelaskan apa yang kita mau, lalu menerima hasil penuh bug, dan satu perubahan baru sering merusak tiga bagian lain. Kalau Claude dibiarkan begitu saja, ia akan melakukan hal yang sama. Aku sudah melihatnya sendiri, dan jawabannya selalu masuk, membaca kode yang ditulisnya, lalu menyuruhnya merapikan agar lebih kokoh dan tidak gampang rusak
Selama kamu menulis kode dengan Claude, kamu tetap perlu kemampuan untuk menilai apakah kode itu layak. Sama seperti ketika kamu memintanya menulis resume atau dokumen akuntansi, hasilnya tetap harus diperiksa
Kita mungkin tidak akan menulis kode dengan cara lama lagi, tapi kemampuan membaca hasil generasi dan meninjaunya berdasarkan pengalaman tetap dibutuhkan
Masalahnya, semua orang mengira “karena aku bisa bahasa Inggris, berarti aku bisa menyuruh Claude membuat program.” Padahal bisa bahasa Inggris tidak berarti kamu bisa menyuruh Claude menulis disertasi PhD yang membantah Hawking radiation. Kamu sama sekali tidak punya cara untuk menilai apakah hasilnya benar
Saat Microsoft memperkenalkan scaffolding, jumlah programmer yang bekerja justru lebih banyak dari sebelumnya. Saat bahasa seperti Basic memungkinkan orang mengetik perintah yang bisa dibaca manusia alih-alih assembler, jumlah programmer juga lebih banyak dibanding masa sebelumnya ketika orang melubangi kartu untuk menulis kode
Komputer selalu diprogram dengan kumpulan instruksi yang makin tidak ketat dan makin mudah dibaca serta ditulis
Aku menghormati Bob Martin, tapi menurutku kali ini dia salah. Orang akan tetap menulis instruksi untuk komputer. Hanya saja, bukan lagi dalam kumpulan instruksi spesifik yang terbatas, melainkan dalam bahasa yang jauh lebih longgar dan jauh lebih mudah dibaca manusia
Tidak ada yang berakhir. Ini baru saja dimulai. Pemrograman baru saja merilis bahasa baru, dan namanya English
Bahkan sekarang pun kita sudah membuat software dalam jumlah rekor, dan ini akan makin cepat. Kita akan menulis lebih banyak kode dari sebelumnya, dan meski jauh lebih cepat, pada akhirnya akan ada lebih banyak orang yang bekerja dengan software dalam satu bentuk atau lainnya. Itu karena output menjadi sangat murah, dan ini mirip dengan paradoks Jevons
Mengira “kali ini berbeda” itu arogan, dan bahkan orang pintar pun sulit membayangkan apa arti pertumbuhan eksponensial yang multidimensional. Bukan cuma large language model yang membaik
Jadi menurutku itu benar
Ini memang puncak bubble, kan? Aku catat dari sekarang ☎️
Cara bicara dia mengandaikan adanya metrik kualitas software, pengujian profesional, dan pemahaman bertahun-tahun soal kualitas kode
Alat untuk itu masih belum memadai. Setidaknya belum diadopsi secara luas. Aku juga tidak yakin industri akan menerimanya
Praktik CI/CD juga sebenarnya tidak terlalu sulit diimplementasikan, tapi banyak perusahaan tidak pernah mengadopsinya sepenuhnya, malah terus bekerja tidak efisien dengan merekrut lebih banyak orang. Kecuali AI menangani semua itu secara default, kemungkinan ke depan pun akan tetap begitu. Dengan Claude Code, Cursor, dan tools Codes yang ada sekarang saja masih belum cukup
Rasanya seperti Matrix kalau orang ini jadi Agent
Untuk benar-benar mengarahkan AI dengan baik, kamu perlu kedalaman teknis tingkat tertinggi. Kalau cuma menyuruh AI terus menambahkan kode, hasilnya tidak akan bisa dipelihara
Lagi pula, sampai sekarang aku belum pernah dengar ada produk level pasar yang sepenuhnya dijalankan hanya oleh AI. Jadi tenang dulu
Berikutnya mungkin kita juga akan vibe coding untuk otak manusia
Pendapat di Reddit tampaknya banyak yang bernada negatif atau menyindir.
Dalam situasi di mana berkat AI hal-hal yang selama ini tertunda seperti test coverage dan E2E test justru benar-benar sedang dikerjakan, sikap seperti itu malah terasa sinis.