Berita terus-menerus mengatakan bahwa AI akan membuat pengembang perangkat lunak menjadi usang. Saya tidak percaya itu. Risiko sebenarnya bukanlah mesin akan mengambil alih dunia engineering. Risikonya adalah para engineer akan berhenti melakukan kerja keras dalam berpikir.
Perangkat lunak tidak pernah sekadar tentang mengetik sintaks. Ini selalu tentang menampung kompleksitas di dalam kepala, memahami mode kegagalan, dan membuat pertukaran (trade-offs) ketika tidak ada opsi yang sempurna. AI telah mengubah kecepatan kita dalam memproduksi kode, tetapi tidak mengubah alasan mengapa kita membutuhkan manusia dalam prosesnya (human in the loop). Jika ada perubahan, AI justru membuat pemikiran yang jernih menjadi lebih berharga dan lebih langka.
Draf Pertama Bukanlah Engineering
Saya melihat semakin banyak pengembang junior yang memperlakukan ChatGPT atau Claude sebagai engineer senior yang duduk di kursi sebelah. Mereka menempelkan deskripsi tiket, menyalin responsnya, menjalankan pengujian, dan melakukan commit. Jika berhasil dikompilasi, tugas dianggap selesai. Siklus ini cepat, tanpa hambatan, dan berbahaya.
Menggunakan AI bukanlah masalahnya. Saya menggunakannya. Sebagian besar engineer produktif yang saya kenal juga menggunakannya. Masalah dimulai ketika AI menjadi satu-satunya engineer di dalam ruangan. Menerima solusi pertama hanya karena solusi itu berhasil bukanlah engineering. Itu adalah pengalihan (outsourcing) penilaian kepada model yang tidak memahami pengguna Anda, batasan bisnis Anda, atau kapan terakhir kali stack Anda tumbang pada jam 2 pagi.
Large language model memberikan jawaban dengan kepercayaan diri yang meresahkan bahkan ketika mereka sepenuhnya salah. Seorang engineer meminta AI untuk merancang arsitektur yang scalable. Model tersebut memberikan proposal mendetail dan berwibawa yang dibangun sepenuhnya di sekitar fitur yang tidak ada dalam produk sebenarnya. Terlihat benar. Konsisten secara internal. Namun juga tidak berguna. Bahayanya bukan hanya AI berhalusinasi. Bahayanya adalah terlalu banyak orang sekarang memercayai halusinasi tersebut karena mereka tidak lagi memiliki konteks untuk mengenali kebohongan tersebut.
Anda Belajar dari Hambatan
Ketika saya memikirkan apa yang mengubah saya dari seorang pengembang junior menjadi seseorang yang mampu mengelola sebuah sistem, saya tidak ingat sintaks yang saya hafalkan. Saya ingat masa-masa outage. Saya ingat query lambat yang harus saya telusuri secara manual, race condition yang hanya muncul di bawah beban produksi, dan deployment yang gagal karena lingkungan lokal saya tidak mirip dengan dunia nyata.
Debugging adalah tempat di mana pembelajaran terjadi. Saat Anda menelusuri kode secara manual, Anda melihat mengapa sistem benar-benar gagal. Anda menemukan di mana bottleneck muncul. Anda mempelajari bagaimana sebuah arsitektur berperilaku saat Anda berpindah dari demo dengan sepuluh pengguna ke sistem produksi yang menangani sepuluh ribu permintaan konkuren. Anda meresapi, hingga ke tulang, bagaimana produksi berbeda dari demo yang telah disusun dengan rapi.
Tidak ada dari pengetahuan itu yang datang dari sekadar menerima jawaban yang dihasilkan. Pengetahuan itu datang dari perjuangan menghadapi masalah. Jika AI menghilangkan setiap kesulitan, jika ia menulis kode, memperbaiki bug, dan menjelaskan kegagalan, bagaimana tepatnya generasi pengembang berikutnya mendapatkan senioritas mereka? Pengalaman bukanlah sertifikat yang bisa Anda unduh. Pengalaman adalah jaringan parut yang Anda bangun dari insiden produksi dan deployment yang gagal. Hilangkan hambatannya, maka Anda juga menghilangkan pertumbuhannya.
Penilaian Mengalahkan Generasi
Untuk beberapa waktu, industri memperlakukan prompt engineering sebagai keahlian baru yang populer untuk dicantumkan dalam resume. Itu sama sekali meleset dari intinya. Kemampuan yang paling berharga dalam lingkungan yang jenuh dengan AI bukanlah menghasilkan opsi. Melainkan mengetahui saran mana yang harus ditolak.
Engineer terbaik yang bekerja dengan saya tidak menulis prompt paling banyak. Mereka mengajukan pertanyaan tersulit. Mereka tahu kapan sebuah refactor memperkenalkan dependensi tersembunyi. Mereka mengenali kapan pengujian yang dihasilkan hanya mencakup happy path tetapi mengabaikan edge case yang akan merusak data pelanggan. Mereka dapat melihat kode yang valid secara sempurna dan berkata, "Kode ini benar, tetapi arsitekturnya salah."
Kalimat terakhir itu adalah garis pemisah antara dua budaya yang sangat berbeda. AI-assisted engineering berarti Anda menggunakan mesin untuk membuat draf scaffolding, mengeksplorasi pola, atau mengotomatiskan boilerplate sementara otak Anda menangani keputusan. AI-dependent engineering berarti Anda memercayai mesin untuk menyetir. Banyak organisasi secara diam-diam bergeser menuju ketergantungan karena terasa lebih cepat dalam jangka pendek. Cepat tidak sama dengan benar.
Pekerjaan yang Masih Menjadi Milik Manusia
AI dapat mempercepat hampir setiap bagian dari siklus hidup pengembangan, namun ada praktik-praktik inti yang harus tetap sepenuhnya dilakukan oleh manusia. Desain sistem membutuhkan keseimbangan di antara berbagai batasan yang saling bertentangan: biaya, latensi, keandalan, dan kemudahan pemeliharaan di masa mendatang. Tinjauan arsitektur bergantung pada memori institusional dan kemampuan untuk memproyeksikan efek tingkat kedua. Mentorship membutuhkan seseorang yang benar-benar pernah mengalami mode kegagalan yang mereka peringatkan kepada Anda. Pemahaman produk yang mendalam datang dari berbicara dengan pengguna dan mengamati perilaku mereka di lapangan, bukan dari membaca data pelatihan.
Pertimbangan teknis adalah kumpulan dari pengalaman-pengalaman tersebut. Ia adalah suara pelan yang memberi tahu Anda bahwa sebuah migrasi terlalu berisiko untuk diluncurkan pada Jumat sore, meskipun tinjauan kode telah lolos. Ia adalah intuisi bahwa optimasi performa saat ini mungkin akan menciptakan celah keamanan di kemudian hari. Sebuah LLM tidak memiliki intuisi. Ia memiliki pola. Pola itu berguna, tetapi pola bukanlah sebuah pertimbangan.
Perusahaan yang sedang merekrut saat ini perlu berhenti mengoptimalkan pencarian untuk orang-orang yang sekadar mahir menggunakan alat AI. Rekrutlah orang-orang yang dapat menantang AI. Carilah kandidat yang akan berhenti sejenak, membaca hasil yang dihasilkan dengan cermat, dan menjelaskan mengapa mereka tidak setuju dengannya. Merekalah para insinyur yang akan menjaga sistem Anda tetap sehat ketika kode yang dihasilkan bertemu dengan realitas produksi yang berantakan.
Akselerasi Tanpa Kompas
Anggaplah AI sebagai pedal gas. Dalam sebuah mobil dengan
