27 poin oleh gogokow27 2025-07-31 | 2 komentar | Bagikan ke WhatsApp

Pendahuluan ‒ Miskonsepsi dan realitas tentang produktivitas developer dengan AI

  • Mark Zuckerberg (CEO Meta) menyatakan bahwa "pada akhir 2025, semua engineer level menengah akan digantikan oleh AI", sehingga para CTO di berbagai perusahaan mendapat tekanan yang sama.
  • Pembicara menegaskan bahwa "AI tidak dapat sepenuhnya menggantikan developer", dan menekankan bahwa adopsi AI memang jelas membantu produktivitas, tetapi tidak selalu demikian, dan tidak jarang justru ada kasus di mana produktivitas menurun.

Desain riset dan data

  • Diukur selama 3 tahun terhadap sekitar 600 perusahaan, lebih dari 100 ribu software engineer, lebih dari satu miliar baris kode, dan puluhan juta commit.
  • Sebagian besar berbasis data dari private repo → memungkinkan pengukuran perubahan produktivitas nyata pada level tim pengembang dan perusahaan.

Keterbatasan riset sebelumnya

  • Laporan yang dipimpin vendor sering kali bertujuan mempromosikan alat AI mereka sendiri sehingga kurang objektif.
  • Jumlah commit/PR yang sederhana, perubahan waktu kerja rata-rata, dan sejenisnya dapat mendistorsi produktivitas nyata.
    • Contoh: segera setelah penggunaan AI, commit bug atau rework juga meningkat sehingga secara dangkal tampak seolah produktivitas naik.
  • Dalam "eksperimen greenfield (proyek baru)", efek AI tampak sangat besar, tetapi pada kode yang sudah ada (brownfield), perbedaannya mengecil.
  • Survei developer (self-report) tidak memiliki korelasi besar dengan produktivitas nyata (terdapat kesenjangan lebih dari 30 poin persentase antara persepsi dan kenyataan).

Model pengukuran produktivitas Stanford

  • Menggunakan model otomatis berbasis AI yang serupa dengan evaluasi panel ahli:
    • Mengukur perubahan fungsional per commit (added/removed/refactored/rework)
    • Fokusnya bukan sekadar "jumlah baris", melainkan "fungsi, maintainability, dan kualitas"
  • Menilai secara rinci jumlah pengenalan fungsi, refactoring, proporsi revisi ulang (rework) pada commit terbaru, dan sebagainya.

Hasil utama riset

  • Secara keseluruhan, saat AI diadopsi, produktivitas rata-rata meningkat 15~20%.
    • Namun, ada kecenderungan manfaat yang dirasakan menjadi berlebihan karena disertai cukup banyak "rework".
  • Terdapat variasi besar menurut jenis tim/perusahaan/tugas.

Penyebab kesenjangan produktivitas: tingkat kesulitan tugas, jenis proyek, bahasa, ukuran codebase

Jenis proyek Kompleksitas rendah Kompleksitas tinggi
Greenfield (baru) 30~40% ↑ 10~15% ↑
Brownfield (eksisting) 15~20% ↑ 0~10% ↑
  • Pada proyek baru (greenfield) dengan kompleksitas rendah, efek AI besar.
  • Pada sistem eksisting (brownfield) yang kompleks, efeknya berkurang jelas, dan pada beberapa kasus bahkan ditemukan penurunan produktivitas.
  • Berdasarkan sampel nyata 136 tim dari 27 perusahaan (disebutkan dalam kuliah).

Popularitas bahasa dan efek AI

  • Pada Python/Java/JavaScript (bahasa populer), peningkatan produktivitas dari AI besar,
  • COBOL/Elixir/Haskell (bahasa tidak populer): hampir tidak ada bantuan dari AI, dan pada tugas kompleks justru memicu pemborosan waktu hingga penurunan produktivitas.
    • Contoh: dalam kasus bahasa tidak populer & tingkat kesulitan tinggi, "banyak error, tidak bisa menghasilkan kode yang benar" → lebih baik tanpa AI.

Ukuran codebase dan efek AI

  • Semakin besar codebase, semakin tajam penurunan efek peningkatan produktivitas dari AI.
    • Penyebab:
      • Batas context window: LLM tidak dapat memasukkan seluruh konteks dari banyak file atau ratusan ribu hingga jutaan baris sekaligus.
      • Penurunan "rasio signal/noise": semakin banyak informasi konteks, semakin sulit bagi AI mengidentifikasi informasi yang relevan dengan tepat.
      • Semakin tinggi kompleksitas per domain dan per layanan, semakin sulit implementasi ulang secara nyata.
    • Dalam praktiknya, LLM besar terbaru (seperti Gemini 1.5 Pro) mengalami penurunan akurasi tajam dari 90% menjadi di bawah 50% seiring bertambahnya "jumlah token".

Ringkasan: kapan AI efektif?

  • Dalam sebagian besar kasus, AI jelas meningkatkan produktivitas developer (terutama untuk penulisan kode baru yang sederhana).
  • Namun, dalam lingkungan dengan maintenance yang kompleks, kode lama (berukuran besar), bahasa non-mainstream, dan banyak dependensi, keterbatasannya besar,
  • Strategi produktivitas AI terbaik harus dirancang hati-hati sesuai karakteristik perusahaan, tim, dan tugas (bukan "one size fits all").
  • Survei, metrik pemasaran, dan peningkatan jumlah commit semata sulit dipercaya; diperlukan "pengukuran berdasarkan kondisi nyata" seperti fungsionalitas kode sesungguhnya, rasio pekerjaan berulang, dan jumlah rework.

Komentar tambahan dan contoh kasus

  • "Ghost engineer": dalam data mereka, ditemukan juga kasus sekitar 10% engineer yang hampir tidak bekerja tetapi tetap menerima gaji.
  • Ditekankan perlunya alat "pengambilan keputusan berbasis metrik" agar lead tim dan CTO dapat mendiagnosis masalah nyata dengan cepat.

Kesimpulan

  • AI meningkatkan produktivitas dalam "sebagian besar situasi", tetapi baik penilaian yang berlebihan maupun yang terlalu meremehkan sama-sama perlu diwaspadai.
  • Perlu mengidentifikasi dan menerapkan pada kondisi spesifik di mana hasil adopsi baik (sederhana/baru/bahasa populer/codebase kecil), dan adopsi yang tidak kritis serta serampangan justru bisa menimbulkan efek sebaliknya.

2 komentar

 
helloppfm 2025-07-31

Bahkan jika tidak diterapkan ke perangkat lunak utama, AI sangat menghemat waktu pada program pengujian atau tahap awal memulai proyek.

Terlepas dari kemampuan menulis kode, saya rasa sejak fungsi asisten mengadopsi AI, perubahannya seperti langit dan bumi. Sekarang saya rasa kita sudah masuk ke era ketika AI bukan lagi pilihan, melainkan keharusan.

 
tensun 2025-07-31

Dalam praktiknya, ini sangat membantu untuk MVP. Terutama untuk penulisan komentar, logging, dan histori, saya rasa ini wajib dipakai.
Namun, ketika codebase membesar, AI mulai berhalusinasi, melupakan kode yang sudah ada, dan menghasilkan hasil yang aneh. Kita perlu memikirkan cara menggunakan context engineering atau mengurangi ukuran codebase.
Mungkin ini akan membaik jika bisa menggunakan prompt yang lebih besar.
Saat ini sepertinya Java, Python, JavaScript, dan Go berjalan dengan baik. Saya terutama memakai Copilot, serta Claude dan ChatGPT.