Topik trending
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Kode adalah kewajiban (bukan aset). Bos teknologi tidak memahami hal ini. Mereka berpikir AI bagus karena menghasilkan kode 10.000 kali lebih banyak daripada programmer, tetapi itu hanya berarti menghasilkan kewajiban 10.000 kali lebih banyak.
1/

Jika Anda ingin versi berformat esai dari utas ini untuk dibaca atau dibagikan, berikut adalah tautan ke blog saya yang bebas pengawasan, bebas iklan, bebas pelacak:
2/
AI adalah asbes yang kita sekop ke dinding masyarakat teknologi tinggi kita:
Kode adalah kewajiban. *Kemampuan* kode adalah aset.
3/
Tujuan dari toko teknologi adalah untuk memiliki kode yang kemampuannya menghasilkan lebih banyak pendapatan daripada biaya yang terkait dengan menjaga kode itu tetap berjalan.
4/
Untuk waktu yang lama, perusahaan telah memelihara keyakinan palsu bahwa kode lebih murah untuk dijalankan dari waktu ke waktu: setelah periode penggeledahan awal di mana bug dalam kode ditemukan dan ditangani, kode tidak lagi membutuhkan pemeliharaan yang berarti.
5/
Bagaimanapun, kode adalah mesin tanpa bagian yang bergerak - tidak aus; itu bahkan tidak aus.
Ini adalah tesis dari buku Paul Mason tahun 2015 *Postcapitalism*, sebuah buku yang telah menua sangat buruk (meskipun tidak, mungkin, seburuk kredibilitas politik Mason sendiri).
6/
Kode bukanlah mesin yang dapat direproduksi tanpa batas yang tidak memerlukan tenaga kerja. Sebaliknya, ini adalah mesin rapuh yang membutuhkan langkah-langkah yang semakin heroik untuk menjaganya tetap berfungsi dengan baik, dan yang akhirnya "aus" (dalam arti membutuhkan pemfaktoran ulang dari atas ke bawah).
7/
Untuk memahami mengapa kode adalah kewajiban, Anda harus memahami perbedaan antara "menulis kode" dan "rekayasa perangkat lunak".
"Menulis kode" adalah hiburan yang sangat berguna, menyenangkan, dan mengasyikkan.
8/
Ini melibatkan pemecahan tugas-tugas kompleks menjadi langkah-langkah terpisah, yang dijelaskan dengan sangat tepat sehingga komputer dapat melakukannya dengan andal, mengoptimalkan kinerja dengan menemukan cara cerdas untuk meminimalkan tuntutan kode pada sumber daya komputer, seperti RAM dan siklus prosesor.
9/
Sementara itu, "rekayasa perangkat lunak" adalah disiplin ilmu yang menggabungkan "menulis kode", tetapi dengan fokus pada operasi jangka panjang *sistem* yang menjadi bagian dari kode tersebut.
10/
Rekayasa perangkat lunak memperhatikan proses hulu yang menghasilkan data yang diterima sistem. Ini menyangkut dirinya sendiri dengan proses hilir yang dipancarkan oleh sistem informasi yang diproses.
11/
Ini menyangkut dirinya dengan sistem yang berdekatan yang menerima data dari proses hulu yang sama dan/atau memancarkan data ke proses hilir yang sama yang dipancarkan sistem.
12/
"Menulis kode" adalah tentang membuat kode yang *berjalan dengan baik*. "Rekayasa perangkat lunak" adalah tentang membuat kode yang *gagal dengan baik*. Ini tentang membuat kode yang dapat dibaca - yang fungsinya dapat dipahami oleh pihak ketiga yang mungkin diminta untuk memeliharanya.
13/
Pihak ketiga tersebut mungkin diminta untuk menyesuaikan proses hilir, hulu atau berdekatan dengan sistem agar sistem tidak rusak.
14/
Itulah masalahnya: setiap kode non-sepele harus berinteraksi dengan dunia luar, dan dunia luar tidak statis, itu *dinamis*. Dunia luar menghancurkan asumsi yang dibuat oleh penulis perangkat lunak *sepanjang waktu* dan setiap kali itu terjadi, perangkat lunak perlu diperbaiki.
16/
Ingat Y2K? Itu adalah hari ketika kode yang berfungsi sempurna, berjalan pada perangkat keras yang berfungsi sempurna, akan berhenti berfungsi - bukan karena kode berubah, tetapi karena *waktu terus berjalan*.
17/
Kita tinggal 12 tahun lagi dari masalah Y2038, ketika rasa 32-bit Unix semuanya akan berhenti bekerja, karena mereka juga akan kehabisan detik komputasi.
18/
Keberadaan "dunia" adalah faktor yang tak terhindarkan yang merusak perangkat lunak dan mengharuskannya dibangun kembali, seringkali dengan biaya yang sangat besar. Semakin lama kode beroperasi, semakin besar kemungkinan ia akan bertemu dengan "dunia".
20/
Ambil kode yang digunakan perangkat untuk melaporkan lokasi fisiknya. Awalnya, ini digunakan untuk hal-hal seperti penagihan - menentukan jaringan operator atau penyedia mana yang Anda gunakan dan apakah Anda sedang roaming.
21/
Kemudian, perangkat seluler kami menggunakan kode ini untuk membantu menentukan lokasi Anda agar dapat memberi Anda petunjuk arah belokan demi belokan di aplikasi navigasi. Kemudian, kode ini digunakan kembali untuk membantu kami menemukan perangkat kami yang hilang.
22/
Ini menjadi cara untuk menemukan perangkat *curian*, kasus penggunaan yang sangat menyimpang dari menemukan perangkat yang hilang. Saat menemukan perangkat yang hilang, Anda tidak perlu berjuang dengan kemungkinan bahwa aktor jahat telah menonaktifkan fasilitas "temukan perangkat saya yang hilang".
23/
Kasus penggunaan tambahan ini - hulu, hilir, dan berdekatan - mengekspos bug dalam kode asli yang tidak pernah muncul di aplikasi sebelumnya.
24/
Misalnya, semua layanan lokasi harus memiliki semacam perilaku default jika (sangat umum) mereka tidak benar-benar yakin di mana mereka berada.
25/
Mungkin mereka memiliki perbaikan umum - misalnya, mereka tahu tiang seluler mana yang terhubung dengan mereka, atau mereka tahu di mana mereka berada *terakhir* kali mereka mendapatkan perbaikan lokasi yang akurat - atau mungkin mereka benar-benar hilang.
26/
Ternyata dalam banyak kasus, aplikasi lokasi menggambar lingkaran di sekitar semua tempat mereka *bisa* berada dan kemudian mengatur lokasinya ke tengah lingkaran itu.
27/
Tidak apa-apa jika lingkaran hanya berdiameter beberapa kaki, atau jika aplikasi dengan cepat mengganti perkiraan ini dengan lokasi yang lebih tepat. Tetapi bagaimana jika lokasinya bermil-mil jauhnya, dan perbaikan lokasi *tidak pernah* membaik?
28/
Bagaimana jika lokasi untuk alamat IP apa pun tanpa lokasi yang ditentukan diberikan sebagai *pusat benua AS* dan aplikasi mana pun yang tidak tahu di mana letaknya melaporkan bahwa itu berada di sebuah rumah di Kansas?
29/
Dan di kota saya di Burbank, di mana layanan berbagi lokasi Google pernah memberi tahu kami bahwa putri kami yang saat itu berusia 11 tahun (yang ponselnya tidak dapat kami jangkau) berada 12 mil jauhnya, di jalan bebas hambatan di daerah yang tidak berbadan hukum di daerah LA county.
32/
(Dia berada di taman terdekat, tetapi di luar jangkauan, dan aplikasi memperkirakan lokasinya sebagai pusat wilayah tempat terakhir kali memperbaikinya.)
(Itu adalah beberapa jam yang sulit.)
33/
Kode yang mendasarinya - kode yang menggunakan beberapa default yang dulunya tidak berbahaya untuk memalsukan lokasi yang tidak dikenal - perlu diperbarui *terus-menerus*, karena proses hulu, hilir, dan yang berdekatan dengannya berubah *terus-menerus*.
34/
Semakin lama kode itu berada di sana, semakin bersifat aslinya, dan semakin barok, kasar, dan mengaburkan tambalan yang berlapis di atasnya.
35/
Kode bukanlah aset - ini adalah kewajiban. Semakin lama sistem komputer berjalan, semakin banyak utang teknologi yang diwakilinya. Semakin penting sistemnya, semakin sulit untuk dijatuhkan dan diulangi sepenuhnya.
36/
Sebaliknya, lapisan kode baru diolesi di atasnya, dan di mana pun lapisan kode bertemu, ada celah di mana sistem ini berperilaku dengan cara yang tidak benar-benar cocok.
37/
Lebih buruk lagi: ketika dua perusahaan digabungkan, sistem TI mereka yang dijahit dan retak dihancurkan bersama, sehingga sekarang ada sumber utang teknologi yang berdekatan, serta retakan hulu dan hilir:
38/
Itu sebabnya perusahaan raksasa sangat rentan terhadap serangan ransomware - mereka penuh dengan sistem yang tidak kompatibel yang telah dibujuk menjadi faksimili kompatibilitas dengan berbagai bentuk dempul konyol digital, tali, dan kawat baling.
39/
Mereka tidak kedap air dan tidak dapat dibuat kedap air. Bahkan jika mereka tidak dijatuhkan oleh peretas, mereka terkadang jatuh begitu saja dan tidak dapat berdiri kembali.
40/
Ingat ketika komputer Southwest Airlines mogok sepanjang minggu Natal 2022, membuat jutaan wisatawan terdampar?
41/
Maskapai penerbangan sangat buruk, karena mereka mengkomputerisasi lebih awal, dan tidak pernah dapat mematikan komputer lama untuk menggantinya dengan yang baru. Inilah sebabnya mengapa aplikasi mereka sangat kotor.
42/
Inilah sebabnya mengapa sangat mengerikan bahwa maskapai penerbangan memecat personel layanan pelanggan mereka dan mengharuskan penerbang untuk menggunakan aplikasi untuk *semuanya*, meskipun aplikasi itu tidak berfungsi. Aplikasi ini tidak akan pernah berfungsi.
43/
Alasan mengapa aplikasi British Airways menampilkan "Kesalahan yang tidak diketahui telah terjadi" 40-80% dari waktu bukan (hanya) karena mereka memecat semua staf TI mereka dan mengalihdayakan ke penawar rendah di luar negeri.
44/
Itu saja, tentu saja - tetapi juga bahwa komputer pertama BA berjalan dengan katup elektromekanis, dan semuanya sejak itu harus kompatibel dengan sistem yang salah satu anak didik Alan Turing menggerogoti seluruh batang kayu dengan gigi depannya sendiri.
45/
Kode adalah kewajiban, bukan aset (aplikasi baru BA terlambat bertahun-tahun).
Kode adalah kewajiban. Server untuk terminal Bloomberg yang mengubah Michael Bloomberg menjadi miliarder berjalan dengan chip RISC.
46/
Ini berarti ia terkunci dalam menggunakan semakin banyak vendor perangkat keras dan pusat data spesialis, membayar pemrogram khusus, dan membangun rantai kode yang rapuh untuk menghubungkan sistem RISC ini ke yang setara dengan mereka yang kurang eksotis di dunia. Kode bukanlah aset.
47/
AI dapat menulis kode, tetapi AI tidak dapat melakukan rekayasa perangkat lunak. Rekayasa perangkat lunak adalah tentang berpikir melalui *konteks* - apa yang akan terjadi sebelum sistem ini? Apa yang akan terjadi setelahnya? Apa yang akan duduk di sampingnya? Bagaimana dunia akan berubah?
48/
Rekayasa perangkat lunak membutuhkan "jendela konteks" yang sangat luas, hal yang tidak dimiliki dan tidak dapat dimiliki AI. Jendela konteks AI sempit dan dangkal. Peningkatan linier ke jendela konteks AI memerlukan ekspansi *geometris* dalam tuntutan komputasi:
49/
Menulis kode yang berfungsi, tanpa mempertimbangkan bagaimana itu akan gagal, adalah resep untuk bencana. Ini adalah cara untuk menciptakan utang teknologi dalam skala besar. Ini menyekop asbes ke dinding masyarakat teknologi kita.
50/
Bos *tidak tahu* bahwa kode adalah kewajiban, bukan aset. Itu sebabnya mereka tidak akan tutup mulut tentang chatbot yang mengeluarkan kode 10.000 kali lebih banyak daripada programmer manusia mana pun.
51/
Mereka pikir mereka telah menemukan mesin yang menghasilkan *aset* pada tingkat 10.000 kali lipat dari seorang programmer manusia. Mereka belum. Mereka telah menemukan mesin yang menghasilkan *liabilitas* pada tingkat 10.000 kali lipat dari programmer manusia mana pun.
52/
Pemeliharaan bukan hanya masalah pengalaman yang diperoleh dengan susah payah mengajari Anda di mana jebakannya.
53/
Ini juga membutuhkan budidaya "Fingerspitzengefühl" - "perasaan ujung jari" yang memungkinkan Anda membuat tebakan yang masuk akal tentang di mana jebakan yang belum pernah terlihat sebelumnya mungkin muncul.
54/
Ini adalah bentuk pengetahuan proses. Itu tidak dapat dihindari. Itu tidak laten bahkan dalam korpus kode terbesar yang dapat Anda gunakan sebagai data pelatihan:
*Wah* apakah bos teknologi tidak mengerti ini.
55/
Ambil contoh Microsoft. Taruhan besar mereka saat ini adalah pada "AI agen." Mereka ingin menginstal spyware di komputer Anda yang menangkap setiap penekanan tombol, setiap komunikasi, setiap layar yang Anda lihat dan mengirimkannya ke cloud Microsoft dan memberikan akses chatbot ke sana.
56/
Mereka mengklaim bahwa Anda akan dapat memberi tahu komputer Anda, "Pesan saya kereta ke Cardiff dan temukan hotel yang disebutkan Cory tahun lalu dan pesan saya kamar di sana" dan itu akan berhasil.
Ini adalah ide yang sangat tidak bisa diterapkan.
57/
Tidak ada chatbot yang mampu melakukan semua hal ini, sesuatu yang ditetapkan secara bebas oleh Microsoft. Alih-alih melakukan ini dengan satu chatbot, Microsoft mengusulkan untuk memecahnya di antara lusinan chatbot, yang masing-masing diharapkan Microsoft dapat membawa keandalan hingga 95%.
58/
Itu adalah standar chatbot yang sama sekali tidak masuk akal dengan sendirinya, tetapi pertimbangkan ini: probabilitas bersifat *multiplicative*. Sistem yang berisi dua proses yang beroperasi pada keandalan 95% memiliki keandalan bersih 90,25% (0,95 * 0,95).
59/
Pecahkan tugas di antara beberapa lusin bot 95% akurat dan kemungkinan tugas ini akan diselesaikan dengan benar menjadi *nol*.
60/
Sementara itu, seorang eksekutif Microsoft mendapat masalah Desember lalu ketika dia memposting ke Linkedin mengumumkan niatnya untuk membuat AI menulis ulang *semua* kode Microsoft.
63/
Memfaktorkan ulang basis kode Microsoft sangat masuk akal. Microsoft - seperti British Airways dan perusahaan lama lainnya - memiliki banyak kode yang sangat lama yang mewakili utang teknologi yang tidak berkelanjutan.
64/
Beberapa dari Anda *adalah* insinyur perangkat lunak yang telah menemukan chatbot sangat berguna dalam menulis kode untuk Anda. Ini adalah paradoks AI yang umum: mengapa beberapa orang yang menggunakan AI menganggapnya sangat membantu, sementara yang lain membencinya?
66/
Apakah orang-orang yang tidak menyukai AI "buruk dalam AI?" Apakah penggemar AI malas dan tidak peduli dengan kualitas pekerjaan mereka?
67/
Tidak diragukan lagi ada beberapa dari keduanya yang terjadi, tetapi bahkan jika Anda mengajari semua orang untuk menjadi ahli AI, dan menyingkirkan semua orang yang tidak bangga dengan pekerjaan mereka dari sampel, paradoksnya akan tetap ada.
68/
Solusi sebenarnya untuk paradoks AI terletak pada teori otomatisasi, dan konsep "centaur" dan "reverse centaur":
69/
Dalam teori otomasi, "centaur" adalah orang yang dibantu oleh mesin. "Centaur terbalik" adalah seseorang yang telah diwajibkan untuk *membantu mesin*.
70/
Katakanlah Anda seorang insinyur perangkat lunak yang menggunakan AI untuk menulis kode rutin yang Anda miliki waktu dan pengalaman untuk memvalidasi, menyebarkan pengetahuan Fingerspitzengefühl dan proses Anda untuk memastikan bahwa kode tersebut sesuai dengan tujuan.
71/
Saya mudah untuk melihat mengapa Anda mungkin menemukan penggunaan AI (ketika Anda memilih, dengan cara yang Anda pilih, dengan kecepatan yang Anda pilih) berguna.
Tapi katakanlah Anda seorang insinyur perangkat lunak yang telah diperintahkan untuk menghasilkan kode pada 10x, atau 100x, atau 10.000x tarif Anda sebelumnya.
72/
Katakanlah satu-satunya cara untuk melakukannya adalah melalui AI, dan tidak ada cara manusia yang memungkinkan Anda meninjau kode itu dan memastikan bahwa itu tidak akan rusak pada kontak pertama dengan dunia, Anda akan membencinya:
73/
(Anda akan lebih membencinya jika Anda telah berubah menjadi wastafel akuntabilitas AI, secara pribadi di pengait atas kesalahan AI.)
Ada cara lain di mana insinyur perangkat lunak menemukan kode yang dihasilkan AI sangat membantu: ketika kode itu *terisolasi*.
74/
Jika Anda melakukan satu proyek - katakanlah, mengonversi satu batch file ke format lain, hanya sekali - Anda tidak perlu khawatir tentang proses hilir, hulu, atau yang berdekatan. Tidak ada.
75/
Anda menulis kode untuk melakukan sesuatu sekali, tanpa berinteraksi dengan sistem lain. *banyak* pengkodean adalah proyek utilitas semacam ini. Ini membosankan, tanpa pamrih, dan matang untuk otomatisasi.
76/
Banyak proyek pribadi termasuk dalam ember ini, dan tentu saja, menurut definisi, proyek pribadi adalah proyek centaur. Tidak ada yang memaksa Anda untuk menggunakan AI dalam proyek pribadi - selalu menjadi pilihan Anda bagaimana dan kapan Anda menggunakan alat apa pun secara pribadi.
77/
Tetapi fakta bahwa insinyur perangkat lunak terkadang dapat membuat pekerjaan mereka lebih baik dengan AI tidak membatalkan fakta bahwa kode adalah kewajiban, bukan aset, dan bahwa kode AI mewakili produksi kewajiban dalam skala besar.
78/
Dalam kisah pengangguran teknologi, ada gagasan bahwa teknologi baru menciptakan pekerjaan baru bahkan ketika itu membuat pekerjaan lama menjadi usang: untuk setiap pandai besi yang diputuskan kerja oleh mobil, ada pekerjaan yang menunggu sebagai mekanik.
79/
Pada tahun-tahun sejak gelembung AI mulai mengembang, kita telah mendengar banyak versi ini: AI akan menciptakan pekerjaan untuk "insinyur cepat" - atau bahkan menciptakan pekerjaan yang tidak dapat kita bayangkan, karena mereka tidak akan ada sampai AI mengubah dunia yang tidak dapat dikenali.
80/
Saya tidak akan mengandalkan mendapatkan pekerjaan dalam perdagangan fantastis yang benar-benar tidak dapat dibayangkan karena kesadaran kita tidak begitu berubah oleh AI sehingga mereka memperoleh kapasitas untuk mengkonseptualisasikan mode kerja baru ini.
81/
Tetapi jika Anda *sedang * mencari pekerjaan yang pasti akan diciptakan oleh AI, jutaan, saya punya saran: penghapusan asbes digital.
82/
Kode AI - ditulis dengan kecepatan 10.000 kali kecepatan pembuat kode manusia mana pun, dirancang untuk bekerja dengan baik, tetapi tidak gagal dengan anggun - adalah asbes digital yang kami gunakan untuk mengisi dinding kami. Keturunan kita akan menghabiskan waktu bergenerasi untuk menggali asbes itu dari dinding.
83/
Akan ada banyak pekerjaan untuk memperbaiki hal-hal yang kita rusak berkat psikosis AI yang paling berbahaya dari semuanya - keyakinan halusinasi bahwa "menulis kode" adalah hal yang sama dengan "rekayasa perangkat lunak."
84/
Pada tingkat yang kita jalankan, kita akan memiliki pekerjaan penuh untuk generasi penghilang asbes.
85/
3,08K
Teratas
Peringkat
Favorit
