Kapan terakhir kamu nulis kode dari nol, tanpa bantuan AI sama sekali?
Kalau jawabannya "sudah lama" — kamu tidak sendirian. Dan itu bukan tanda kamu malas atau terlalu bergantung. Itu tanda bahwa cara kita bekerja sedang bergeser, dan kita perlu paham ke mana arahnya.
Programmer ≠ "Orang yang Nulis Kode"
Ada salah kaprah yang sudah lama beredar: programmer = orang yang nulis kode. Makin banyak kode yang bisa kamu tulis, makin jago. Makin banyak sintaks yang dihafal, makin bernilai.
Tapi pikir lagi — apa yang sebenarnya kita lakukan setiap hari?
Kita memahami masalah. Kita memetakan alur. Kita menentukan pendekatan. Dan di ujungnya, kita menerjemahkan semua itu menjadi sesuatu yang bisa dieksekusi mesin.
Nulis kode itu cuma langkah terakhir dari proses panjang itu. Dan justru langkah itulah yang sekarang bisa didelegasikan ke AI.
Inti dari programming selalu soal problem solving, bukan sintaks. AI tidak mengubah itu — AI cuma memperjelas bagian mana yang sebenarnya penting.
Apa Pekerjaan Kita yang Sesungguhnya Sekarang?
Bayangkan seorang arsitek bangunan. Mereka tidak harus jadi orang yang memasang bata dan adukan sendiri. Tapi mereka harus jadi orang yang paling paham desainnya, strukturnya, dan kenapa sebuah dinding harus ada di tempat tertentu — bukan di tempat lain.
Programmer yang baik bekerja seperti itu.
Pertama, memahami masalah secara mendalam sebelum nulis satu baris kode pun. Bukan sekadar "apa yang diminta", tapi "kenapa ini diminta", "apa saja batasannya", dan "apa yang bisa salah."
Kedua, memecah masalah besar menjadi potongan-potongan kecil yang bisa diselesaikan. Ini yang sering disebut decomposition — dan ini murni pekerjaan pikiran, bukan pekerjaan tangan.
Ketiga, menentukan pendekatan dan arsitektur yang tepat. Data structure mana? Design pattern apa? Apa trade-off antara performa dan maintainability?
Semua itu tidak bisa begitu saja didelegasikan ke AI — karena AI tidak tahu konteks bisnisnya, tidak tahu sejarah codebase-nya, dan tidak menanggung konsekuensi dari keputusan yang buruk. Kita yang menanggungnya.
AI sebagai Eksekutor, Kita sebagai Arsitek
Oke, mari jujur soal ini.
AI sekarang bisa nulis fungsi CRUD, generate boilerplate, bahkan mengimplementasikan algoritma yang cukup kompleks. Itu kenyataan.
Tapi bandingkan dua prompt ini:
❌ Prompt buruk: "Buat fitur login."
✅ Prompt bagus: "Buat form login dengan validasi email dan password minimal 8 karakter. Gunakan React Hook Form untuk state management. Tangani error response dari API dengan menampilkan pesan di bawah field yang bermasalah. Jangan simpan password di state mana pun."
Perbedaannya bukan soal panjang. Perbedaannya adalah seberapa jelas kita memahami masalah sebelum mendelegasikannya.
Prompt yang bagus adalah instruksi kerja yang presisi untuk "junior developer" bernama AI. Dan untuk memberi instruksi yang presisi, kita harus lebih dulu paham apa yang kita mau — baik secara teknis maupun dari sisi bisnis.
Ini skill baru yang harus diasah: prompt engineering untuk konteks teknis. Bukan menghafal perintah ajaib, tapi kemampuan berkomunikasi secara teknis — dengan jelas dan lengkap.
Peran Kita Bergeser Jadi Reviewer & Validator
Satu hal yang perlu ditekankan: AI bisa terdengar sangat yakin, tapi tetap bisa salah.
Kode yang dihasilkan AI bisa kelihatan bersih dan sintaksnya benar, tapi menyimpan bug yang halus — race condition yang baru muncul saat beban tinggi, celah keamanan yang tidak mencolok, atau logika yang benar untuk happy path tapi gagal di edge case.
Makanya peran kita sebagai reviewer dan validator justru makin krusial.
Kita tidak harus bisa menulis ulang setiap baris dari nol. Tapi kita perlu cukup paham untuk tahu:
- Apakah logikanya benar?
- Apakah ada potensi masalah performa?
- Apakah ada celah keamanan?
- Apakah ini bisa di-maintain oleh orang lain (atau diri sendiri) 6 bulan lagi?
Berpikir kritis jauh lebih berharga daripada hafal sintaks. Kita tidak perlu menghafal setiap method array di JavaScript — tapi kita perlu bisa membaca kode dan tahu kapan ada sesuatu yang terasa janggal.
Skill yang Makin Penting
Ini bukan daftar yang dibuat untuk bikin kamu panik. Justru sebaliknya — ini yang membuat kamu tetap relevan dan makin bernilai:
Kemampuan decomposition masalah. Ini fondasi dari segalanya. Programmer yang bisa memecah masalah kompleks menjadi langkah-langkah kecil yang konkret akan selalu dicari — oleh tim, oleh stakeholder, dan ya, oleh AI yang butuh instruksi jelas juga.
Komunikasi teknis yang presisi. Lewat prompt, lewat dokumentasi, lewat diskusi code review. Kemampuan menjelaskan "kenapa" di balik sebuah keputusan teknis semakin langka dan semakin bernilai.
Memahami konsep inti, bukan detail implementasi. Memahami bagaimana HTTP bekerja, konsep asynchronous programming, prinsip-prinsip keamanan dasar — ini tetap relevan. Yang kurang kritis sekarang adalah menghafal sintaks persis dari setiap library.
Mindset code review & debugging. Membaca kode orang lain (atau kode AI) dan menemukan masalahnya — ini skill yang tidak bisa dipotong jalan. Dan seiring makin banyaknya kode yang dihasilkan AI, makin berharga orang-orang yang bisa me-review-nya dengan tajam.
Kalau kamu penasaran dengan cara konkret untuk melatih keempat skill ini, aku menulis lebih dalam soal itu di artikel berikutnya: Cara Mengasah Skill yang Makin Penting di Era AI.
Mendefinisikan Ulang "Programmer yang Baik"
Programmer terbaik bukan yang paling cepat nulis kode.
Tapi yang paling jelas memahami masalah — dan paling efektif mendelegasikan solusinya ke alat yang tepat, termasuk AI.
AI adalah alat. Sangat powerful, memang. Tapi tetap alat. Palu yang bagus tidak membuat setiap masalah jadi paku.
Kitalah yang memutuskan kapan pakai palu, kapan pakai obeng, dan kapan berhenti sejenak untuk memastikan kita sedang membangun hal yang benar.
Kembali ke pertanyaan di awal: kapan terakhir kamu nulis kode dari nol tanpa bantuan AI?
Mungkin pertanyaan yang lebih relevan sekarang adalah: kapan terakhir kamu benar-benar memahami sebuah masalah secara mendalam sebelum minta bantuan siapa pun?
Itulah yang membedakan programmer yang tergantikan AI — dari programmer yang tahu cara menggunakannya.
