AI Tidak Menghapus Developer, Dia Mengubah Bentuknya

Abd. Asis
AI Tidak Menghapus Developer, Dia Mengubah Bentuknya

Empat ratus baris. Itu panjang diff yang saya setujui dua minggu lalu, hasil refactor satu service class besar yang saya pecah jadi beberapa kelas kecil bersama Claude Code. Saya baca dari atas ke bawah, cukup cepat, karena strukturnya rapi dan tidak ada yang mencurigakan. Tes hijau. Saya tekan approve.

Dua hari kemudian saya balik ke area yang sama untuk urusan lain, dan ada yang janggal. Salah satu method yang saya "rapikan" kehilangan pengecekan null. Bukan jalur yang sering dilewati, jadi tidak ada yang meledak di produksi. Tapi pengecekannya benar-benar hilang. Padahal saya yang me-review diff itu. Padahal tesnya lulus.

Saya menulis kode sejak lama. Versi saya tahun 2020 akan melihat potongan itu dalam dua belas detik.

Yang membuat saya duduk lama bukan bugnya. Bug itu biasa. Yang membuat saya diam adalah cara bug itu bisa lolos.

Kekhawatiran yang salah alamat

Percakapan yang ramai sekarang adalah soal penggantian. Apakah AI akan menggantikan programmer, kapan, berapa banyak. Setiap judul yang kamu lihat hampir selalu versi lain dari pertanyaan itu, dan kolom komentarnya terbagi dua: yang yakin manusia tidak akan tergantikan, dan yang menyuruh kamu belajar keahlian lain.

Saya tidak tertarik menghabiskan banyak ruang untuk perdebatan itu. Saya sudah mengirim kode nyata dengan bantuan AI, di pekerjaan yang salah sedikit saja ada uang orang yang ikut bergeser. Saya tidak melihat programmer akan habis dalam waktu dekat. Menjadi sombong soal itu juga tidak menarik.

Kekhawatiran yang lebih layak diperhatikan suaranya lebih pelan, dan sudah terjadi sekarang. Bukan di masa depan, bukan di perusahaan lain. Di hari kerja biasa, pada setiap programmer yang memakai alat ini dengan serius.

Deformasi, bukan penghapusan

AI tidak menghapus programmer. Dia mengubah bentuknya.

Saya memakai kata itu apa adanya. Deformasi: perubahan bentuk karena tekanan yang terus diberikan, sering tanpa benda yang berubah menyadarinya. Programmernya tidak lenyap. Yang berubah adalah kemampuannya menimbang, refleks tangannya, dan kebiasaan membaca kode sampai merasa ada yang salah sebelum bisa menjelaskan kenapa.

Kemampuan itu tidak hilang dalam satu kejadian besar. Dia menipis pelan-pelan, selama berbulan-bulan, sementara di sekelilingmu orang bilang produktivitasmu sedang di titik tertinggi.

Pengecekan null yang saya lewatkan itu bukan tanda saya tidak tahu. Saya tahu apa itu null check, sudah menulisnya ribuan kali. Yang gagal adalah otot yang dipakai setiap hari: kemampuan memindai diff seperti detektif dan menyadari ada sesuatu yang seharusnya ada tapi tidak ada.

Contohnya seperti ini. Kode lama:

PHPPHP
public function namaKontak(?Kontak $kontak): ?string
{
    if ($kontak === null) {
        return null;
    }

    return $kontak->nama;
}

Hasil "pembersihan":

PHPPHP
public function namaKontak(?Kontak $kontak): ?string
{
    return $kontak->nama;
}

Secara tipe, keduanya sama-sama mengembalikan ?string. Yang hilang cuma satu cabang, dan cabang itu baru terasa di jalur yang jarang dilewati. Diff-nya bersih. Karena bersihnya itulah mata saya tidak berhenti di situ.

Tiga lapisan yang kena, dengan masalah berbeda

Tekanan yang sama bekerja pada tiga kelompok, tapi akibatnya tidak sama. Menyamakan ketiganya akan menghasilkan solusi yang salah sasaran.

LapisanYang dulu membentukYang sekarang hilangTandanya
Junior (0–5 tahun)Kode yang gagal jalan, kode orang lain yang tidak dimengerti, debug jam 11 malamWaktu untuk duduk lama bersama satu pertanyaanBisa menjawab hampir semua pertanyaan, tapi tidak pernah menyimpan pertanyaan
Menengah (5–8 tahun)Jalur hati-hati menuju senior, dibangun dengan repetisiRasa bahwa cara lambat itu sahDitekan jadi cepat, atau menyerah dan ikut arus
SeniorBertahun-tahun membaca dan men-debug tanpa jalan pintasKetajaman yang tidak terasa menurun sampai ada yang lolosMenyetujui diff yang versi lima tahun lalu dari dirinya akan tangkap

Untuk junior, masalahnya paling berat karena waktunya paling sempit. Tiga sampai lima tahun pertama biasanya diisi perdebatan panjang dengan mesin. Kamu menulis kode yang tidak jalan, membaca kode orang yang tidak kamu pahami, dan memperbaiki sesuatu tengah malam sambil mempertanyakan pilihan karier. Bagian menyiksa itu bukan gangguan pada proses belajar, itu proses belajarnya. Model bahasa menghapus bagian itu tepat di tahap ketika bagian itu seharusnya jadi kurikulum.

Untuk lapisan menengah, yang terjadi adalah devaluasi. Mereka naik lewat jalur yang benar. Sekarang jalur itu disebut lambat, dan alat baru menjanjikan jalan pintas melewati bagian yang baru saja mereka selesaikan.

Untuk senior, ceritanya paling sunyi karena tidak ada yang perlu dibuktikan lagi. Kemampuannya masih ada, tapi repetisinya berhenti. Dua tahun hampir semua kode lewat agent, dan jumlah diff yang kamu baca dengan serius turun banyak. Tidak nol. Turun.

Gesekan itu isi pelajarannya

Hampir semua yang dulu disebut bagian sulit dari programming adalah gesekan. Mencari dokumentasi API. Membaca codebase untuk menangkap pola yang sudah dipakai. Menulis tes sebelum tahu persis apa yang diuji. Duduk dengan satu bug cukup lama sampai kamu mengenalinya sebagai anggota keluarga bug yang akan kamu temui seratus kali lagi.

Gesekan adalah tempat pemahaman tinggal. Bukan sebagai kiasan. Menulis sesuatu dengan tangan sendiri yang membentuk model mental sistemnya. Men-debug pelan-pelan yang mengajari bentuk kesalahan yang akan menggigitmu lagi lima tahun kemudian. Membaca kode orang lain dengan teliti yang mengkalibrasi rasa kamu soal kode bagus dan kode buruk.

Alat ini tidak memperlambat programmer, memang itu tujuan pembuatannya. Yang terjadi, gesekan dihapus tepat di titik-titik yang dulu mengajari sesuatu.

Kamu tidak kehilangan yang sudah dipelajari. Kamu berhenti menambah. Dan bagian yang berhenti dipakai mulai meredup tanpa suara.

Cara mengenali di diri sendiri

Ini yang paling sulit, karena tidak ada notifikasi saat kemampuan menipis. Beberapa pertanyaan yang bisa kamu jawab apa adanya untuk diri sendiri, bukan untuk dibagikan:

  • Bulan ini, berapa diff yang kamu baca baris per baris sampai selesai?
  • Kapan terakhir kamu men-debug tanpa menempelkan stack trace ke model?
  • Kapan terakhir kamu menulis satu fungsi dari nol, tanpa potongan dari mana pun?
  • Berapa pull request rekan yang kamu review sendiri sebelum bertanya ke alat?

Review yang kamu setujui adalah tanda tanganmu. Kalau nanti ada yang salah di jalur itu, yang ditanya bukan model yang menulisnya, tapi kamu yang bilang "sudah saya cek".

Yang bisa dikerjakan minggu ini

Bukan berhenti memakai AI. Saya sendiri masih memakainya setiap hari. Yang perlu dijaga adalah porsi kerja yang membentuk kemampuan, dan itu bisa diatur tanpa harus kembali ke kebiasaan lama sepenuhnya.

  1. Untuk perubahan di bawah seratus baris, baca seluruh diff lebih dulu sebelum minta ringkasan dari model. Ringkasan yang datang sebelum pemahaman membuat pemahaman tidak pernah terbentuk.
  2. Sisipkan satu fungsi per hari yang kamu tulis sendiri, dan pilih yang menempel langsung pada bug yang sedang kamu tangani.
  3. Ambil satu bug per minggu untuk ditelusuri sendiri sampai akar. Bandingkan hasilnya dengan jawaban model setelah kamu selesai, bukan sebelum.
  4. Review satu pull request rekan tanpa bantuan, tulis temuannya, baru kemudian minta model mencari yang terlewat. Selisih antara dua daftar itu adalah ukuran ototmu hari ini.
  5. Simpan catatan tiga keputusan desain yang kamu ambil sendiri tiap minggu, lengkap dengan alasan yang kamu tolak.

Kalau mau melihat sisi lain dari masalah yang sama, ada tulisan soal pekerjaan yang tersisa saat AI yang menulis kode dan cara menjalankan Claude Code seperti tech lead.

Yang menanggung biayanya

Saya tidak menulis ini untuk bilang berhenti memakai AI. Saya mengirim aplikasi iOS nyata dengan alat ini kuartal lalu, dan besok saya tetap memakainya.

Saya menulis ini karena kondisi yang dulu menghasilkan programmer yang kamu percayai sedang berubah. Orang yang bisa membaca stack trace dan menebak apa yang terjadi tiga service di hulu, orang yang berani mengambil keputusan di jam tiga pagi. Jalur yang mengubah anak dua puluh dua tahun yang bingung menjadi orang yang layak kamu rekrut sedang diubah tanpa pengumuman.

Alat ini punya kemampuan nyata dan biaya nyata. Yang tidak wajar adalah anggapan bahwa biayanya ditanggung oleh alat.

Biaya itu dibayar oleh yang memakainya, sedikit demi sedikit, dalam bentuk kemampuan yang berhenti bertambah.

Langkah pertamanya sederhana: menyebutnya dengan nama yang benar. Bukan soal digantikan atau tidak. Soal bentukmu berubah, dan kamu yang memutuskan seberapa banyak yang boleh berubah.

Abd. Asis
Ditulis oleh
Abd. Asis

Software Developer dari Madura. Menulis tentang PHP, Laravel, dan pengembangan web modern dalam Bahasa Indonesia.

Artikel Terkait

Tulisan lain yang mungkin menarik buatmu.

Kenalan dengan REA: Reverse Engineer Anything untuk Agent AI
reverse-engineeringai

Kenalan dengan REA: Reverse Engineer Anything untuk Agent AI

REA menyambungkan agent ke binary yang sudah kehilangan source code. Ini kegunaannya, dampak baik dan buruknya, serta biaya yang benar-benar harus dibayar.

Abd. Asis
Saat AI yang Menulis Kode, Programmer Harus Ngapain?
aikarier

Saat AI yang Menulis Kode, Programmer Harus Ngapain?

Produktivitas dari AI membuat banyak programmer malah burnout: semua dikerjakan sekaligus, konteks hilang, review jadi asal. Ini dua pekerjaan yang jauh lebih layak dilakukan sementara agent berjalan.

Abd. Asis
Lima Kebiasaan Prompting Claude yang Sudah Kedaluwarsa
claudeprompt-engineering

Lima Kebiasaan Prompting Claude yang Sudah Kedaluwarsa

Sebagian trik prompting yang dulu membuat Claude lebih patuh sekarang malah mengganggu. Ini lima kebiasaan yang perlu dilonggarkan atau justru diperketat, beserta alasan di baliknya.

Abd. Asis
Menjalankan Claude Code Seperti Tech Lead, Bukan Senior Engineer
claude-codeai

Menjalankan Claude Code Seperti Tech Lead, Bukan Senior Engineer

Empat sesi Claude Code berjalan bersamaan mengubah cara kerja: dari pair programming menjadi memimpin tim agent. Ini alur kerja, batas, dan kebiasaan yang membedakannya.

Abd. Asis
VibeUI: Library Prompt UI untuk Vibe Coder
aijavascript

VibeUI: Library Prompt UI untuk Vibe Coder

VibeUI menyediakan 92 prompt UI siap pakai untuk vibe coder — tinggal copy, paste ke AI tool, dan hasilkan komponen dengan struktur yang presisi.

Abd. Asis
Caveman: Hemat Token AI 65%
aiproductivity

Caveman: Hemat Token AI 65%

Caveman adalah plugin Claude Code yang memangkas output token hingga 65% tanpa mengorbankan akurasi teknis. Pelajari cara install dan pakai di berbagai AI agent.

Abd. Asis