Tajuk berita terus memberitahu kita bahawa AI akan menjadikan pembangun perisian tidak lagi diperlukan. Saya tidak mempercayainya. Risiko sebenar bukanlah mesin akan mengambil alih bidang kejuruteraan. Risikonya adalah jurutera akan berhenti melakukan kerja pemikiran yang sukar.

Perisian tidak pernah sekadar tentang menaip sintaks. Ia sentiasa tentang memahami kerumitan dalam minda, memahami mod kegagalan, dan membuat pertimbangan (trade-offs) apabila tiada pilihan yang sempurna. AI telah mengubah kepantasan kita menghasilkan kod, tetapi ia tidak mengubah sebab mengapa kita memerlukan manusia dalam proses tersebut. Jika ada apa-apa perubahan, ia telah menjadikan pemikiran yang jelas lebih bernilai dan lebih sukar didapati.

Draf Pertama Bukanlah Kejuruteraan

Saya melihat semakin ramai pembangun junior melayan ChatGPT atau Claude seperti jurutera senior yang duduk di kerusi sebelah. Mereka menampal huraian tiket, menyalin jawapan, menjalankan ujian, dan melakukan commit. Jika ia berjaya dikompil, tugasan dianggap selesai. Kitaran ini pantas, tanpa geseran, dan berbahaya.

Menggunakan AI bukanlah masalahnya. Saya menggunakannya. Kebanyakan jurutera produktif yang saya kenali juga menggunakannya. Masalah bermula apabila AI menjadi satu-satunya jurutera di dalam bilik tersebut. Menerima penyelesaian pertama hanya kerana ia berfungsi bukanlah kejuruteraan. Ia adalah penyerahan pertimbangan kepada model yang tidak memahami pengguna anda, kekangan perniagaan anda, atau kali terakhir sistem (stack) anda tumbang pada jam 2 pagi.

Model bahasa besar memberikan jawapan dengan keyakinan yang membimbangkan walaupun ia sebenarnya salah sama sekali. Seorang jurutera meminta AI untuk mereka bentuk seni bina yang boleh diskalakan (scalable architecture). Model tersebut memberikan cadangan terperinci dan berwibawa yang dibina sepenuhnya berdasarkan ciri yang tidak wujud dalam produk sebenar. Ia kelihatan betul. Ia konsisten secara dalaman. Namun, ia juga tidak berguna. Bahayanya bukan sekadar AI berhalusinasi. Bahayanya adalah terlalu ramai orang kini mempercayai halusinasi tersebut kerana mereka tidak lagi mempunyai konteks untuk mengesan penipuan itu.

Anda Belajar Daripada Geseran

Apabila saya memikirkan tentang apa yang mengubah saya daripada seorang pembangun junior kepada seseorang yang mampu mengendalikan sesebuah sistem, saya tidak ingat sintaks yang saya hafal. Saya ingat gangguan perkhidmatan (outages). Saya ingat pertanyaan (queries) perlahan yang terpaksa saya jejak secara manual, keadaan perlumbaan (race conditions) yang hanya muncul di bawah beban pengeluaran (production load), dan penggunaan (deployments) yang gagal kerana persekitaran tempatan saya tidak menyerupai dunia sebenar.

Proses penyahpepijatan (debugging) adalah tempat berlakunya pembelajaran. Apabila anda meneliti kod secara manual, anda melihat mengapa sistem sebenarnya gagal. Anda menemui di mana kesesakan (bottlenecks) berlaku. Anda belajar bagaimana sesebuah seni bina bertindak apabila anda beralih daripada demo dengan sepuluh pengguna kepada sistem pengeluaran yang mengendalikan sepuluh ribu permintaan serentak. Anda merasai sendiri, hingga ke tulang sumsum, bagaimana persekitaran pengeluaran berbeza daripada demo yang telah disusun rapi.

Tiada satu pun pengetahuan itu datang daripada menerima jawapan yang dijana. Ia datang daripada bergelut dengan masalah. Jika AI menghapuskan setiap cabaran, jika ia menulis kod, membaiki pepijat, dan memberi penjelasan bagi kegagalan, bagaimanakah generasi pembangun seterusnya akan memperoleh senioriti mereka? Pengalaman bukanlah sijil yang boleh anda muat turun. Ia adalah parut yang anda bina daripada insiden pengeluaran dan kegagalan deployment. Hapuskan geseran, maka anda menghapuskan pertumbuhan.

Pertimbangan Mengatasi Penjanaan

Untuk seketika, industri menganggap kejuruteraan prompt (prompt engineering) sebagai kemahiran baharu yang popular untuk disenaraikan dalam resume. Itu tersasar jauh daripada maksud sebenar. Kebolehan yang paling berharga dalam persekitaran yang tepu dengan AI bukanlah menjana pilihan. Ia adalah mengetahui cadangan mana yang perlu ditolak.

Jurutera terbaik yang saya bekerjasama tidak menulis prompt yang paling banyak. Mereka mengajukan soalan yang paling sukar. Mereka tahu bila penstrukturan semula (refactor) memperkenalkan kebergantungan tersembunyi. Mereka menyedari apabila ujian yang dijana hanya merangkumi laluan biasa (happy path) tetapi mengabaikan kes terpinggir (edge case) yang akan merosakkan data pelanggan. Mereka boleh melihat kod yang sah sepenuhnya dan berkata, "Kod ini betul, tetapi seni binanya salah."

Ayat terakhir itu adalah garis pemisah antara dua budaya yang sangat berbeza. Kejuruteraan berbantuan AI bermaksud anda menggunakan mesin untuk merangka rangka kerja (scaffolding), meneroka corak, atau mengautomasikan kod rutin (boilerplate) sementara otak anda mengendalikan keputusan. Kejuruteraan bergantung kepada AI bermaksud anda mempercayai mesin untuk memandu. Banyak organisasi secara senyap-senyap beralih ke arah kebergantungan kerana ia terasa lebih pantas dalam jangka masa pendek. Pantas tidak bermakna betul.

Kerja yang Masih Milik Manusia

AI boleh mempercepatkan hampir setiap bahagian kitaran hayat pembangunan, namun terdapat amalan teras yang harus kekal di tangan manusia. Reka bentuk sistem memerlukan keseimbangan antara kekangan yang saling bertentangan: kos, kependaman, kebolehpercayaan, dan kebolehselenggaraan masa hadapan. Semakan seni bina bergantung kepada memori institusi dan keupayaan untuk menjangkakan kesan tahap kedua. Mentor memerlukan seseorang yang benar-benar pernah mengalami mod kegagalan yang mereka berikan amaran kepada anda. Pemahaman produk yang mendalam datang daripada berbual dengan pengguna dan memerhatikan tingkah laku mereka di dunia nyata, bukan daripada membaca data latihan.

Pertimbangan kejuruteraan adalah jumlah daripada pengalaman-pengalaman tersebut. Ia adalah suara halus yang memberitahu anda bahawa migrasi terlalu berisiko untuk dilancarkan pada petang Jumaat, walaupun semakan kod telah lulus. Ia adalah gerak hati bahawa pengoptimuman prestasi sekarang mungkin mewujudkan lubang keselamatan pada masa hadapan. LLM tidak mempunyai gerak hati. Ia mempunyai corak. Corak adalah berguna, tetapi ia bukanlah pertimbangan.

Syarikat yang sedang mengambil pekerja sekarang perlu berhenti mengutamakan orang yang sekadar mahir menggunakan alatan AI. Ambil pekerja yang boleh mencabar AI. Cari calon yang akan berhenti sejenak, membaca output yang dihasilkan dengan teliti, dan menjelaskan mengapa mereka tidak bersetuju dengannya. Itulah jurutera yang akan memastikan sistem anda kekal sihat apabila kod yang dihasilkan bertemu dengan realiti pengeluaran yang kucar-kacir.

Pecutan Tanpa Kompas

Anggaplah AI sebagai pedal pecutan. Dalam sebuah kereta dengan