1 poin oleh GN⁺ 1 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Menggunakan AI jelas mengurangi jumlah pembelajaran yang didapat untuk melakukan pekerjaan tersebut, tetapi itu bukan alasan untuk menolak AI
  • Bahkan jika AI dalam jangka panjang melemahkan kemampuan insinyur, jika keuntungan produktivitas jangka pendek cukup besar, penggunaannya akan sulit dihindari
  • Seperti pekerja konstruksi yang harus mengangkat barang berat meski membebani tubuh, kita tetap harus mengikuti tuntutan hakiki dari profesi
  • Kita bisa tetap bersikeras menulis kode dengan tangan, tetapi seperti tukang kayu yang menolak perkakas listrik tidak punya pekerjaan, insinyur yang menolak AI sangat mungkin tersingkir dalam persaingan oleh insinyur yang menerima AI
  • Insinyur perangkat lunak juga bisa menjadi generasi pertama yang seperti atlet profesional, dengan umur karier yang terbatas, sehingga perlu membuat rencana yang sesuai dengan kemungkinan itu

Penggunaan AI dan umur karier insinyur perangkat lunak

  • Tidak ada bukti kuat bahwa AI menurunkan kecerdasan umum manusia secara keseluruhan, tetapi jelas bahwa ketika suatu pekerjaan ditangani dengan AI, jumlah yang dipelajari untuk melakukan tugas tertentu itu berkurang
  • Logika yang membuat sebagian insinyur perangkat lunak berpandangan bahwa penggunaan AI di tempat kerja harus dihindari kira-kira seperti ini
    • Jika memakai AI, kita belajar lebih sedikit dalam proses kerja
    • Seiring waktu, kemampuan teknis menurun dan kita menjadi insinyur yang kurang efektif
    • Karena itu, AI tidak boleh digunakan dalam pekerjaan
  • Namun, premis kedua itu tidak pasti
    • Saat berpindah dari assembly ke C, programmer menjadi kurang efektif dalam beberapa hal, tetapi lebih efektif dalam hal lain
    • Peralihan dari menulis kode dengan tangan ke menggunakan AI bisa jadi perubahan yang lebih besar, sehingga sulit memastikan hasilnya
  • Bahkan andaikata penggunaan AI dalam jangka panjang membuat insinyur kurang efektif, itu saja tidak otomatis menghasilkan kesimpulan bahwa AI tidak boleh dipakai
  • Hingga sekitar tahun 2024, cara terbaik untuk belajar rekayasa perangkat lunak adalah benar-benar melakukan rekayasa perangkat lunak secara langsung
    • Hobi menulis kode bisa diubah menjadi karier berpenghasilan tinggi, dan orang yang menyukai pekerjaannya akan terus membaik seiring waktu
    • Ini lebih merupakan kebetulan yang menguntungkan daripada hakikat abadi dari rekayasa perangkat lunak

Benturan antara produktivitas jangka pendek dan kemampuan jangka panjang

  • Bahkan jika penggunaan AI dalam jangka panjang merusak kemampuan kerja atau daya nalar umum, insinyur mungkin tetap perlu memakai AI jika keuntungan jangka pendeknya cukup besar
  • Pekerja konstruksi harus mengangkat barang berat agar bisa bekerja secara efektif, tetapi pekerjaan seperti itu dalam jangka panjang dapat mengikis punggung dan sendi, sehingga seiring waktu mereka menjadi pekerja yang kurang efektif
    • Pekerja konstruksi tidak berkata, "pekerja konstruksi yang baik adalah yang tidak mengangkat barang berat," melainkan, "mau bagaimana lagi, memang ini pekerjaannya"
  • Di lokasi konstruksi ada teknik seperti crane, gerobak tangan, dan forklift untuk menghindari mengangkat barang berat
    • Bagi insinyur perangkat lunak juga mungkin dibutuhkan teknik untuk tetap terlibat secara mental, tetapi pendekatan serupa mungkin belum ditemukan
  • Jika AI benar-benar membuat orang menjadi kurang cerdas, kita tetap bisa terus menulis kode dengan tangan
    • Namun, sebagaimana tukang kayu yang menolak perkakas listrik hampir tidak punya pekerjaan, akan makin sulit dibayar hanya dengan menulis kode secara manual
    • Jika model menjadi cukup bagus, kita akan kalah bersaing dengan insinyur yang menukar kemampuan kognitif jangka panjang dengan karier berpenghasilan tinggi dalam jangka pendek
  • Serikat pekerja secara teori bisa memperlambat proses ini
    • Di industri lain, serikat pernah membuat pemberi kerja memperlambat perlombaan menuju kondisi terburuk
    • Tetapi pekerjaan teknologi bergaji tinggi dan bisa dikerjakan dari mana saja di dunia, sehingga tenaga kerja pengganti selalu tersedia; karena itu saya pesimistis terhadap serikat pekerja di sektor teknologi
  • Umur karier atlet profesional kira-kira maksimal 15 tahun, dan ada peluang menghasilkan banyak uang hingga sekitar pertengahan usia 30-an, tetapi setelah itu tubuh tidak lagi mampu mengikuti
    • Sosok tragis yang sering terlihat saat ini adalah atlet profesional yang percaya bahwa "pertunjukan ini akan berlangsung selamanya" dan tidak menyiapkan diri untuk masa pensiun
    • Insinyur perangkat lunak mungkin adalah generasi pertama yang berada di posisi serupa, dan jika memang begitu, akan bijak untuk merencanakannya sejak sekarang

1 komentar

 
GN⁺ 1 jam lalu
Opini Hacker News
  • Saya mengalami percakapan yang sama beberapa kali dalam seminggu: ketika orang bilang “AI akan membuat developer jadi tidak relevan”, saya tanya kenapa, lalu mereka menjawab “karena LLM bisa menulis kode”
    Padahal dalam pekerjaan yang benar-benar saya lakukan untuk mencari nafkah, menulis kode dulu hanya sekitar 2–5%, dan sekarang bahkan lebih sedikit; sisanya adalah memahami sesuatu lalu menerapkan kemampuan untuk menyusun solusi
    Menurut saya, developer yang masih percaya bahwa pekerjaan developer hanyalah mengetik kode mungkin benar-benar tidak akan punya pekerjaan di masa depan, dan para pemilik bisnis yang percaya LLM bisa menggantikan developer lalu mencoba jalan tanpa developer juga pada akhirnya akan diurus oleh seleksi alam

    • Sekitar tahun 2000, di salah satu pekerjaan pertama saya, saya dipasangkan dengan software engineer senior yang sudah bekerja sejak awal 1970-an, dan saya sangat antusias karena ingin belajar darinya
      Kira-kira pada hari keempat dia berkata, “Saya akan mengajarkan hal yang paling membantu dalam karier saya,” lalu bilang, “Selalu beri nomor pada punch card, jadi kalau jatuh bisa mudah disusun lagi sesuai urutan”
      Saya kecewa karena masa memakai punch card sudah lama berlalu, tetapi dia menambahkan, “Saya bilang itu membantu saya, bukan akan membantu kamu. Software selalu berubah,” dan belakangan ini saya sering teringat kata-kata itu
    • Jawaban ini terasa agak terlalu licin. Sebagian besar waktu nyata memang dipakai untuk coding, dan itu termasuk mengetik, mengetik ulang, lalu mengetik ulang lagi
      Juga termasuk waktu membenturkan kepala ke dinding agar kode yang sudah ditulis ulang supaya cocok dengan API yang dokumentasinya buruk akhirnya bisa berjalan
      Cara ungkap komentar awal membuat software engineering tampak seperti aktivitas yang murni dan luhur layaknya matematika, padahal kenyataannya, meski kita masuk dengan rencana, saat realitas tidak cocok kita lebih mirip pekerja pengeboran yang memukul logam dengan palu besar demi menyesuaikan drill string di bawah tenggat yang mepet
    • Ada orang yang memang hanya 2–5% menulis kode, tapi ada juga yang 6–50%
      Pekerjaan “memahami sesuatu dan menyusun solusi” juga merupakan wilayah yang dibidik AI
      Mungkin Anda hanya sedang beruntung berada di lingkungan yang mengakui kontribusi Anda, atau berada di industri/domain yang tidak banyak muncul dalam data pelatihan, atau di ruang masalah yang terlalu kompleks untuk ditangani AI
      Orang-orang yang hanya menyelesaikan tiket Jira dan membuat aplikasi web CRUD sangat mungkin mata pencahariannya sering hilang, atau mereka dituntut menghasilkan lebih banyak dengan gaji yang sama atau lebih rendah sambil harus mengejar ketertinggalan dengan AI
    • Saya suka ungkapan “akan diurus oleh seleksi alam”. Prediksi tentang bagaimana AI akan mengubah software dan hal-hal di luarnya sudah melimpah, tetapi sekarang saya penasaran kapan omongan berhenti dan demonstrasi hasil dimulai
      Kalau memang bisa, ya akan berhasil, caranya akan menyebar, semua orang akan cepat bisa mengaksesnya, dan kemajuannya akan terus berlanjut
      Kalau tidak bisa, itu akan terlihat dari tidak adanya hasil nyata, dan sekadar berkata “saya sedang melihatnya” tidaklah cukup. Itu harus menjadi kenyataan yang bisa dilihat dan dipakai semua orang, tak terhindarkan dan tak terbantahkan
    • Secara prinsip saya setuju, tetapi estimasi 2–5% tampak sangat rendah. Jika dikatakan sebagian besar developer menghabiskan 25%, atau bahkan 40%, untuk kode, saya bisa percaya, tetapi orang yang hanya 2% itu sangat jarang
      Mungkin kalau dia staf tingkat sangat tinggi seperti penasihat CTO di perusahaan raksasa, itu mungkin, tetapi itu berarti dia memang sudah berada di posisi yang sangat langka
  • Reaksi yang terpolarisasi terhadap AI tampaknya bergantung pada lensa yang dipakai. Peran junior sedang cepat menghilang, tetapi pada peran senior, pengalaman dan penilaian justru lebih penting dari sebelumnya
    Jadi software engineering mungkin memang bukan lagi karier seumur hidup bagi banyak orang. Mirip seperti olahraga elite bukan pilihan karier yang realistis bagi kebanyakan orang, tetapi tetap akan ada sebagian orang yang menjadikannya profesi, dan memang harus begitu

  • Pengalaman saya justru kebalikannya. Engineer yang sangat terampil dan benar-benar mau memakai alat terbaru kini jauh lebih baik daripada sebelumnya, termasuk mereka yang berusia 40-an dan 50-an
    Salah satu alasan programmer tradisional makin lama bisa melemah di lapangan adalah karena, seperti catur, konsentrasi dan perhitungan mendalam menurun. Pemain catur yang lebih tua memahami catur jauh lebih baik daripada jenius 19 tahun, tetapi tidak bisa menghitung sedalam itu dengan kecepatan yang sama untuk waktu lama, sehingga pada akhirnya pengalaman kalah oleh murni daya hitung
    Claude Code dan Codex mengurangi beban hitung itu, sementara semua naluri yang dibangun dari pengalaman dan “intuisi” dua detik tetap utuh
    Sekarang ini bukan cuma jadi persaingan yang adil, malah berbalik jadi tidak adil. Senior yang dulu memimpin tim berisi 6 orang kini memimpin tim agen, dan meninjau kode seperti dulu. Bahkan kadang lebih mudah mengarahkan agen daripada junior di sekitarnya

    • Untungnya, bagi software engineer masih ada jalur arsitek, dan itu sering memberi imbalan pada intuisi mendalam meski cara perhitungan detailnya terus berubah
      Namun pertanyaan yang mendesak tetapi belum terjawab adalah apakah arsitek yang baik bisa muncul tanpa melewati parit praktik kerja nyata
      LLM juga melakukan sesuatu yang mirip intuisi, jadi keduanya perlu dibedakan. LLM lebih dekat pada alam bawah sadar kolektif internet, dan jelas berbeda dari selera yang lahir dari pengalaman baik maupun buruk
      Intuisi yang muncul pada akhirnya adalah “selera yang baik”, dan itu sangat dekat dengan pekerjaan inti peran senior di bidang teknis mana pun
    • Jika satu senior bisa melakukan pekerjaan 6 rekan, lalu apa yang terjadi pada rekan-rekan itu?
      Orang-orang yang digantikan traktor di pertanian tidak bisa mempertahankan pekerjaannya. Apa yang berbeda sekarang?
    • Kalimat “senior yang dulu memimpin tim 6 orang kini memimpin tim agen” justru menegaskan poin penulis
      Tim 6 orang itu tidak lagi dibutuhkan, dan secara logis akan dihapus dari perusahaan
      Jadi software engineering mungkin tetap menjadi profesi bagi sebagian orang, tetapi jumlah orangnya bisa berkurang 85%
    • Saya berusia 43 tahun, dan setelah 15 tahun pengalaman saya sangat produktif sebagai developer Java/Swing serta hafal detail alat-alatnya
      Tetapi perusahaan itu sudah tidak ada lagi, dan perlu jauh lebih lama bagi saya untuk belajar bekerja efisien dengan alat baru yang dipakai sekarang. Saya belum menghabiskan 10 tahun mempelajari detail lingkungan baru ini
      Jadi AI sangat menghemat waktu saya untuk mencari tahu sintaks yang benar dan mengingat detail framework unit test. Kalau saya bertahan 1–3 tahun, saya rasa saya akan jauh lebih cepat dan jauh lebih paham alat-alatnya
    • Kita harus berhenti melakukan antropomorfisme. Tidak ada yang namanya tim agen, yang ada hanya alat dan proses yang berjalan di komputer
      Kalau satu senior engineer itu hilang, tidak ada apa-apa yang tersisa. Lebih baik punya tim berisi 6 orang
  • Sayangnya, saya rasa pernyataan “pengguna AI lambat laun akan mengalami penyusutan kemampuan teknis dan menjadi engineer yang kurang efektif” kemungkinan besar benar dalam jangka panjang
    Dilihat secara profesional, orang umumnya terbagi menjadi dua jenis: mereka yang memakai AI untuk memperkuat penalaran, dan mereka yang memakai AI untuk menggantikan penalaran. Yang pertama tidak terlalu saya khawatirkan, tetapi yang kedua membuat saya khawatir
    Ibu saya adalah guru SMA negeri di Amerika, dan dia mengeluh bahwa siswa sering menerima “Google AI overview” sebagai sumber kebenaran mutlak
    Mungkin ini cuma fenomena baru yang mirip “tidak boleh mengutip Wikipedia”, tetapi dia merasa kemampuan berpikir kritis anak-anak yang masuk kelas setelah pandemi menurun secara mencolok
    Sudah ada satu dua generasi yang tumbuh di lingkungan tempat influencer dan orang anonim di internet memberi tahu apa yang harus mereka sukai, benci, dan percayai. Mereka sudah mengalihdayakan penalaran bahkan sebelum LLM, dan tampaknya tidak siap berinteraksi secara produktif dengan sistem yang dirancang agar mereka merasa mendapatkan apa yang diinginkan meski kualitasnya meragukan

    • Saya benar-benar bekerja dengan orang-orang yang menghasilkan solusi tanpa benar-benar melihat outputnya dengan baik. Mereka mengklik aplikasinya atau menjalankan beberapa tes, lalu jika hasilnya tampak oke mereka deploy
      Seluruh PR-nya penuh jejak Claude, dan aman untuk berasumsi mereka hampir tidak mengeditnya. Mereka ini kelompok A
      Di sisi lain ada rekan-rekan yang menuntaskan masalah sampai akhir, membuat harness untuk menguji perubahan, memverifikasi hasil, melewati beberapa solusi lalu menyintesis hasil ideal menjadi satu, melakukan benchmark dan perapian, menguji secara menyeluruh, dan menyediakan prosedur validasi yang masuk akal di PR. Mereka ini kelompok B
      Itu adalah dua cara memakai AI yang benar-benar berbeda. A untuk saat ini mungkin terlihat masih lolos, tetapi B adalah versi baru dari apa yang mungkin dilakukan dalam waktu yang tersedia, dan menetapkan standar baru software engineering yang sebelumnya hampir tak pernah saya lihat di luar lingkungan yang sangat profesional
      Saya rasa kelompok A akan tersingkir dari industri cukup cepat. LLM bisa membuat orang bekerja dengan sangat efektif asalkan ada kemauan untuk belajar. Ketelitian seperti itu bisa menjadi default, dan mungkin satu-satunya cara manusia tetap menjadi komponen yang berguna di dalam loop
    • Banyak orang dewasa di sekitar saya juga sekarang menerima Google AI overview seolah-olah itu sumber yang mutlak
    • Terkait ini, ada tulisan yang baru-baru ini muncul di HN: https://news.ycombinator.com/item?id=47913650
  • Secara anekdotal, rasanya tahun ini memang ada perubahan nyata di pasar perekrutan software di Amerika. Tampaknya makin banyak perusahaan mengambil strategi wait-and-see agar tidak terlalu berinvestasi pada modal manusia dalam beberapa tahun ke depan
    Sinyal perekrutan yang memang sebelumnya sudah lemah sekarang terasa benar-benar hilang. Pasang satu lowongan, lalu masuk lebih dari 500 lamaran dan surat pengantar yang ditulis LLM, semuanya terlihat dan terasa mirip
    Perbandingan dengan atlet profesional di tulisan ini terasa agak janggal. Jika orang menghasilkan uang dengan ototnya, persoalan fisik karena penuaan itu jelas; tetapi bila dibandingkan dengan bidang kerja pengetahuan seperti hukum atau kedokteran, banyak praktisi yang sangat terampil dan tajam di usia 40-an dan 50-an

    • Ini memang anekdotal, tetapi saya melihat perusahaan-perusahaan Amerika merekrut besar-besaran di India dan pasar berkembang lain
      Saya tahu kasus orang-orang di negara-negara itu yang sebelumnya tak pernah sekali pun dihubungi recruiter big tech, kini mendapat pesan setiap hari
      Saya juga melihat orang bilang penyebabnya adalah ketentuan Amerika tertentu yang berakhir tahun lalu, tetapi saya orang awam, jadi saya tidak punya pengetahuan untuk membahas alasannya
    • Di lapangan, sejujurnya saya tidak merasa AI memengaruhi permintaan perekrutan. Bukan seperti AI menuliskan semua yang dibayangkan kepemimpinan lalu engineer tinggal duduk diam
      Sebaliknya, ekonomi terasa seperti nyaris jatuh, atau setidaknya seperti roller coaster. Insentif pajak perekrutan lemah, era suku bunga nol sudah lama berakhir, dan para perekrut kewalahan oleh lamaran yang penuh noise
      Meski begitu, atasan suka bilang semua ini karena AI. Soalnya kalau bilang begitu terdengar seolah mereka memegang kendali
    • Menurut saya perusahaan melakukan overhiring saat masa COVID, dan karena pengalaman itu serta pasar yang tidak pasti, mereka tidak ingin mengulangi kesalahan yang sama
  • Saya terus membaca penjelasan bahwa semuanya akan baik-baik saja karena “orang bisa retraining ke pekerjaan lain” akibat AI, tetapi saya tidak pernah melihat apa pekerjaan itu, atau siapa yang akan membayar biaya retraining-nya
    Saya sendiri tidak punya uang maupun waktu untuk kembali kuliah dan memulai karier baru dari nol

    • Logikanya adalah “di masa lalu juga selalu begitu”
      Itu benar, tetapi hanya benar sampai saat ketika ia berhenti benar
      Contoh klasik yang menunjukkan betapa besar kegagalan cara berpikir ini adalah teori Malthus. Teori bahwa pertumbuhan pangan bersifat linear dan pertumbuhan populasi eksponensial sehingga populasi akan runtuh memang benar untuk seluruh sejarah sebelum Malthus menyampaikan pengamatan itu
      Pada tingkat mekanis, logika “kita selalu menemukan pekerjaan lain” mengabaikan bahwa itu dimungkinkan karena manusia selalu memiliki keunggulan kecerdasan dibanding otomasi
      Bahkan input manusia yang tampak sederhana di lini perakitan pada akhirnya bergantung pada kemampuan manusia melakukan penyesuaian halus yang nyaris tak terlihat dan tidak bisa dilakukan robot
      Tetapi jika sesuatu yang mendekati AGI benar-benar bekerja, maka tenaga kerja manusia tidak memiliki keunggulan apa pun atas otomasi, sehingga tidak jelas mengapa logika lama bahwa “otomasi menciptakan lebih banyak pekerjaan manusia” harus terus berlaku
    • Sama seperti retraining itu tidak terjadi pada pekerja industri terampil yang pekerjaannya di-outsourcing ke China, kali ini juga tidak akan terjadi
      Pemerintah akan memberi kesejahteraan secukupnya untuk menjaga keadaan tetap terkendali, lalu secara budaya akan menstigmatisasi mereka seperti kaum Luddite
    • Pekerjaan seperti itu tidak ada, dan kalau pun ada, biayanya akan ditanggung sendiri. Perusahaan tidak akan pernah membayar, kecuali dalam kasus yang sangat jarang ketika mereka benar-benar terpaksa demi bersaing
    • Hal yang sama juga berlaku untuk industri-industri yang dihancurkan oleh software
    • Tidak ada jaminan bahwa akan muncul pekerjaan hebat lainnya. Orang tampaknya hanya mengasumsikannya begitu saja
      Memang untuk sementara masih ada pekerjaan yang membutuhkan tenaga fisik manusia, tetapi secara realistis banyak pekerjaan fisik dilakukan di bagian dunia lain yang upahnya lebih murah
      Pekerjaan yang tidak bisa diekspor seperti tukang ledeng atau pramusaji punya permintaan yang terbatas. Anda tidak bisa mendorong 50% tenaga kerja white-collar saat ini ke pekerjaan semacam itu lalu berharap mereka mudah mendapat kerja atau upah yang layak. Permintaannya memang tidak ada
      Pada saat yang sama, ketika pekerjaan white-collar menghilang, pekerjaan fisik “berketerampilan rendah” juga makin terotomasi. Self-checkout mengurangi pekerjaan ritel, robotaxi dan pengiriman drone mengurangi pekerjaan pengiriman dan logistik, dan robot gudang akan mengurangi pekerjaan gudang
      Tampaknya ada asumsi implisit bahwa AI akan menciptakan banyak pekerjaan bergaji tinggi yang tetap membutuhkan pemberi kerja manusia, dan pada saat yang sama pekerjaan itu juga tidak bisa di-outsourcing dengan lebih murah ke luar negeri. Sebenarnya pekerjaan bergaji tinggi apa yang aman dari AI sekaligus aman dari outsourcing? Apa semua orang akan jadi petugas kebersihan bergaji tinggi? Itu tidak masuk akal
      Saran untuk retraining jadi pekerja konstruksi atau tukang ledeng hari ini tampaknya mengasumsikan permintaan terhadap tenaga kerja itu tak terbatas, padahal jelas tidak. Bahkan kalau permintaan pekerja konstruksi melonjak pun, perlu bertahun-tahun untuk menyiapkan peralatan, rantai pasok, dan infrastruktur agar jutaan orang bisa masuk ke industri itu
      Skenario yang paling mungkin adalah orang kehilangan pekerjaan, lalu terjebak dalam kompetisi menurun tanpa akhir untuk memperebutkan sedikit pekerjaan yang tersisa di ekonomi domestik. Sisanya akan di-outsourcing atau dikerjakan robot dan AI
      Nasihat yang lebih baik adalah mulai bersiap menghadapi kenyataan ini. Jangan berasumsi pemerintah akan melindungi Anda atau bisa melindungi Anda. Jika kekayaan terkonsentrasi, korupsi hampir tak terhindarkan, dan politisi pun punya keluarga yang harus mereka urus
      Ini harus ditanggapi serius. Sekalipun saya salah, tetap lebih baik bersiap untuk yang terburuk daripada berasumsi semuanya akan baik-baik saja dan Anda bisa retraining ke pekerjaan baru bergaji tinggi
  • Kedua orang tua saya dulu pekerja konstruksi. Ada kesadaran bahwa orang tidak bisa mengangkat benda berat selamanya
    Pada akhirnya mereka berhenti mengangkat barang dan menjadi mandor atau supervisor. Jika Anda tidak nyaman belajar membuat orang lain melakukan pekerjaan yang dulu Anda kerjakan sendiri, tubuh Anda akan benar-benar hancur, dan hasilnya mengerikan
    Ini adalah realitas yang faktual, tetapi juga metafora yang penting bagi saya untuk menginternalisasi soal delegasi dalam karier saya. Itu tidak sepenuhnya tidak relevan dengan penggunaan AI, tetapi saya juga tidak merasa analoginya benar-benar pas dengan rapi

    • Perlu juga dicatat bahwa dalam batas yang wajar, mengangkat benda berat justru membuat orang lebih kuat, sedangkan hipotesis tentang penggunaan AI saat ini umumnya malah kebalikannya
    • Developer software lebih mirip arsitek daripada programmer semata. Anda tidak menyuruh arsitek mengangkat benda berat, Anda menyuruh mereka merancang bagaimana benda-benda berat itu akan dipakai
  • Saya berharap orang-orang yang terlihat pintar berhenti memakai analogi abstraksi seperti dalam tulisan ini. Kata kuncinya adalah determinisme
    Setiap lapisan abstraksi seperti power tools atau C menambahkan lapisan deterministik yang bisa diandalkan, selalu menghasilkan hasil yang sama, dan membuat kita bekerja lebih efektif setiap kali
    LLM mendeskripsikan pemrograman dalam bahasa alami dan hasilnya, dalam skenario terbaik sekalipun, bervariasi. Itulah mengapa agen dibutuhkan dan hasilnya didorong dengan brute force
    Menurut saya moat yang sesungguhnya tetaplah menjadi orang yang benar-benar masih bisa memprogram

    • Orang selalu bilang begitu, tetapi menurut saya itu argumen yang meleset. LLM memang tidak deterministik, tetapi itu sama sekali tidak penting
      Kita tidak menjalankan output LLM secara langsung; kita memakai LLM untuk sekali menghasilkan artefak, lalu artefak itu dijalankan secara deterministik
      Spesifikasi memang sekali diubah menjadi kode, dan jika spesifikasinya diedit kodenya bisa diperbarui, tetapi bukan berarti seluruh program dibuat ulang setiap saat. Jadi mengapa determinisme penting?
    • Saya mengakui bahwa LLM tidak cocok dengan definisi abstraksi tertentu. Tetapi orang-orang yang menyebut LLM sebagai lapisan abstraksi lain belum tentu salah paham. Mereka memakai kata itu dalam arti yang lebih abstrak
      Misalnya, bagaimana Mark Zuckerberg membuat software lima tahun lalu?
      Dia juga bisa membuka editor seperti saya, tetapi situasinya memberinya antarmuka lain berupa sumber daya manusia. Alih-alih berinteraksi dengan editor, dia berinteraksi dengan orang-orang itu, dan mereka yang membuat software-nya
      Lapisan di antara dia dan sistem yang dibangun itu adalah abstraksi, entah deterministik atau tidak
      Hari ini kita punya kewenangan yang lebih luas untuk mendelegasikan lebih banyak pekerjaan dibanding beberapa tahun lalu
    • Apakah lapisan-lapisan lain benar-benar deterministik? Apakah Anda benar-benar tahu objek mana yang sudah garbage collected? Apakah Anda benar-benar tahu instruksi ini akan memakan berapa siklus?
    • LLM tidak perlu mencapai keandalan sempurna untuk menggantikan banyak pekerjaan. Ia cukup mencapai keseimbangan keandalan dan biaya yang cocok untuk tugas tertentu. Itu akan berbeda-beda tergantung tugasnya
    • Saya paham maksudnya, tetapi kata determinisme pun kurang tepat. LLM pada dasarnya deterministik. Ia menghasilkan teks sebagai pure function dari teks masukan dan parameter jaringan
      Tergantung pandangan Anda soal kehendak bebas, manusia pun pada dasarnya bisa dikatakan deterministik
      Konsep yang sebenarnya disentuh di sini adalah bahwa LLM dan manusia adalah fungsi opak. Perilakunya tidak bisa direduksi di kepala menjadi deretan langkah logis yang dimasukinya, tidak ada invariant yang bisa merapikan kompleksitasnya menjadi beberapa keadaan yang dapat ditafsirkan, dan ruang input-output-nya tidak terstruktur, ambigu, ditentukan secara tidak lengkap, dan praktis tak terbatas
      Karena itu, hampir mustahil menalar atau mensintesisnya dengan strategi dan analisis yang kita terapkan pada program tradisional
      Kita bisa secara opsional menambahkan sumber entropi untuk menimbulkan non-determinisme, tetapi itu tidak wajib. Kalau semua penyedia LLM mengunci seed generator bilangan acak semu ke nilai tetap, hampir tidak ada yang akan sadar
      Sepertinya tidak banyak workflow yang mengandalkan memasukkan prompt yang sama berkali-kali lalu bergantung pada distribusi statistik tertentu dari outputnya. Malah mungkin Anda akan mendapat respons cache meskipun tidak menginginkannya
  • Jika yang dimaksud software engineering adalah memasukkan kode ke editor teks satu karakter demi satu karakter, maka memang akan makin sulit menemukan orang yang mau membayar untuk itu
    Tetapi jika yang dimaksud adalah membuat software, kita membuat lebih banyak software daripada sebelumnya, dan definisi tentang apa itu software juga lebih beragam dari sebelumnya. Menurut saya, dari sini bisa bercabang banyak karier yang berbeda

    • Kita sedang mengalami hal yang sama seperti ketika insinyur sipil berpindah dari slide rule ke kalkulator, dan insinyur listrik berpindah dari menggambar jalur rangkaian secara manual ke alat CAD
      Hal yang menarik adalah software engineering juga harus berevolusi. Proses dan alatnya pun harus berevolusi seperti yang terjadi selama bertahun-tahun
      Saat saya lulus kuliah pada 2004, kami belajar tentang masa “krisis software”, proses pengembangan waterfall, dan metodologi “iteratif” baru yang saat itu baru mulai muncul
      Kami juga belajar transisi dari spaghetti code ke pemrograman terstruktur ala Pascal/C, lalu ke pemrograman berorientasi objek
      Metodologi engineering juga berevolusi. Pernah ada UML yang terkenal itu, teknik formal seperti bahasa Z untuk verifikasi formal, serta pengukuran kompleksitas software seperti ABC dan cyclomatic complexity
      Sekarang ketika komputer menulis sebagian besar kode, nilai bahasa saat ini dan proses pengembangan software saat ini mulai berkurang. Bahasa pemrograman dibuat untuk manusia. Kalau tidak, kita akan tetap menulis dalam assembly
      Sekarang kita perlu mengubah abstraksi yang kita gunakan untuk menyampaikan niat kepada komputer dan memverifikasi bahwa instruksi akhirnya benar-benar melakukan apa yang kita inginkan
      Saya sangat penasaran dengan abstraksi baru ini. Saya percaya bahwa ketika detail-detail kecil coding sepenuhnya terotomasi, mungkin kita justru akan melihat lebih banyak rigor engineering yang sesungguhnya dalam profesi software engineering
    • Bayangkan pada 2020 ada dua perusahaan yang saling bersaing, dan masing-masing mempekerjakan 100 programmer. Kita semua tahu bagaimana kedua organisasi itu berjalan. Selalu tertinggal, setiap kali satu fitur ditambahkan maka lebih banyak fitur masa depan jadi mungkin, kita semua pernah hidup di dalamnya, dan sampai sekarang pun pada dasarnya masih begitu
      Lalu pada 2026, kedua perusahaan itu sama-sama menyimpulkan bahwa AI mempercepat developer 10x. Saya tidak bilang itu kenyataan, ini cuma angka bulat
      Perusahaan 1 memecat 90 programmer dan dengan 10 orang melakukan pekerjaan yang sama
      Perusahaan 2 mempertahankan semua programmernya dan melakukan 10x lebih banyak pekerjaan daripada sebelumnya, bahkan mungkin merekrut lagi
      Siapa yang akan menang di pasar?
      Jawabannya seperti biasa adalah “tergantung”, tetapi menurut saya ruang bagi perusahaan 1 untuk menang jauh lebih sempit dibanding perusahaan 2. Dibutuhkan kombinasi kondisi pasar yang sangat presisi; bukan mustahil, tetapi berbahaya bertaruh bahwa Anda termasuk pengecualian
      Selama percepatan itu berlangsung, di masa ketika realitas baru belum benar-benar mapan, jawaban perusahaan 1 memang tampak menarik secara dangkal bagi bagian akuntansi
      Tetapi di pasar mana pun, jika hanya satu perusahaan menyimpang dan memilih solusi perusahaan 2, maka agar bisa benar-benar bersaing seluruh sisa industrinya akan terpaksa mengikuti
      Dalam jangka menengah hingga panjang, kemungkinan bahwa penciptaan nilai yang dihasilkan seorang programmer dan bisa ditangkap lewat gaji justru menurun juga kecil
    • Kekhawatirannya adalah apakah pekerjaan membuat software seperti itu akan dibayar cukup untuk mengejar biaya hidup yang melonjak
      Pekerjaan yang diciptakan otomasi di masa lalu umumnya memiliki upah lebih rendah dan otonomi lebih kecil
    • Bahkan jika kita membuat lebih banyak software, itu tidak menyelesaikan apa pun bila sebagian besar hanyalah duplikasi fungsional dari software lain
      Dengan kata lain, semua perusahaan hanya menemukan kembali roda berkali-kali. Tidak ada gunanya meningkatkan 10x pengembangan software yang tak benar-benar baru selain ditulis dengan framework baru yang mengilap
      Menurut saya kita justru harus mulai menghapus sebagian besar software. Kembali ke dasar, lihat apa yang dibutuhkan, buat itu lebih baik, lalu selesaikan. Sekali-sekali kita harus benar-benar menuntaskan satu software
    • Kalau software engineer diganti jadi secretary, dan creating software diganti jadi typing correspondence, kalimatnya tetap sama
      Di dunia tempat AI memecahkan pemrograman dan perancangan software, nilai akan menumpuk pada orang-orang dengan keahlian domain lain. Mereka sekarang punya kekuatan 1000 developer profesional, sementara nilai tidak akan menumpuk pada orang-orang dengan keterampilan yang berulang sama, karena alat AI yang lebih baik, lebih cepat, dan lebih murah
  • Kalau saya tidak melewatkan sesuatu, tampaknya ada masalah logika yang jelas di sini
    Jika untuk memperoleh produktivitas dengan LLM orang harus menerima penyusutan kemampuan, maka developer dengan masa pakai terbatas hanyalah kita. Generasi berikutnya tidak pernah membangun kemampuan itu lewat kerja manual, jadi mereka juga tidak punya set keterampilan yang bisa menyusut
    Dan saya mengusulkan agar analogi “generasi kode oleh LLM itu seperti generasi machine code oleh compiler” dilarang secara publik. Membahas ulang ide yang sama terus-menerus juga sudah melelahkan

    • Mengapa analogi LLM-compiler itu salah? Apakah hanya karena output LLM tidak deterministik?