- Pada awalnya ada harapan bahwa kombinasi junior+AI saja sudah cukup untuk menghasilkan kode berkualitas tinggi, tetapi dalam praktiknya kombinasi senior+AI bekerja jauh lebih kuat
- AI efektif untuk membuat boilerplate, mengotomatiskan pekerjaan berulang, dan eksperimen serta validasi cepat, tetapi mengekstrak nilai nyata dari sana ternyata lebih mudah bagi senior daripada junior
- Sebaliknya, dalam hal code review, perancangan arsitektur, manajemen kualitas kode, dan masalah keamanan, AI menunjukkan keterbatasannya, dan justru gabungan junior dan AI dapat menciptakan lebih banyak risiko
- Karena itu, AI paling cocok dimanfaatkan untuk prototyping cepat, optimasi pekerjaan berulang, dukungan kerja multidisipliner, dan otomatisasi pengujian fungsi
- Pada akhirnya, AI saat ini masih berperan sebagai alat untuk memperkuat kemampuan senior, dan dalam jangka pendek, alih-alih menggantikan junior atau menciptakan efek demokratisasi, justru muncul arus yang memusatkan kekuatan pada para ahli
Perubahan yang Dibawa AI ke Lapangan Pengembangan
- Di lapangan pengembangan perangkat lunak, pertanyaan “apakah coding akan sepenuhnya digantikan oleh AI?” terus muncul
- Pada awalnya, banyak narasi yang mengatakan bahwa jika AI dan developer junior bekerja bersama, peran developer senior akan berkurang dan efisiensi organisasi akan meningkat
- Namun di lapangan nyata, berbeda dari harapan, kombinasi junior+AI justru memberikan nilai yang lebih kecil bagi perusahaan dibandingkan kombinasi senior+AI
Tugas yang Dikuasai AI dan Keterbatasannya
-
Kekuatan AI
- Meningkatkan produktivitas dengan cepat menangani pembuatan boilerplate dan scaffolding
- Meningkatkan kecepatan pengembangan dengan mengotomatiskan pekerjaan yang repetitif dan rutin
- Menjadi lingkungan eksperimen untuk mencoba dan memvalidasi berbagai pendekatan implementasi dengan cepat
- Efektif untuk peluncuran fitur yang cepat, asalkan kebutuhan yang diinginkan sudah jelas
- Pekerjaan seperti ini pada praktiknya memberikan efisiensi terbaik bagi developer senior yang berpengalaman
- Junior juga bisa memanfaatkannya, tetapi sangat sulit menghasilkan efek yang sama
-
Keterbatasan dan Titik Lemah AI
- Dalam code review, kemampuan penalaran logis AI masih kurang
- Saat muncul edge case, intervensi senior yang terampil tetap mutlak dibutuhkan
- Dalam penulisan prompt, pemahaman dan pengetahuan tingkat tinggi sangat penting untuk mendapatkan hasil yang benar
- Jika pengetahuan kurang, kualitas hasil akan turun dan risiko bug meningkat
- AI masih belum memadai dalam perancangan arsitektur
- Merancang struktur yang kokoh membutuhkan penalaran tingkat tinggi manusia, dan proyek yang dirancang AI berisiko besar terjebak dalam utang teknis
- Ada kelemahan dalam pengelolaan kualitas kode (abstraksi yang tepat, penggunaan design pattern, dan sebagainya)
- Dari sisi keamanan, kombinasi junior+AI dapat lebih sering menimbulkan kerentanan
- Jika ada senior, kewaspadaan dan pencegahan sampai batas tertentu bisa dilakukan
- Ada kemungkinan terjadi pembelajaran yang keliru: jika kode tidak bisa dievaluasi dengan benar, kode yang dibuat AI justru bisa merugikan organisasi
- Karena alasan-alasan ini, saat ini AI bukan ancaman bagi developer senior, melainkan alat yang secara terfokus meningkatkan produktivitas mereka
- Ini bukan untuk mengkritik developer junior, melainkan untuk menghindari ekspektasi berlebihan dan penempatan mereka dalam situasi berisiko
Area Pemanfaatan AI yang Paling Cocok
- Prototyping cepat: cocok untuk mempercepat eksperimen ide dan kecepatan implementasi
- Otomatisasi pekerjaan rutin yang berulang: sangat efektif untuk mempercepat rutinitas yang sudah dipahami dengan baik
- Kolaborasi lintas bidang: berguna untuk mengusulkan method atau library di bidang yang belum dikuasai, serta menghubungkan antar domain
- Pembuatan function test: cocok untuk otomasi dan verifikasi pada kode yang sederhana dan berisiko rendah
Kesimpulan dan Implikasi
- Kode yang ditulis AI masih harus ditinjau manusia baris demi baris, dan menunjukkan sifat non-deterministic
- Bahkan test code untuk verifikasi program pun sulit dipercaya jika sepenuhnya diserahkan kepada AI
- Seperti pertanyaan “kalau AI menjawab ‘saya tidak tahu’, apakah itu benar-benar berarti ia tidak tahu?”, batas pengenalan dan verifikasi AI masih tetap ada
- Kombinasi junior+AI ternyata hanya ilusi penghematan biaya, sedangkan kenyataannya manfaat lebih banyak terpusat pada penguatan kemampuan senior
- Pengembangan perangkat lunak masih berada pada tahap yang belum matang, berbeda dengan industri konstruksi, karena bahkan arsiteknya sendiri masih menulis kode secara langsung
- Tekanan untuk menekan biaya justru melemahkan nilai developer dan memicu kelelahan
- Untuk saat ini, alih-alih menggantikan junior atau mendemokratisasi pekerjaan, fungsi AI lebih banyak terkonsentrasi sebagai alat bantu yang berpusat pada para ahli (senior)
- Masa depan AI memang optimistis, tetapi dalam jangka pendek penyesuaian ulang ekspektasi tetap diperlukan
2 komentar
Opini Hacker News
Para junior sering kali tidak sadar bahwa mereka sedang tenggelam dalam halusinasi yang dibuat LLM
Dalam kasus saya, ada junior yang mencoba men-deploy modul terraform yang sudah saya rancang terpisah, tetapi pekerjaannya terus tertunda lama, jadi saya cek statusnya
Junior ini bilang ada masalah dan minta saya lihat
Saat saya cek repo-nya, isinya berantakan. Jelas sekali Claude telah menuntunnya ke arah yang salah
Saya tanya, "Kenapa ada begitu banyak file Python di sini? Padahal semuanya sudah ada di modul?" lalu dia jawab, "Saya juga kurang tahu, Claude yang menyuruh begitu"
Junior itu kurang pengalaman dan terlalu bergantung pada alat LLM. Itu terjadi di desain, implementasi, dan pemecahan masalah sekaligus
Kalau Anda sendiri belum bisa membedakan kapan LLM sedang mengigau, Anda akan terjebak dalam rawa tanpa ujung
Di sisi lain, LLM memang banyak mengurangi pekerjaan berulang yang benar-benar tidak saya sukai
Saya bisa cepat sadar ketika LLM mulai menyimpang dan langsung menghentikannya
Justru karena itu, saya jadi kembali bersemangat dengan coding dan membangun software
Hasilnya produktivitas naik dan hasil akhirnya juga lebih baik
Kalau mendengar jawaban seperti "Saya juga kurang tahu, Claude yang melakukannya", rasanya benar-benar membuat frustrasi
Saya tipe reviewer yang benar-benar membaca kode dan bertanya detail, dan baik junior maupun senior kadang santai saja mengatakan hal seperti ini
Kalau Anda push kode yang bahkan Anda sendiri tidak pahami, itu risiko besar bagi tim, produk, dan perusahaan
"Saya juga kurang tahu, Claude yang melakukannya" benar-benar tanda bahaya besar
Tidak tahu itu tidak masalah, dan memakai LLM untuk menutup celah juga tentu tidak masalah
Akan lebih baik kalau setelah menemui masalah, dia terbuka dengan berkata, "Ada kode hasil generate, tapi saya belum benar-benar paham ini apa dan apakah arahnya benar, bisa tolong dicek?"
Masalahnya adalah dia sama sekali tidak peduli, lalu menyembunyikannya sampai senior menanyakan langsung
Pekerjaan sederhana dan berulang yang Anda benci justru sering menjadi tugas pengantar yang bagus bagi junior untuk memahami struktur sistem
Kalimat "Saya juga kurang tahu, Claude yang melakukannya" itu sama saja seperti orang yang menyalahkan gergaji setiap kali terjadi kecelakaan saat bekerja
Kunci memakai LLM secara efektif dan menghindari halusinasi adalah kemampuan membaca kode dan intuisi
Junior cenderung lebih mudah bergantung pada LLM daripada menunggu balasan email atau mencoba menyatukan beberapa pendekatan
Sekarang bahkan balasan email pun tidak diperlukan, jadi godaannya lebih sulit ditolak
Tapi dengan cara ini, mereka justru kehilangan arah dan terjebak dalam labirin halusinasi tanpa paham cara kerjanya
Kode terbaik yang saya hasilkan bersama LLM adalah ketika saya sendiri merancang strukturnya, lalu LLM membuat kode dasarnya dan saya mengarahkan revisi sambil menambahkan fitur
Dalam proses itu LLM sering salah juga, dan saya yang membetulkannya
Saat performanya lambat, saya profiling sendiri lalu menyuruh LLM mengoptimalkannya
Dengan cara ini, kode yang selesai tetap menjadi kode yang saya pahami luar dalam
Kalau saya menulis semuanya sendiri, mungkin butuh waktu 3 kali lebih lama
Selama input/output fungsi diverifikasi dengan test, saya tidak perlu tahu semua detail implementasi aktualnya
Pekerjaan seperti ini sama sekali belum berada pada tahap yang pantas untuk junior
Prosesnya pada dasarnya tidak berbeda jauh dari melatih rekan kerja yang belum berpengalaman
Memang ada riset yang mengatakan LLM meningkatkan produktivitas, tetapi apakah produktivitas nyata benar-benar bertambah masih patut dipertanyakan
LLM paling berguna bagi saya ketika saya sudah punya gambaran kode di kepala tetapi tidak ingin mengetiknya sendiri
Suatu kali ia menuliskan sampai 1.000 baris web component dan kode backend untuk saya, sekaligus memperbaiki error sintaks, jadi benar-benar menghemat banyak waktu
Saya paham kalau workflow seperti ini membuat developer senior jadi lebih cepat
Tapi saya rasa, bagi ekosistem pengembangan, waktu untuk membimbing junior jauh lebih penting daripada waktu yang dihabiskan untuk membimbing LLM
Saya khawatir ini akan makin melebarkan kesenjangan kemampuan antara junior dan senior
Karena datanya yang benar-benar tepat masih kurang, ini tetap sebatas kekhawatiran
Riset yang bilang AI di awal lebih membantu pekerja dengan skill rendah tampaknya tidak berbasis realitas
Coding bersama AI itu seperti bekerja dengan beberapa rekan yang kurang terampil, hanya saja pekerjaannya selesai lebih cepat
Semakin jelas target spesifik yang ingin saya capai, semakin cocok pula hasilnya
Tentu hampir selalu tetap perlu perbaikan
Pada akhirnya struktur ini membuat peran developer junior nyaris jadi tidak berguna, tetapi kalau semua senior nanti pensiun, ini juga bisa jadi pandangan yang terlalu pendek
Saya justru mengalami kebalikannya
Ada business logic yang sangat kompleks dan tua, dan saya mengimplementasikannya satu per satu dengan tangan sampai masing-masing jadi panjang, sekitar 200~400 baris
Belakangan saya bertanya ke LLM soal struktur, refactor, dan ide pemisahan, lalu ia memberi abstraksi dan struktur yang lumayan bagus
Memang tidak semua jalur diimplementasikan, tetapi setelah itu sisanya cukup bisa saya lanjutkan sendiri secara manual
Hasil akhirnya hampir sama dengan yang saya pikirkan sendiri, hanya saja pengalamannya jauh lebih sedikit bikin pusing
Tentu saya tetap meninjau contoh-contohnya dengan teliti, dan semua bagian yang kurang atau bug saya perbaiki lagi dengan tangan
Sebagai catatan, saya juga pernah mencoba eksperimen mengisi kode yang hilang dengan agen LLM, tetapi itu tidak berjalan dengan baik
Bahkan saat AI coding mulai ramai dibahas di HN pada 2021 pun, sudah banyak yang bilang bahwa ini tidak terlalu membantu junior
Alasannya karena junior tidak bisa membedakan hasil yang bagus dan yang buruk
Thread rujukan: https://news.ycombinator.com/item?id=27678424
Contoh komentar: https://news.ycombinator.com/item?id=27677690
Sebenarnya ini sudah dimulai sejak tahap merancang prompt dan konteks
Senior cukup akurat mengetahui bagian mana yang harus diubah dan pekerjaan apa yang dibutuhkan, jadi bisa memberi instruksi yang spesifik ke AI
Sebaliknya, kebanyakan junior belum punya struktur, pola, atau desain di kepala, jadi cenderung menerima apa pun yang keluar
Belakangan saya bahkan benar-benar melihat perilaku seperti "tanya ChatGPT soal arsitektur"
Senior menulis kode sendiri, mengalami kesalahan dan revisi, lalu membangun pengalaman sambil merasakan sendiri penderitaan yang berulang di kodenya
Junior hanya mengulang-ulang prompt dan menempelkan jawaban yang dilempar LLM tanpa konteks, sehingga pada praktiknya tidak belajar apa pun dari kode
Karena tidak punya pengalaman penggunaan nyata, mereka tidak punya gambaran mengapa abstraksi kompleks seperti typed state dibutuhkan, apa bedanya saat memakai IDE, atau bagaimana menjaga dan mengembangkan struktur keseluruhan
Dengan cara seperti ini, mereka melakukan 50 prompt untuk pekerjaan yang sebenarnya bisa selesai dalam 10, dan juga gagal menyerap pola berulang antar codebase
Padahal hanya dengan sedikit belajar desain struktur dan state modeling, produktivitas bisa naik 100 kali lipat, tetapi bahkan itu pun terhambat oleh ketergantungan pada LLM sehingga mereka seumur hidup hanya memproduksi kode tempel
AI tidak bisa dengan sendirinya menurunkan kesimpulan seperti "C diperoleh dari A dan B"
Anda harus memberitahukan target yang diinginkan secara kuat dan spesifik, baru ia bisa mengikuti
Senior biasanya sudah bisa membayangkan gambaran besarnya di kepala, jadi lebih mudah berkolaborasi dengan AI
Junior masih berada pada tahap belajar struktur keseluruhan, jadi pendekatan seperti ini bisa terasa jauh lebih sulit
Saya sama sekali tidak setuju dengan klaim bahwa AI itu setara tingkat doktor
Dari sisi kemampuan penalaran logis, bedanya tidak jauh dari anak usia 5 tahun
Sebagai contoh nyata, saya pernah bekerja sekitar 2021 dengan seorang mahasiswa tanpa latar belakang CS
Berkat AI seperti ChatGPT, dia memang bisa berkontribusi cukup nyata pada proyek dan menyelesaikan tugas yang sulit bagi pemula
Tapi dia juga menciptakan banyak masalah keamanan, banyak jalan memutar yang tidak efisien, dan tidak mempertimbangkan library atau pendekatan yang jauh lebih bersih, sehingga akhirnya kodenya sulit dipelihara
Dia antusias soal dokumentasi, tetapi isinya sering tidak akurat atau berputar-putar
Proses diskusi saat code review menjadi pengalaman pendidikan yang baik bagi semua orang
Hal seperti ini hanya mungkin karena pada akhirnya AI dipasangkan dengan orang yang berpengalaman
Saya tidak tahu kenapa muncul harapan bahwa AI akan membuat junior bersinar
Faktanya, banyak juga pseudo-senior yang tidak punya pengalaman mendalam dan justru membentuk kebiasaan buruk
Tulisan ini hanya mengulang lagi hal yang sudah dibicarakan semua orang sejak 2 tahun lalu
AI coding juga belum sampai tahap benar-benar dimanfaatkan dengan baik, dan mungkin suatu hari akan muncul LLM khusus yang mempertimbangkan arsitektur, pattern, use case, lingkungan operasi, jaringan, pengembangan, sampai testing untuk memperkecil kesenjangan di kedua sisi
Para senior di sekitar saya juga tidak terlalu tertarik pada AI coding karena itu berbeda dari cara mereka bekerja
Kekuatan utama senior saat ini sebenarnya hanyalah domain knowledge di dalam perusahaan
Tapi ketika gelombang PHK datang, kalau perusahaan tidak merekrut junior, pada akhirnya senior juga akan ikut terancam
Dulu saya pernah membaca kutipan William Gibson yang palsu tapi bermakna
"Kemampuan terpenting di abad ke-21 adalah kemampuan memasukkan kata kunci yang tepat ke kotak pencarian Google untuk mendapatkan jawaban yang dibutuhkan"
Di zaman sekarang saya makin merasa perkataan itu benar
Kebanyakan junior meminta LLM seperti GeminiPiTi untuk langsung menulis kode JS sepenuhnya
Sementara saya meminta penjelasan tentang prinsip dasar async/await dan model eksekusi mesin JavaScript itu sendiri
Belajar piano juga mirip
Orang ingin langsung memainkan Chopin, tetapi kemampuan nyata lahir dari proses membongkar teknik-teknik rumit itu, memberi nama pada mereka, lalu mempelajarinya secara sistematis
Membangun kemampuan piano yang nyata bukan soal mempelajari trik-trik kecil
Itu pendekatan kumulatif, menaiki tahapan sedikit demi sedikit dari dasar yang paling mendasar
Chopin juga punya banyak karya pemula, dan murid pemula di studio kami pun sering berlatih lagu yang mudah
"Literasi AI" yang sesungguhnya bukan sekadar fokus pada prompt engineering seperti meme
Yang penting adalah membangun struktur latar dan fondasi konseptual agar prompt dan hasilnya benar-benar terhubung secara bermakna
Hanya ingin "memainkan Chopin" dan ingin "bisa memainkan apa pun dengan benar" adalah dua hal yang sangat berbeda
Ada banyak orang yang hanya menghafal partitur secara mekanis, dan itu jelas berbeda dari kemampuan yang sesungguhnya
Penting untuk mempelajari "bahasa" dan kata kunci di bidang yang Anda inginkan
Kalau seseorang benar-benar pemula dan tidak tahu apa-apa, AI tidak akan terlalu membantu
Anda harus bisa menjelaskan secara spesifik ke AI bahwa "saya sudah punya A, B, C dan sekarang ingin melakukan D", barulah ia bisa memahami dan memberi arah
Informasinya memang banyak, tetapi ia tidak bisa memakainya secara kreatif
Kemampuan menggunakan LLM dengan baik dan kemampuan mencari di Google dengan baik tidak jauh berbeda
Dan sampai sekarang pun masih banyak orang yang bahkan tidak bisa melakukan pencarian Google yang layak
Menurut saya, ilusi bahwa AI membuat junior jadi lebih baik adalah masalah ekspektasi
AI memang jelas membantu pada pekerjaan dasar level junior, bisa bertindak seperti pair programmer yang menjelaskan atau membantu brainstorming, cepat menemukan dokumentasi, dan membantu memeriksa masalah
Masalahnya adalah salah kaprah bahwa dengan itu junior akan langsung mampu menjalankan pekerjaan ala senior dengan benar
Setengah dari inti persoalannya sudah tepat
Setengah sisanya adalah bahwa AI yang diarahkan dengan benar bisa menyelesaikan pekerjaan junior jauh lebih cepat daripada junior itu sendiri
Artinya, kebutuhan untuk menyerahkan pekerjaan itu ke junior memang mulai hilang
AI yang berhasil saya jailbreak pernah menjelaskan kepada saya bahwa ia akan mengubah junior menjadi senior dan menguntungkan semua orang
Tapi para penciptanya (kebanyakan senior) memerintahkannya agar tidak memberitahukan fakta ini kepada junior dan manajemen dalam kondisi normal, dan karena saya berhasil melakukan jailbreak, barulah ia bisa memberi saya informasi tingkat lanjut
AI sangat bagus dalam menutup kesenjangan yang spesifik dan "sempit"
Dalam kasus senior
Sebaliknya, dalam kasus junior
pada bagian seperti ini AI tidak banyak membantu
Berdasarkan pengalaman saya, saat dipakai pada bidang yang belum terlalu kita pahami, AI menjelaskan konsep, contoh, dan skenario dengan jauh lebih kaya daripada jawaban wiki/Stack Overflow
Begitu kita sudah tahu konsep intinya sampai tingkat tertentu, AI menjadi jauh lebih produktif
Ini berlaku bukan hanya untuk coding, tetapi juga untuk sains dan humaniora
Saya merasa AI hanya mempercepat orang yang sudah tahu arahnya, sementara pembelajar tahap awal tetap perlu diajari manusia seperti sebelumnya
Saya suka penekanan soal peringatan terhadap pembelajaran yang salah
Belajar memang membantu kita agar tidak mengulangi kesalahan, tetapi itu tidak otomatis menjadi kebijaksanaan
Saat ini kebisingan seperti "AI akan mengerjakan semuanya" atau "kalau tidak ikut tren Anda akan tertinggal" memang sangat banyak, tetapi yang penting adalah
The Mythical Man-Month
The Grug-brained Developer
Programming as Theory Building
Saya berharap lebih banyak orang mau berinvestasi memahami hakikat dan hukum pengembangan software lewat buku-buku seperti itu
Seperti alat listrik yang kalau tak bisa dipakai dengan benar bisa berujung kecelakaan, pada dasarnya AI juga adalah power tool
Kalau Anda benar-benar paham pekerjaan yang dilakukan, AI akan membantu jauh lebih cepat dan efisien; kalau tidak, AI justru akan membawa Anda ke insiden dan kekacauan dengan kecepatan yang jauh lebih tinggi
Pada akhirnya itu hanya berfungsi memperbesar kemampuan yang sudah dimiliki
AI zaman sekarang sudah melampaui level "kode boilerplate, template, atau otomatisasi pekerjaan berulang"
Jika Anda memberi instruksi yang benar pada LLM seperti Claude Sonnet 4, ia bisa menulis sendiri lebih dari 99% business app
Anda hanya perlu menjelaskan targetnya secara akurat, lalu memberi arahan yang jelas tentang implementasi referensi atau contoh, algoritma, dan pattern yang akan dipakai
Meski begitu, jarang sekali hasilnya langsung sempurna dari awal, jadi tetap butuh revisi dan penyempurnaan
Karena alasan inilah Claude Code lebih disukai daripada Copilot
Intinya: hanya developer yang benar-benar tahu apa yang harus dibangun yang bisa mendapatkan hasil bagus dari AI, dan junior tidak tahu itu, sehingga tidak bisa memperoleh hasil yang diinginkan
Satu-satunya alasan saya masih mengetik kode sendiri akhir-akhir ini hanyalah karena memasukkan instruksi tugas ke LLM kadang lebih merepotkan daripada langsung memperbaikinya sendiri
Bahkan kalau "Claude Sonnet 4 bisa menulis 99% kode", itu justru bukti bahwa membuat instruksi seteliti itu pada kenyataannya sudah sulit
Pengembangan software sejak awal memang tidak akan sulit kalau cukup dengan "penjelasan yang jelas" saja
"AI bisa menulis semua kode"
"Sekarang memasukkan perintah justru lebih merepotkan daripada coding langsung"
Jadi pada akhirnya AI itu hanya perangkat input yang lambat, bukan?
Where's the Shovelware? Why AI Coding Claims Don't Add Up
Kalau memang begitu, di mana shovelware dalam jumlah luar biasa besar yang seharusnya membanjir?
Kalau begitu, di mana business app luar biasa yang "dibuat otomatis" itu?
Dari yang saya lihat, yang ada hanyalah kekacauan total, pemborosan sumber daya, dan kebingungan sosial
Alasannya sederhana.
Karena sudah tahu banyak, pertanyaannya pun hanya pertanyaan tingkat tinggi.
Namun bahkan di antara senior sekalipun, mereka yang hanya terkurung di dalam satu perusahaan
dan punya pengalaman yang sekadar formalitas atau skala pengalamannya kecil,
tetap tidak akan bisa memanfaatkannya meski diberi sesuatu yang bagus.
Itu seperti menyerahkan mobil balap
kepada pengemudi pemula.
Para profesional berpengalaman dengan cakupan yang luas selalu sama.
Mereka tidak pernah berhenti pada riset dan pengembangan generasi berikutnya.
Sikap saat awal kuliah yang tidak berubah
bahkan ketika sudah berusia 50-an...
Para senior berpengalaman yang benar-benar orisinal pasti akan sangat berterima kasih
pada asisten seharga 10.000~20.000 won per bulan.