Tiap beberapa bulan ada yang mengumumkan bahwa programming sudah selesai. AI bisa nulis kode, jadi buat apa belajar nulis kode? Pertanyaannya wajar, apalagi kalau kamu baru tujuh belas tahun dan sedang memilih mau jadi apa sepuluh tahun ke depan.
Tapi pertanyaannya juga salah arah. AI bukan membuat software jadi lebih mudah dibangun. AI membuat draf pertamanya lebih murah, dan itu memindahkan bottleneck ke tempat lain. Di tempat itu pula pekerjaannya berada.
Kekhawatirannya bukan bodoh
Mari jujur soal apa yang benar-benar hilang. Pekerjaan level awal yang isinya menerjemahkan spesifikasi jelas jadi kode yang bisa ditebak sedang tertekan. Endpoint CRUD, dashboard admin, validasi form, migrasi sederhana, skrip glue, kerangka test. Tool bisa mengerjakannya cepat, dan cukup baik sehingga senior tinggal review daripada menulis.
Kerjaan itu memang bukan seluruh pekerjaan, tapi itu bagian besar dari cara junior belajar. Kamu membangun seratus layar membosankan, dan di sela-selanya kamu belajar bagaimana sistem gagal. Kalau masa magang itu menyusut, jalan dari siswa jadi developer kompeten jadi nggak kelihatan.
Jadi rasa takutnya masuk akal. Cuma sasarannya salah. Risikonya bukan "AI yang menulis kode". Risikonya adalah "nggak ada yang melatih generasi berikutnya karena kerjaan latihannya sudah diotomatiskan".
Yang sebenarnya diotomatiskan AI
AI bagus untuk tugas dengan target jelas dan umpan balik cepat. Diberi signature fungsi dan deskripsi, dia menghasilkan kode yang masuk akal. Diberi pesan error, dia menyarankan perbaikan. Diberi skema, dia menulis query.
AI lemah untuk hal-hal di mana targetnya nggak jelas, konteksnya berantakan, atau biaya salahnya mahal:
- Menentukan apa yang harus dibangun, dan apa yang tidak.
- Memahami kenapa sistem produksi berperilaku beda dari environment test.
- Menyadari bahwa requirement-nya sendiri yang bermasalah.
- Bertanggung jawab saat ada yang rusak jam dua pagi.
Itu bukan soft skill tempelan. Itu pekerjaannya. Menulis kode adalah cara mengekspresikan keputusan, bukan pengganti membuat keputusan.
Bagian yang jadi lebih sulit dipalsukan
Saat kode jadi murah, kebenaran jadi barang langka. Itu mengubah apa yang diharapkan dari seorang junior.
Dulu, "aku bisa bikin halaman login" adalah sinyal yang berarti. Sekarang siapa pun bisa menghasilkannya dalam satu menit. Pertanyaan yang menarik adalah apakah kamu bisa menjelaskan:
- Kenapa cookie session-nya
HttpOnlydanSameSite=Lax. - Apa yang terjadi kalau database mati saat proses login.
- Bagaimana membatasi percobaan password tanpa mengunci pengguna asli.
- Di mana hash password disimpan, dan kenapa bukan dienkripsi.
AI bisa membuat halamannya. AI nggak bisa bertanggung jawab atas halamannya. Di celah itulah pekerjaannya berada.
Ini juga alasan "prompt engineer" sebagai profesi mostly salah paham. Prompting itu skill, bukan pekerjaan. Pekerjaannya tetap engineering, cuma ada tool baru di dalam loop-nya.
Fundamental tetap berbunga
Ada jalan pintas yang menggoda: lewati teorinya, biar AI yang urus detail, fokus ke shipping. Cara ini jalan sampai suatu hari nggak jalan.
Developer yang paling diuntungkan AI adalah yang bisa tahu kapan AI salah. Kemampuan itu datang dari fundamental:
- Networking. DNS, TCP, TLS, HTTP. Kenapa request timeout, dan lapisan mana yang harus disalahkan.
- Sistem operasi. Proses, memori, file descriptor. Kenapa container mati dengan exit code 137.
- Struktur data dan algoritma. Bukan buat membalik binary tree di papan tulis, tapi buat tahu kenapa scan list di dalam loop itu lambat.
- Database. Index, transaksi, isolasi. Kenapa query cepat di staging dan lambat di produksi.
- Debugging. Membaca log, menyusun hipotesis, mengisolasi variabel.
Nggak ada yang usang. Itu bedanya memakai tool dan dipakai tool.
Kenapa anak SMK justru punya keunggulan
Kalau kamu di SMK atau jalur vokasi, saran yang sering muncul adalah bertarung dengan mahasiswa di algoritma. Itu pertarungan yang salah. Bertarunglah di tempat konteksnya fisik dan lokal.
AI sangat bagus untuk teks. AI kurang berguna saat masalahnya printer yang cuma jalan di satu VLAN, router klien yang reset tiap sore, atau sistem kasir yang harus tetap hidup saat listrik mati. Masalah seperti itu butuh kehadiran, diagnosis, dan kepercayaan.
Kekuatan vokasi yang tetap bernilai:
- Memasang dan merawat jaringan, server, dan perangkat.
- Ngobrol dengan pemilik usaha kecil dan menerjemahkan masalahnya jadi sistem.
- Bekerja dengan batasan: hardware tua, internet lambat, tanpa budget.
- Menangani last mile: deployment, backup, dukungan, dokumentasi.
Last mile adalah tempat sebagian besar proyek software gagal. Nggak keren, lokal, dan sulit diotomatiskan.
Checklist junior versi baru
Kalau kamu mulai sekarang, tujuannya bukan menghindari AI. Tujuannya jadi orang yang bisa memakainya tanpa kehilangan kemampuan berpikir.
- Kuasai satu bahasa sampai dalam. Bukan sintaksnya, tapi ekosistemnya: package manager, testing, debugging, profiling, deployment.
- Bisa menjelaskan setiap baris yang kamu kirim. Kalau nggak bisa, kamu belum memilikinya.
- Tulis test sebelum percaya kode hasil generate. Test adalah cara mengubah saran jadi klaim.
- Baca kode lebih banyak daripada menulisnya. Proyek open source, kode lamamu sendiri, framework yang kamu pakai.
- Belajar Linux dan command line. Hampir semua masalah produksi akhirnya mendarat di situ.
- Belajar SQL dengan benar. Join, index,
EXPLAIN, transaksi. Umurnya lebih panjang dari framework apa pun. - Latih menulis. Catatan insiden, deskripsi pull request, dokumentasi. Tulisan yang jelas sekarang jadi pengali.
- Kirim satu proyek dari awal sampai akhir. Auth, database, deployment, backup, monitoring. Satu sistem nyata mengajarkan lebih banyak dari sepuluh tutorial.
Mode gagal yang harus dihindari
Tutorial hell versi dua. Menonton AI membangun sesuatu terasa seperti belajar. Bukan. Kalau kamu nggak pernah bergulat dengan bug, kamu nggak membangun insting untuk memperbaikinya.
Percaya pada output yang terdengar meyakinkan. Kode hasil generate terlihat percaya diri. Dia bisa mengarang API, mengabaikan edge case, dan diam-diam mengubah perilaku. Compiler menangkap sebagian. Test menangkap lebih banyak. Nggak ada yang menangkap semuanya kecuali pemahaman.
Melewati bagian membosankan. Keamanan, backup, error handling, dan migrasi justru bagian yang paling sering salah kalau dibuat AI, karena semuanya bergantung pada konteks yang nggak dia punya.
Menyewa orang lain untuk menilai. Begitu kamu berhenti bertanya "apakah ini benar?", kamu bukan lagi engineering. Kamu menyalin.
Rencana dua belas bulan yang realistis
Kalau kamu siswa dengan waktu terbatas, bentuknya kira-kira begini:
| Bulan | Fokus |
|---|---|
| 1–2 | Satu bahasa, satu database, command line, Git |
| 3–4 | Bangun aplikasi kecil dengan auth dan test, deploy ke VPS |
| 5–6 | Tambah logging, backup, reverse proxy; rusak dengan sengaja lalu perbaiki |
| 7–8 | Baca proyek open source yang kamu pakai; perbaiki isu kecil |
| 9–10 | Belajar dasar performa: index, caching, profiling |
| 11–12 | Tulis tentang yang kamu bangun, lalu bangun ulang satu bagian lebih baik |
Intinya bukan daftarnya. Intinya setiap item menghasilkan bukti: repository, tulisan, deployment yang jalan. Di pasar di mana semua orang bisa generate kode, bukti penilaian adalah pembedanya.
Kalau kamu nggak mau ngoding?
IT lebih luas dari programming, dan AI justru menambah permintaan untuk orang yang bisa menjalankan sistem yang diandalkan AI. Networking, infrastruktur, keamanan, support, data, dan operasi teknis semuanya jalur nyata.
Benang merahnya sama: pahami sistemnya, verifikasi outputnya, bertanggung jawab. Skill itu tetap berlaku, entah kamu akhirnya menulis Go, mengelola puluhan laptop, atau menjalankan ISP kecil.
Buat guru dan orang tua
Kalau kamu menasihati siswa, hindari dua ekstrem. "AI akan melakukan semuanya, jadi nggak usah repot" itu salah. "AI itu curang, dilarang" juga salah, dan nggak menyiapkan siapa pun untuk dunia kerja yang akan mereka masuki.
Posisi yang berguna ada di tengah: biarkan siswa memakai tool-nya, lalu minta mereka menjelaskan hasilnya. Nilai penalarannya, bukan kecepatan mengetiknya. Dan pastikan mereka tetap menyentuh sistem nyata: server, jaringan, database yang bisa rusak.
Ketidakpastian yang jujur
Nggak ada yang tahu ini akan berakhir bagaimana. Prediksi soal AI dan lapangan kerja sudah salah ke dua arah. Mungkin peran junior menyusut beberapa tahun sementara perusahaan mencari bentuk tim yang baru. Mungkin juga software yang lebih murah menciptakan lebih banyak software, dan berarti lebih banyak kerjaan.
Yang aman dipertaruhkan justru membosankan: fundamental, penilaian, komunikasi, dan kemampuan memverifikasi. Semua itu selamat dari setiap gelombang abstraksi sebelumnya, dari compiler sampai framework sampai cloud.
AI itu power tool. Pekerjaannya tetap tahu apa yang harus dibangun, memeriksa apakah itu bekerja, dan jadi orang yang menjawab saat ternyata tidak.
Pekerjaan itu nggak akan hilang. Cuma makin sulit di-bluff.
