berita

paman bob, ahli pemrograman dunia: "krisis berusia 35 tahun" hanyalah ilusi, dan kami "programer lama" masih di sini

2024-10-03

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

jawab bob“krisis 35 tahun” yang dialami programmer:

memikirkananggapan bahwa program hanya diperuntukkan bagi generasi muda sebenarnya hanyalah sebuah ilusi, tapi itu memang ilusi yang sangat berpengaruh. ilusi ini muncul karena permintaan akan programmer telah melonjak pesat selama 70 tahun terakhir.

faktanya, kami "programmer lama" masih ada, tetapi jumlahnya tidak begitu mencolok.

penulis |.wang qilong

diproduksi oleh |pemrogram baru》departemen redaksi

bayangkan jika anda telah menulis kode selama lebih dari lima puluh tahun dalam hidup anda dan masih memprogram hingga anda berusia 71 tahun. bagaimana anda memandang era pemrograman ai yang eksplosif saat ini?

robert c. martin dikenal sebagai guru pemrograman terkenal di dunia.paman boborang tua (paman bob) adalah pionir pengembangan tangkas dan pola desain. dia telah terlibat dalam pekerjaan profesional perangkat lunak sejak tahun 1970 dan telah terlibat dalam pekerjaan terkait selama lebih dari 50 tahun. "lima prinsip solid" yang terkenal adalah lima prinsip desain di bidang pemrograman berorientasi objek, berasal dari hasil karyanya. sikap paman bob terhadap ai sangat ambigu: dari sudut pandang praktis, dia dengan tegas mengeluh bahwa “ai saat ini hanyalah seorang programmer junior yang hanya memiliki setengah otak, dan tidak akan pernah benar-benar berkembang.", karena tugas yang dapat diselesaikan ai cukup terbatas; namun meski usianya sudah di atas 60 tahun, ia tetap memiliki harapan besar di masa depan:"pada saat kita menciptakan mesin yang dapat berpikir seperti manusia di masa depan, keterampilan pemrograman akan menjadi usang.

sebagai pakar pengembangan perangkat lunak terkenal di dunia, mahakarya paman bob, "kode bersih", pernah mendefinisikan apa itu "kode bersih" dan menjelaskan serangkaian praktik pengoperasian yang efektif.

baru-baru ini, buku terbaru paman bob versi china "desain fungsional: prinsip, pola, dan praktik" diterbitkan. banyak orang bertanya-tanya mengapa pemimpin pemrograman berorientasi objek ini "mengkhianati" ke "kubu musuh", sementara paman bob dia juga menampilkannya. karakternya yang selalu lugas dan langsung “membantah”: “dalam beberapa tahun terakhir, beberapa artikel menyatakan bahwa pemrograman fungsional bertentangan dengan pemrograman berorientasi objek dan pemrograman berorientasi objek sudah ketinggalan zaman. saya tidak setuju dengan pandangan ini dan memutuskan untuk menulis buku ini.

pemrograman fungsional lebih dari sekedar "pemrograman dengan fungsi". pemrograman fungsional adalah pemrograman tanpa pernyataan penugasan.

setelah anda mencoba pemrograman tanpa pernyataan penugasan, semua fitur pemrograman fungsional lainnya akan diterapkan. jika anda ingin menangani fungsi, anda harus menggunakan rekursi. semua hal ini terjadi secara alami saat anda memutuskan untuk tidak menetapkan nilai. jadi, itulah inti dari pemrograman fungsional.

——"desain fungsional", robert c. martin

pernyataan di atas semuanya berasal dari wawancara dengan paman bob oleh csdn "new programmer". kami melakukan pertukaran mendalam dengan "fosil hidup pengembangan tangkas" ini dan mendengarkan kisah pribadinya tentang bagaimana dia, sebagai salah satu dari 17 pemimpin industri perangkat lunak, ikut menerbitkan "agile manifesto" 23 tahun lalu (2001).detail sejarah, dan juga mempelajari pandangan terbaru tentang pemrograman ai dari programmer senior dengan pengalaman pengembangan lebih dari 50 tahun, yang menyegarkan pandangan masa lalu banyak orang tentang paman bob.kesan sejarah. artikel berikut akan dimulai dengan kenangan paman bob pada tahun 1970, membawa pembaca kembali ke "era kuno programmer" ketika world wide web belum lahir.

50+ tahun pengkodean

"pemrogram baru": sebelum wawancara dimulai, bisakah anda memperkenalkan diri secara singkat?

paman bob:oke, nama saya bob martin. ada yang memanggil saya paman bob. saya sudah lama menjadi programmer.lebih dari lima puluh tahun.ketika saya pertama kali memulai pemrograman, komputer cukup besar untuk memenuhi ruangan yang besar dan mahal, mencapai jutaan dolar.

saya telah bekerja dengan berbagai bahasa pemrograman, termasukbahasa rakitan, cobol, fortran, pl/i, c, c++, pascal, java, c#tunggu. selama bertahun-tahun, saya telah terlibat dalam pengembangan berbagai sistem, mulai dari sistem keuangan hingga sistem real-time tertanam dan sistem kontrol proses. oleh karena itu, dapat dikatakan bahwa saya memiliki pengalaman luas di industri ini.

selain itu, saya telah menulis beberapa buku, termasuk clean code (kode bersih), "cara membersihkan arsitektur" (arsitektur bersih), dan buku yang kita bahas hari ini berjudul "desain fungsional》(desain fungsional)。

"pemrogram baru"selain menulis buku, apa yang anda lakukan di waktu luang? ngomong-ngomong, saya sering membaca twitter anda dan menemukan bahwa sekitar 50% tweet anda adalah berita sosial tentang pemilu as dan trump, dan 50% lainnya tentang konten teknis, pemrograman, dan pandangan anda tentang kode.

paman bobmemang. di tahun-tahun non-pemilu, sekitar 90% tweet saya adalah tentang perangkat lunak. namun karena ini adalah tahun pemilu, ada lebih banyak konten yang membahas topik lain. ketika saya tidak sedang menulis buku atau pemrograman, saya melakukan banyak hal. saya suka mengendarai sepeda dan sering bepergian. saya juga seorang pilot dan bersenang-senang terbang dengan pesawat saya sendiri. saya memiliki keluarga besar denganempat anak dan sepuluh cucu., saya biasanya mengunjungi mereka sesering mungkin, sehingga waktu saya diatur dengan sangat lengkap.

"pemrogram baru": tolong bawa kami kembali ke titik awal karir pemrograman anda dan ceritakan kepada kami kisah ketika anda mulai bekerja sebagai programmer pada tahun 1970. anda berusia 18 tahun saat itu, dan bahasa pertama yang anda pelajari adalah assembly dan cobol. bisakah anda menceritakan pengalaman anda saat pertama kali memulai?

paman bob: ya, pada saat itu belum banyak mata kuliah yang ada di perguruan tinggi. saat itu aku tidak tertarik pada sekolah. saat itu, perang vietnam sedang berkecamuk dan banyak terjadi kerusuhan dan keresahan di kampus. dan,saya telah belajar banyak tentang pemrograman komputer, dan mempelajari cobol dan fortran, dan bahkan beberapa bahasa perakitan komputer. jadi, menurutku tidak perlu kuliah

mengenai awal karir pemrograman saya, semuanya dimulai ketika ibu saya membelikan saya komputer plastik kecil ketika saya berusia 12 tahun. mainan tersebut memiliki tiga sandal jepit dan enam gerbang and, dan anda perlu memutar tuas kecil untuk mengoperasikannya. beberapa karet gelang dan tuas di dalamnya dapat menggerakkan bagian-bagiannya, sehingga memungkinkannya melakukan penghitungan sederhana, seperti menghitung dari 0 hingga 7, atau. menghitung dari 7. hitungan kembali ke 0. selain itu, anda juga dapat memprogramnya untuk menambahkan dua bit untuk menghasilkan bit penjumlahan dan bit carry. saya bahkan menulis banyak program menarik di dalamnya - proses pemrogramannya adalah dengan menambahkan tabung kecil yang dimasukkan ke dalam kait, blok tabung ini. batang memasuki slot, sehingga mengubah kondisi pelatuk.

jadi, saya menghabiskan beberapa minggu mempelajari cara membuat komputer mainan itu berfungsi, dan melalui proses itu, saya menjadi seorang programmer.saya telah menjadi programmer sejak saat itu

itulah titik awal saya, dan kemudian ayah saya membeli banyak buku tentang komputer dan bahasa pemrograman untuk memberi saya informasi sebanyak yang dia bisa. kemudian, pada usia 16 tahun, saya mendapat pekerjaan pemrograman, menulis program untuk honeywell 200. pekerjaan itu berlangsung dua atau tiga minggu, ketika sayamasih remaja, saya melakukannya selama liburan musim panas dan itu sangat menyenangkan.

sekitar dua tahun kemudian, ketika saya berusia 18 tahun, saya mendapat pekerjaan penuh waktu menulis bahasa assembly dan cobol untuk ibm 360. segera setelah itu, saya mulai memprogram banyak mikrokomputer dalam bahasa assembly. pada saat komputer ini diproduksi oleh varian corporation, banyak perusahaan yang membuat mikrokomputer pada saat itu, namun hanya sedikit yang berhasil, dan digital equipment corporation (dec) lah yang mendominasi bidang tersebut. saya kemudian menjadi sangat ahli dalam memprogram pdp 8 dan pdp 11, perangkat yang diproduksi pada awal tahun 1970-an.

"pemrogram baru": tahun 1970-an adalah masa yang sangat menarik. world wide web belum ditemukan, dan usenet baru saja ditemukanmuncul. anda adalah salah satu pengguna usenet pertama di dunia, dan saya juga mengetahui bahwa julukan "paman bob" awalnya diberikan kepada anda oleh seorang rekan di perusahaan. belakangan, anda salah menggunakan nama panggilan tersebut sebagai tanda tangan di usenet, dan akhirnya nama tersebut berhasil diubah dari nama panggilan menjadi nama asli anda. bisakah anda berbagi ceritanya?

paman bob: saya bekerja di sebuah startup bernama clear communication, yang merupakan awal karir sayapemberhentian keempat, sekitar tahun 1987 dan 1989. di sana, seorang rekan kerja memberi nama panggilan kepada setiap orang, nama panggilan saya adalah "paman bob". awalnya agak menjengkelkan karena dia selalu memanggil saya dengan julukan ini: "paman bob, bagaimana dengan ini?" "paman bob, bagaimana dengan itu?".

saya meninggalkan perusahaan itu dan menjadi konsultan, dan tidak ada lagi yang memanggil saya “paman bob”. ternyata saya agak ketinggalan judulnya, jadi saya membuat kesalahan dengan menambahkannya ke tanda tangan email saya.

saya sangat aktif di usenet pada saat itu, sering memposting artikel di newsgroup seperti comp.object dan comp.lang.c++, dan orang-orang mulai memperhatikan "paman bob" di tanda tangan saya. saya pernah menghadiri konferensi c++, mungkin sekitar tahun 1990, dan seseorang menunjuk ke arah saya dari seberang aula dan berkata, "lihat, itu paman bob!" saya berpikir, ya ampun, saya membuat kesalahan, saya benar-benar harus mengubah kesalahan saya tanda tangan. - tapi kemudian saya menyadari bahwa "paman bob" sebenarnya adalah merek yang bagus, jadi saya menyimpannya.

"pemrogram baru": usenet dapat dikatakan sebagai media sosial pertama yang anda ikuti. seperti banyak pengembang legendaris, anda suka berpartisipasi dalam komunitas atau forum yang berbeda. saya pernah melihat anda memposting di hash note: "saya robert martin. anda dapat mengajukan pertanyaan kepada saya." pada saat itu, banyak pengembang yang secara aktif bertanya kepada anda. ajukan pertanyaan dan bergabung percakapan. kini, komunikasi tersebut tampaknya terutama terjadi di twitter.

paman bob:kanan,twittersekarang media sosial utama saya. saya juga menggunakan facebook, tapi terutama untuk tetap berhubungan dengan keluarga dan teman.

"pemrogram baru": anda awalnya tertarik dengan c dan c++, tetapi anda juga menyebutkan bahwa anda mencoba bahasa seperti snobol, focal, alcom, dan basic karena minat. bahasa pemrograman apa lagi yang menurut anda bisa disebut "menarik"? apalagi di antara bahasa pemrograman baru yang bermunculan beberapa tahun terakhir ini, mana yang menurut anda menarik?

paman bob: bahasa yang menurut saya paling menarik saat ini adalahclojure, bahasa yang telah saya habiskan banyak waktu untuk mempelajarinya. ini mengejutkan saya karena clojure sebenarnyapelatdialek lisp yang saya tidak pernah terpikir akan saya pelajari.

selama tiga puluh tahun pertama karir saya, saya tidak pernah mempertimbangkan untuk mempelajari lisp karena menurut saya bahasa tersebut buruk—karena, tentu saja, saya tidak memahaminya sama sekali. hingga suatu saat saya membaca buku berjudul "struktur dan interpretasi program komputer". bahasa yang digunakan dalam buku tersebut adalah lisp, yang langsung membuat saya tertarik. tiba-tiba, saya menjadi penggemar berat lisp. saya ingin mencari acara menggunakan lisp dalam kehidupan sehari-hari anda, jadi saya bertemu clojure.

setara dengan clojuredialek lisp yang dapat dijalankan di jvm (java virtual machine), itu sempurna bagi saya, jadi saya mulai belajar kode clojure dan bersenang-senang melakukannya, itu adalah hobi yang menyenangkan bagi saya.

selain itu, ada bahasa menarik lainnya sepertikeempat, bahasa tumpukan berdasarkan ekspresi postfix yang berbeda dari bahasa apa pun yang pernah saya gunakan dan sangat menarik.prologini juga merupakan bahasa yang sangat menarik. anda tidak perlu memberi tahu mesin secara langsung apa yang benar, tetapi biarkan mesin mendapatkan hasil yang benar dengan menyelesaikannya. secara keseluruhan, ini adalah bahasa yang sangat menarik yang harus dicoba semua orang karena sangat unik.setelah anda mempelajari bahasa yang sangat berbeda, hal itu akan mengubah keseluruhan pandangan anda terhadap kode

ketika mesin berpikir seperti manusia, keterampilan pemrograman akan menjadi usang

"pemrogram baru": saya memahami beberapa komentar anda sebelumnya tentang kode ai. menurut anda, model bahasa besar terkadang bagus dan terkadang bodoh. meskipun penjelasan kode ai sedikit membantu, anda tetap menyatakan bahwa kode tersebut tidak boleh dipercaya begitu saja.

paman bob: ya, pemrogramsangat mudah untuk menjadi terlalu bergantung pada alat seperti copilot dan menerima kode yang dihasilkan secara tidak kritis saat anda melihatnya, dan itu berbahaya. anda harus kritis, dan meskipun beberapa kode ini baik-baik saja, seringkali anda harus sangat berhati-hati dengan kode yang dihasilkan ai. jadi saran saya adalah,hati-hati, gunakan seperti alat, dan ingatlah selalu bahwa alat dapat merugikan anda jika digunakan secara tidak benar.

"pemrogram baru": jadi, bagi programmer yang baru mulai belajar, bagaimana seharusnya mereka menggunakan ai agar bisa berkembang? saya telah mendengar dua pandangan yang sangat berbeda dalam wawancara. yang pertama adalah bahwa programmer pemula harus sepenuhnya menerima ai; dan yang lainnya adalah bahwa ai akan menghancurkan programmer junior karena orang-orang ini tidak memiliki kemampuan untuk menilai kualitas kode ai.

paman bob: sama seperti pilot junior tidak boleh menggunakan autopilot.silakan pelajari cara menerbangkan pesawat terlebih dahulu, lalu gunakan autopilot jika anda tidak perlu memperhatikan detailnya. hal yang sama berlaku untuk ai.pemrogram junior sebaiknya tidak mengandalkan ai pada awalnya karena mereka belum tahu bagaimana menilai kualitas kode keluaran. seringkali, kode tersebut tidak hanya buruk, tetapi juga salah dan tidak berfungsi sama sekali.

yang sangat saya khawatirkan adalah ketika programmer junior diberi tugas dan mereka memilih menggunakan ai untuk mengimplementasikannya. setelah ai memberikan kodenya, para pemula ini akan selalu berpikir: “yah, itu diberikan oleh ai, pasti baik-baik saja”, dan kemudian kehilangan pekerjaan. jadi saran saya adalah,anda bahkan harus mengurangi penggunaan ai selama beberapa tahun pertama karir anda

"pemrogram baru": saat ini, semakin banyak kode yang dihasilkan ai digunakan dalam berbagai proyek. bagaimana anda menyeimbangkan kualitas kode dan efisiensi produksi?

paman bob:cara saya menyeimbangkan adalahgunakan ai untuk menghasilkan kode terlebih dahulu, lalu bersihkan. saya tidak akan membiarkan kode buruk dimasukkan ke dalam proyek. jadi, jika kode yang dihasilkan oleh ai berfungsi dan lulus pengujian saya, maka saya akan kembali dan melakukan refaktorisasi, membersihkan, dan memperbaikinya tanpa ragu-ragu. seperti mengubah penamaan, mengekstrak beberapa fungsi, menyesuaikan struktur, dan lain sebagainya.

karena saya tidak berharap ai menghasilkan kode yang bagus. jadi saya akan membersihkannya dan mengubahnya menjadi kode saya sendiri. dengan cara ini, ini adalah proyek saya dan kode yang saya tulis.

"pemrogram baru": sekitar lima tahun yang lalu, seseorang bertanya kepada anda "tren apa dalam rekayasa perangkat lunak yang dilebih-lebihkan?" dan anda mengutuk layanan mikro.lima tahun dari sekarang, apakah ada tren lain yang dinilai terlalu tinggi?

paman bobtren yang dilebih-lebihkan saat ini tentu saja adalah ai generatif, tidak diragukan lagi. ini baru, dan segala sesuatu yang baru dilebih-lebihkan. lima tahun dari sekarang, semua orang akan melihat ke belakang dan berkata, "kita mungkin melebih-lebihkan hal itu."

"pemrogram baru": kent beck, kenalan lama anda, mengatakan sesuatu ketika gelombang ai sedang meningkat. dia berkata bahwa dia enggan menggunakan chatgpt dan menemukan bahwa 90% dari keterampilannya kini tidak berharga, sedangkan nilai 10% sisanya telah meningkat seribu kali lipat. seberapa bermanfaatkah ai generatif?

paman bob: sejujurnya, menurut saya ai tidak terlalu berguna. dalam kasus yang paling sederhana, ini bisa sangat membantu. misalnya, ketika saya melakukan pekerjaan pengkodean yang sangat mendasar, ai akan memberi saya beberapa kode. saya akan melihatnya dan berpikir itu baik-baik saja, jadi saya akan terus mengerjakannya. kemudian, ai sering kali terus bekerja sesuai dengan konteksnya, hingga ketika segala sesuatunya menjadi menarik, ai menjadi semakin tidak dapat diandalkan——semakin rumit suatu hal, semakin tidak bermanfaat

ai dapat menangani hal-hal kecil, tetapi tidak sama sekali jika saya ingin melakukan refaktorisasi dan menyempurnakan desain. selain itu, ai tidak dapat banyak membantu dalam tes menulis.

"pemrogram baru": anda telah mengatakan sebelumnya bahwa akan memakan waktu lama sebelum sekolah coding menjadi usang. akankah ada titik waktu tertentu yang mengidentifikasi momen itu? apakah teknologi akan berakhir?

paman bob: ini adalah pertanyaan yang menarik, tapi saya akan memikirkannya dari sudut pandang fiksi ilmiah.pada saat kita menciptakan mesin yang dapat berpikir seperti manusia di masa depan, keterampilan pemrograman akan menjadi usang. tapi jujur ​​saja, saat itulah semua keterampilan menjadi usang.jadi saya tidak yakin itu adalah sesuatu yang dinanti-nantikan. jika itu akan terjadi, saya pikir itu masih sangat, sangat jauh di masa depan. anda tahu, otak manusia jauh lebih kompleks daripada keseluruhan internet.

"pemrogram baru": memang, ini mengingatkan saya bahwa anda juga mengatakan bahwa setiap orang harus kembali ke asimovtiga hukum robotika, meskipun hal itu akan menciptakan ras "budak robot". bagaimana anda memahami kecerdasan umum buatan (agi) dari perspektif filosofis?

paman bob: ya, walaupun menurut saya hal ini tidak mungkin tercapai dalam jangka pendek, kita sudah memiliki teknologi genetika. jika kita menciptakan mesin sadar untuk kelangsungan hidup kita sendiri, saya pikir tiga hukum asimov akan mutlak diperlukan.

"pemrogram baru": atas dasar ini, ai seharusnyasumber terbukauntuk menghindari hal ini terjadi? apakah manusia memerlukan ai terbuka atau ai tertutup?

paman bob: perusahaan yang berbeda pasti ingin menjaga rahasianya sendiri, dan menurut saya tidak ada yang salah dengan hal itu.masalah sebenarnya dengan ai adalah konsumsi energi.menghabiskan banyak energi dan akan terus meningkat seiring dengan semakin canggihnya teknologi. hal ini membuat biayanya cukup tinggi. jadi kita harus melihat sejauh mana ai dapat berkembang saat ini, dan melihat seberapa baik kinerja model bahasa besar ini. namun, mereka mengonsumsi banyak energi, sama seperti pembangkit listrik tenaga nuklir.

"semangat pengrajin" dari programmer

"pemrogram baru": mari menjauh dari ai dan membicarakan topik antarmanusia.

seseorang pernah bertanya, "siapa mentor anda dalam hidup?" dan jawaban anda adalah "buku adalah mentor saya." melalui buku, anda bertemu dengan tokoh-tokoh luar biasa seperti martin fowler dan kent beck, dan bahkan bekerja dengan keduanya di kemudian hari. jadi, seperti tahun itusalah satu dari 17 orang yang menciptakan agile manifesto, bisakah kamu mengungkapkan seperti apa hubungan kalian?

paman bob: dulu, kami sering mengadakan banyak pertemuan terkait perangkat lunak, namun sekarang pertemuan semacam itu jauh lebih sedikit. saya menghadiri berbagai jenis konferensi, seperti konferensi bahasa c, konferensi pola desain, dan beberapa konferensi pengembangan perangkat lunak umum. melalui kegiatan ini, saya bertemu banyak orang.

misalnya, saya bertemu di konferensi pola desainkent beck, bertemu di konferensi pemrograman ekstrim awalmartin fowler. saya bertemu sebagian besar dari orang-orang ini secara langsung. mereka adalah mitra dan mentor saya. saya belajar banyak dari mereka. mereka juga rekan saya, dan kami belajar serta maju bersama. banyak hal yang saya pelajari berasal dari buku pemrograman tahun 1960an dan 1970an, seperti the art of computer programming karya donald knuth, dan buku-buku dari masa itu merupakan sumber informasi yang sangat penting bagi saya.

jadi ketika saya berusia sekitar 30 tahun dalam karir saya, saya mulai menghadiri konferensi dan bertemu orang secara langsung, dan di lingkungan itulah kami mendirikanpertemuan tangkas. sebagian besar orang yang menghadiri konferensi agile saya kenal sebelumnya, baik melalui korespondensi atau bertemu di konferensi.

"pemrogram baru": kita sering melihat sebuah sudut pandang, yaitu, "apakah agile development benar-benar dapat diterapkan?"

ada masa lalu ketika banyak pengembang mengejar pengiriman cepat dan mengabaikan kualitas perangkat lunak. hal ini mungkin merupakan kesalahpahaman tentang agile.

paman bob: ini memang kesalahpahaman tentang agile. agile bukan tentang menjadi lebih cepat, ini tentang memahami di mana anda berada. anda melakukan pengembangan tangkas sehingga anda tahu persis berapa banyak kemajuan yang anda buat, seberapa cepat anda mencapainya, dan apakah anda memenuhi tenggat waktu anda. dengan kata lain, agile adalah cara terbaik untuk membantu anda memahami seberapa besar masalah yang anda alami. ini memastikan bahwa anda tidak terkejut ketika tenggat waktu meleset, dan ini memberi semua orang gambaran yang jelas tentang kemajuan karena kita mungkin tidak secepat yang kita kira.

banyak orang yang salah mengira bahwa agile adalah metode yang cepat, dan beberapa orang juga memasarkannya sebagai metode yang cepat, namun hal ini selalu salah paham.ketangkasan bukanlah cara untuk membuat anda lebih cepat, ini adalah cara untuk memberi tahu anda seberapa cepat anda.jadi, agile bukanlah teknologi yang ketinggalan jaman; jika anda ingin mengetahui kemajuan sebenarnya dan tanggal penyelesaian proyek anda, agile adalah cara terbaik untuk melakukannya.

"pemrogram baru": salah satu tweet anda sangat mengejutkan saya, yaitu, “agility awalnya didirikan olehpengembangdimulai, tapimanajer proyekintervensi pada tahap awal gerakan tangkas menghancurkan hubungan kolaboratif yang asli. “bisakah anda menceritakan kisahnya kepada saya?

paman bob: memang gerakan lincah ini awalnya dimulai oleh sekelompok orangprogrammerdimulai. tujuh belas peserta bertemu di snowbird resort untuk membuat agile manifesto. kita semua adalah programmer, atau setidaknya memiliki latar belakang teknis yang kuat. gerakan ini tidak dimulai dari perspektif manajemen proyek, namun salah satu pendirinya, ken schwaber, memutuskan untuk memulai kursus yang disebut sertifikasi.scrum master(scrum master)". kursus ini dirancang untuk melatih orang-orang yang ingin menjadi scrum master dan mengajari mereka cara membantu tim dalam menggunakanmetode scrum——ini adalah model pengembangan tangkas.

manajer proyek telah menunjukkan minat yang besar dan telah mendaftar untuk kursus tersebut. karena sebagian besar pesertanya adalah manajer proyek, bukan pemrogram, maka hasilnya adalah yang asligerakan yang dimulai oleh pengembang secara bertahap berubah menjadi gerakan yang dipimpin oleh manajer proyek.para pemrogram merasa tidak puas karena mereka merasa dikucilkan dari inisiatif ini.

untuk mengatasi masalah ini, sekelompok dari kami memulaigerakan keahlian perangkat lunak(pengerjaan perangkat lunak) dan merilis manifesto pengerjaan dalam upaya menghubungkan kembali manajer proyek dan pengembang. namun hal tersebut tidak membuahkan hasil yang berarti.

pada akhirnya, kami memisahkan "gerakan tangkas resmi" yang berpusat pada manajemen proyek, dan gerakan tangkas yang sebenarnya dipimpin oleh pengembang. yang terakhir ini tetap berkomitmen untuk bekerja secara ringkas dan tertib serta memperjelas posisi dan arah pengembangannya.

"pemrogram baru": jadi, apa pentingnya peran scrum master? dalam hal apa peran ini penting? bagaimana cara kita mengembangkan scrum master yang unggul?

paman bob: scrum master pada awalnya dirancang untuk menjadi anggota tim yang bertanggung jawab mengingatkan anggota lain tentang komitmen yang dibuat saat menggunakan metode scrum atau agile. tanggung jawabnya mencakup pemeriksaan mingguan terhadap kemajuan tim, seperti memastikan bahwa kode pengujian telah ditulis sesuai rencana dan metode estimasi yang telah ditentukan telah diikuti. peran ini dirotasi dalam tim, biasanya antar anggota yang berbeda. dalam tim yang matang, setelah beberapa minggu berlatih, tidak diperlukan scrum master yang berdedikasi untuk mengawasi karena anggota tim sudah mampu secara sadar menjalankan proses yang telah ditetapkan.namun, dengan keterlibatan manajer proyek, peran ini secara bertahap berkembang menjadi fungsi manajemen proyek, yang jauh dari maksud awal scrum master.hasilnya, peran scrum master saat ini telah berubah secara signifikan.

"pemrogram baru": anda baru saja menyebutkan kisah pengerjaan perangkat lunak, yang mengingatkan saya bahwa tanda tangan anda di twitter juga berbunyi "keahlian" (keahlian), ini adalah kata yang sangat lama, sekarang harus diterjemahkan menjadi "semangat pengrajin”。

bagaimana seharusnya kata ini dipahami? dalam industri yang berkembang pesat saat ini, apakah tidak ada waktu untuk fokus pada kualitas? seiring kemajuan ai, pengiriman perangkat lunak tampaknya menjadi lebih cepat. saya pikir ai akan membantu, benarkah?

paman bob: model bahasa besar ini adalah alat yang sangat menarik dan menurut saya akan berguna bagi pemrogram. namun mereka tidak akan menggantikan pemrogram, dan mereka tidak akan melakukan semua pengkodean. mereka tidak pandai menulis kode, tapi mereka bisa memberikan beberapa saran menarik. jadi menurutkumereka akan berguna, tetapi tidak cukup untuk membuat kita tidak lagi membutuhkan programmer.

adapun pengerjaannya adalah sikap, sikap terhadap pekerjaan. cara terbaik untuk menjelaskannya adalah ini: ketika anda pulang dari hari kerja yang melelahkan dan bercermin, anda dapat berkata pada diri sendiri, "saya melakukan pekerjaan dengan baik hari ini dan saya bangga dengan pekerjaan saya."cara seorang pengrajin berperilaku.pengrajin merasa puas dengan kualitas karyanya, mereka rajin dan disiplin untuk menghasilkan karya yang berkualitas tinggi.

tentu saja kita bisa mendiskusikan banyak teknologi dan metode, seperti test-driven development (tdd), desain sederhana, prinsip solid, dll. ada banyak teknologi dan konsep. namun ide dasarnya adalah di penghujung hari anda bisa berkata pada diri sendiri, "saya melakukan pekerjaan dengan baik hari ini." sayangnya, banyak programmer yang pulang ke rumah, bercermin, dan merasa perlu mandi karena mereka merasa telah melakukan hari yang buruk. mereka menulis banyak kode buruk hanya untuk memenuhi tenggat waktu, dan mereka perlu menghilangkan perasaan buruk itu. itulah yang dimaksud dengan keahlian - pulang ke rumah dengan mengetahui bahwa anda telah melakukan pekerjaan dengan baik dan merasa bangga dengan pekerjaan anda.

"pemrogram baru": buku anda "cara membersihkan kode" (kode bersih) juga mencerminkan prinsip pengerjaan. apakah yang disebut "tao" dari kode bersih lebih fokus pada implementasi logika bisnis daripada pemrograman sistem? atau tidak ada perbedaan antara keduanya?

paman bobkode bersih adalah seperangkat konsep dan teknik yang membantu anda bekerja seperti seorang pengrajin sehingga anda bisa pulang dengan perasaan bangga dengan pekerjaan anda.tidak masalah apakah anda menerapkan logika bisnis atau melakukan pemrograman sistem. itu hanyalah seperangkat teknik dan konsep yang membantu anda melakukan pekerjaan dengan baik dan membuat anda merasa puas.

"pemrogram baru": saya telah mengetahui sebelumnya, apakah itu komunitas pengembang di china atau amerika serikat, banyak orang berpikir bahwa kode bersih sangat berartiabstrak. jadi bagaimana kita menghindari penulisan kode yang terlalu didesain dan terlalu abstrak?

paman bob: ya, ini fenomena yang sangat aneh, karena buku saya sendiri tidak menganjurkan abstraksi yang berlebihan, juga tidak menganjurkan banyak abstraksi. apa yang disarankan buku ini adalah,gunakan abstraksi secara hemat dan tepat, namun desain yang berlebihan tidak disarankan. rupanya, ada beberapa programmer yang percaya bahwa segala bentuktidak langsungsemuanya buruk, mereka pikir satu-satunya cara untuk menulis kode yang baik adalah dengan mencobanyalangsung. saya tidak setuju dengan pandangan ini, menurut saya tipuan dan abstraksi dalam jumlah sedang dapat membantu, tetapi anda harus sangat berhati-hati karena abstraksi harus dibayar mahal. jadi, gunakan abstraksi jika hal tersebut membantu memecahkan suatu masalah, namun waspadai biayanya dan gunakanlah dengan hemat.

"pemrogram baru": mungkin inilah alasan mengapa anda mengatakan beberapa waktu lalu bahwa anda akan meluncurkan versi baru "kebersihan kode". bisakah saya memahaminya sebagai membersihkan sumbernya? namun karena anda memutuskan untuk mendesain ulang dan menulis ulang buku tersebut sepenuhnya, mengapa tidak memberinya nama baru?

paman bob: judul buku ditentukan oleh penerbit. saya terutama ingin mengulangi konsep inti "kode bersih", tetapi menggunakan ekspresi yang berbeda dan menguraikan tema dari sudut yang berbeda.

buku aslinya ditulis 16 atau 17 tahun yang lalu untuk pembaca saat itu. dan sekarang saya menulis buku ini untuk pembaca hari ini. itu akan mencobaselesaikan masalah yang lebih umum saat ini. saya akan menggunakan bahasa yang berbeda dan mengadopsi metode yang berbeda, membuat konten menjadi kurang direktif dan lebih informatif, mencoba menyampaikan poin yang sama dengan cara yang berbeda. pesannya sama, hanya diungkapkan berbeda. saya rasa kedua buku ini pada akhirnya akan saling melengkapi dan pembaca harus membaca keduanya.

ai adalah seorang programmer junior yang hanya memiliki setengah otak

dan tidak pernah benar-benar tumbuh

"pemrogram baru": mari kita bicara tentang buku baru anda “desain fungsional”. pertama-tama, mengapa anda ingin menulis buku ini?

paman bobpemrograman fungsional semakin penting selama dekade terakhir. meskipun orang-orang mulai memperhatikan pemrograman fungsional sekitar tahun 2005, ini sebenarnya merupakan konsep yang lebih tua, telah ada sebagai bahasa matematika sejak tahun 1936, dan salah satu bahasa pemrograman paling awal adalah bahasa fungsional.

pada masa-masa awal, bahasa fungsional mahal untuk dijalankan, lambat, dan membutuhkan memori dalam jumlah besar. namun kini, kemajuan dalam daya komputasi dan sumber daya memori telah membuat biaya pemrograman fungsional hampir dapat diabaikan. hal ini membawa keuntungan dari pemrograman fungsional, terutama ketika menyangkut pemrograman multi-thread. pemrograman fungsional memungkinkan anda menulis kode multi-utas tanpa mengkhawatirkan kondisi balapan atau pembaruan secara bersamaan. hal ini karena pemrograman fungsional tidak memiliki pernyataan penugasan dan tidak mengubah status variabel.

saat saya mempelajari clojure, menurut saya ini adalah cara yang menyenangkan untuk membuat kode dan memecahkan masalah. saya pikir ini harus dikombinasikan dengan alat lain seperti pemrograman berorientasi objek dan pemrograman terstruktur.namun, dalam beberapa tahun terakhir, beberapa artikel menyatakan bahwa pemrograman fungsional bertentangan dengan pemrograman berorientasi objek dan pemrograman berorientasi objek sudah ketinggalan zaman. saya tidak setuju dengan pandangan ini dan memutuskan untuk menulis buku ini.

sampul buku "desain fungsional: prinsip, pola, dan praktek"

buku ini membahas bagaimana pemrograman fungsional, pemrograman berorientasi objek, dan pemrograman terstruktur bekerja sama untuk membangun sistem yang lebih baik. dimulai dengan konsep dasar, secara bertahap membangun prinsip dan pola desain, dan akhirnya menggabungkannya menjadi sebuah aplikasi kecil yang lengkap. saya harap pembaca mengertipemrograman fungsional tidak ada secara terpisah, yang sesuai dengan semua yang telah kami pelajari selama 50 tahun terakhir.

"pemrogram baru": saya juga telah mengumpulkan banyak pertanyaan tentang buku baru dari komunitas pengembang csdn, dan kebanyakan orang paling penasaran mengapa anda memilihclojuredaripada scala menulis kode di buku? apakah karena anda ingin menggunakan bahasa yang lebih fungsional yang tidak mendukung kelas dan pewarisan, untuk membuktikan bahwa prinsip solid anda juga berlaku dalam desain fungsional?

paman bob: sebagian alasannyamemang. meskipun clojure bukan bahasa fungsional yang "murni", bahasa ini sangat kondusif untuk menulis program fungsional. namun, ada alasan lain yang mungkin lebih penting mengapa saya memilih clojure, dan itu adalahclojure sangat sederhana

yang ingin saya sampaikan dalam buku ini adalah ide pemrograman fungsional, bukan mengajarkan bahasa pemrograman fungsional yang kompleks. saya terutama tidak ingin mengajar bahasa dengan tata bahasa yang rumit. sintaks clojure sangat sederhana dan hampir tidak memiliki sintaksis yang rumit. mempelajari clojure itu mudah, dan anda bisa menguasainya dengan membaca kode clojure.

jadi ketika saya menunjukkan kode di buku, saya tidak menjelaskan secara detail cara kerja clojure. sebaliknya, saya menjelaskan beberapa konsep dasar dan membiarkan pembaca mengetahui sisanya. saya juga merekomendasikan beberapa dokumen lain untuk dirujuk oleh pembaca yang tertarik. tapi secara keseluruhan, clojure sangat mudah dipahami, lhobagi pembaca yang belum tahu banyak tentang clojure atau pemrograman fungsional, bisa lebih fokus pada konsep pemrograman fungsional tanpa direpotkan dengan bahasanya sendiri.

"pemrogram baru": saya ingat anda pernah mengatakan di twitter bahwa jika ada yang ingin disebutkan di buku anda berikutnya, mereka dapat mengirimkan sepotong kode yang menurut mereka paling rapi. apakah ini sering terjadi? berapa banyak orang yang biasanya mengirimkan kode? bisakah pengembang tiongkok juga mengajukan?

paman bobya, saya men-tweet itu dan mendapat beberapa tanggapan. beberapa orang mengirimkan cuplikan kode melalui tautan github atau secara langsung. saya mungkin akan menggunakan beberapa kode ini di buku yang akan datang.jika developer china ingin mengirimkan kode yang menurut mereka sangat rapi, saya akan dengan senang hati mempertimbangkannya.tapi saya tidak bisa berjanji untuk menggunakan kode semua orang, karena panjang buku terbatas dan saya tidak bisa memasukkan kode semua orang ke dalamnya.

"pemrogram baru": apakah anda punya ide inovatif untuk buku teks digital dan platform pembelajaran online? saat ini, orang-orang tampaknya kurang berminat membaca buku kertas. bagaimana format baru ini akan merevolusi cara pengajaran dan pembelajaran pemrograman? bagaimana anda berencana untuk mengajarkan pemrograman kepada generasi berikutnya?

paman bob:memang,kita sekarang berada di era digital, dimana rentang perhatian menyusut menjadi kurang dari 20 menit. tetapi jika anda benar-benar ingin mempelajari sesuatu, anda perlu memperlambat dan fokus pada studi anda. beberapa buku terbaru saya telah disertakanvideokontennya, pembaca dapat menyaksikan demonstrasi langsung sesi pemrograman melalui url di buku. kombinasi teks dan video ini sangat efektif.

selain itu, cara menarik lainnya adalahkuliah daring. misalnya, setelah membaca materi cetakan, buku tersebut akan meminta anda mengunjungi url tertentu untuk menonton ceramah yang relevan. menurut saya cara-cara ini sangat berguna.

saya rasa zaman buku kertas belum berakhir. mereka mungkin dikonversi ke e-book, pdf, atau versi pembaca online, namun buku teks tidak akan hilang. teks merupakan media dengan kepadatan informasi yang sangat tinggi, lebih padat dibandingkan video atau ceramah, dan juga lebih nyaman untuk mengontrol kemajuan pembelajaran. oleh karena itu, menurut saya akan lebih efektif jika menggabungkan beragam format pembelajaran, baik menggunakan teks maupun video.

"pemrogram baru": buku anda ditujukan untuk pembaca dari semua tingkat keahlian, dari pemula hingga profesional berpengalaman. hal ini tentu menghadirkan tantangan berbeda dalam menyeimbangkan kedalaman dan keluasan konten.

paman bob: buku saya benar-benar ditujukan untuk berbagai kelompok orang, baik programmer pemula maupun profesional. kuncinya adalah memberikan nilai kepada kedua jenis pembaca tersebut tanpa membuatnya terlalu sulit untuk dicerna oleh salah satu pembaca atau terlalu menyederhanakan bagi yang lain.

saat mengajar dan menulis, saya berasumsi bahwa pendengar atau pembaca saya sama pintarnya dengan saya dan dapat memahami konten saya. mungkin perlu sedikit usaha dari mereka, tapi saya yakin mereka akan mengerti. saya tidak menyesuaikan konten berdasarkan penilaian saya terhadap kemampuan pembaca. saya hanya menyampaikan pesan saya secara langsung, seolah-olah berbicara kepada rekan kerja.

mungkin saya punya lebih banyak pengalaman, mungkin saya sudah melalui lebih banyak dan membuat lebih banyak kesalahan. jadi saya bisa berbagi pengalaman dan cerita saya. namun saya tidak akan memperlambat atau menyederhanakannya.

"pemrogram baru": bagaimana anda mengubah cara anda mengajar pemrograman selama bertahun-tahun? pendekatan dan pembelajaran baru apa yang telah anda adopsi untuk mengikuti perkembangan teknologi?

paman bob: pada masa-masa awal, saya biasanya menggunakantransparansi, dan menampilkan konten kursus melalui proyektor, biasanya menyiapkan tumpukan besar film untuk menampilkan konten halaman demi halaman. seiring berjalannya waktu, sekarang saya gunakanipadsangat menyenangkan melakukan presentasi, menghubungkannya ke proyektor dan menggambar di layar ipad dengan apple pencil dan semuanya akan ditampilkan di layar lebar secara real time.

selama pandemi covid-19, kami mulai mengajar melalui alat pelatihan jarak jauh seperti zoom. sekarang, sebagian besar pengajaran saya dilakukan dari jarak jauh. saya masih menggunakan presentasi slide dan gambar layar, dan metode tersebut masih berfungsi. satu-satunya perbedaan adalah dalam pengajaran jarak jauh, saya tidak bisa melihat langsung reaksi audiens, dan ini bukan pengalaman yang baiksetengah kesenangan

"pemrogram baru": perubahan lain yang disebabkan oleh epidemi ini adalah banyak programmer yang khawatir akan digantikan oleh ai. saya melihat pernyataan sebelumnya bahwa mempelajari desain fungsional dapat membantu mereka mempertahankan pekerjaannya, dapatkah anda menjelaskannya lebih lanjut?

paman bob: desain fungsional dan konsep-konsep dalam buku desain fungsional sebenarnya dirancang untuk membantu anda menjadi programmer yang lebih matang.tambahkan alat baru ke “kotak peralatan” anda. pemrograman fungsional adalah alat yang bagus, pemrograman berorientasi objek adalah alat yang bagus, dan pemrograman terstruktur juga merupakan alat yang bagus. ini harus ada di kotak peralatan anda. pengembangan berbasis pengujian adalah alat yang hebat, dan yang terbaik adalah memilikinya. prinsip solid juga bagus dan harus ada di kotak peralatan anda. jadi tujuan buku ini adalah untuk memperluas perangkat pengembang, yang tentunya akan membantu anda mempertahankan pekerjaan anda.namun menurut saya anda tidak perlu terlalu khawatir akan digantikan oleh ai. hal ini tidak mungkin terjadi dalam hidup saya, dan mungkin juga tidak terjadi dalam hidup anda, atau mungkin tidak akan pernah terjadi. saya merasa kita tidak akan melihat mesin yang memiliki kecerdasan setingkat manusia.

"pemrogram baru": mengenai desain fungsional dan pemrograman berorientasi objek, saya yakin banyak orang pasti bertanya mana yang lebih baik. tapi yang ingin saya tanyakan adalah, menurut andaai yang mana yang lebih baik saat ini?misalnya, apakah pemrograman fungsional lebih cocok untuk pembuatan kode ai? tidak memiliki status, suatu fungsi dapat dihasilkan saat digunakan, dan setiap fungsi juga dapat dibuat dan diverifikasi secara otomatis oleh ai. jadi, jika ai lebih baik dalam desain fungsional, apakah pemrogram yang hanya mengetahui pemrograman fungsional akan menghadapi krisis yang lebih besar?

paman bobtidak masalah, karena ai tidak bisa berbuat apa-apa, dan menghasilkan kode fungsional tidak lebih baik daripada kode berorientasi objek atau terstruktur.anda dapat menganggap ai sebagaipemrogram junior dengan setengah otak dan tidak pernah benar-benar tumbuh dewasa. ini akan memberi anda beberapa saran, sebagian besar tidak terlalu bagus, dan beberapa di antaranya mungkin baik-baik saja, tetapi perlu diubah, karena kode yang ditulis oleh ai selalu berantakan.

ai memang seperti itu, dan ini bisa membantu, namun anda tidak boleh menyesuaikan arah karier anda untuk mengakomodasi ai. ai adalah sebuah alat, dan anda dapat mempelajari cara menggunakannya, tetapi anda tidak boleh mengubah rencana karier anda hanya untuk alat ai tertentu.

apa yang harus dilakukan jika anda tidak tahu apa yang harus dilakukan ketika dihadapkan dengan pemrograman ai

lalu matikan

"pemrogram baru": jika ada orang baru yang mendatangi anda dan bertanya, "bahasa apa yang harus saya pilih sebagai bahasa pemrograman pertama saya?"

paman bob: baiklah, anda bisa memilih java. karena itu, c# juga merupakan bahasa yang sangat bagus. clojure juga bagus. bahasa c juga tersedia. c++ agak sulit dan rumit, tetapi ini juga merupakan pilihan. bahasa go juga sangat bagus, bahasa yang bagus...

sebenarnya yang mana yang anda pilih tidaklah terlalu penting. pemrograman adalah pemrograman, tidak masalah bahasa apa yang anda gunakan untuk memulai. yang terpenting, anda harus belajar bahasa berikutnya. jangan berhenti pada satu bahasa.pelajari satu bahasa, habiskan beberapa bulan hingga anda cukup mahir, lalu pelajari bahasa lain, dan seterusnya, pelajari bahasa baru setiap tahun. anggaplah belajar bahasa sebagai hal yang menyenangkan dan temukan bahasa yang belum anda pelajari. anda mungkin tidak akan pernah menggunakannya di tempat kerja, atau mungkin tidak akan pernah menggunakannya lagi, tetapi biasakan untuk mempelajari bahasa baru setiap satu atau dua tahun.tidak masalah dari mana anda memulai, yang penting anda terus belajar.

"pemrogram baru": apakah anda akan merekomendasikan pemrogram junior untuk berpartisipasi dalam proyek sumber terbuka? proyek open source mengesankan apa yang pernah anda ikuti, dan bisakah anda berbagi ceritanya?

paman bob: saya dan anak saya memulai sebuah proyek 20 tahun yang lalu dan itu masih berjalan dan ini adalah proyek yang hebat. meskipun saya tidak lagi terlibat, banyak orang lain yang melanjutkan.

jika anda seorang programmer junior atau programmer muda dan ingin mempelajari beberapa ide baru, saya sarankan untuk bergabung dengan proyek sumber terbuka. coba kirimkan beberapa permintaan tarik dan sumbangkan apa yang anda bisa. pertama, ini adalah cara yang bagus untuk membantu orang lain dan yang kedua adalah kesempatan belajar yang bagus. bagaimanapun, anda benar, saya sangat menyarankan orang untuk terlibat dalam proyek sumber terbuka, ini cara yang bagus untuk mengembangkan karir anda.

"pemrogram baru": tahukah anda tentang “krisis 35”? banyak programmer menghadapi dua jalan ketika mereka mencapai usia tertentu: beralih ke manajemen atau pensiun.

paman bob: ini adalah masalah nyata mengingat industri teknologi lebih memilih generasi muda. faktanya, seorang pengembang menanyakan pertanyaan serupa kepada saya, dan saya mengingatnya dengan jelas. kata-katanya yang sebenarnya adalah: "paman bob, mengapa anda masih memprogram pada usia 70 tahun?" dia benar, saya sekarang berusia 71 tahun dan masih menulis kode.

gagasan bahwa pemrograman hanya untuk kaum muda sebenarnya hanyalah ilusi, namun memang ilusi yang sangat berpengaruh. ilusi ini muncul karena permintaan akan programmer telah melonjak pesat selama 70 tahun terakhir.

anggap saja seperti ini: setiap lima tahun, jumlah programmer di dunia berlipat ganda. artinya kita harus menggandakan jumlah pemrogram setiap lima tahun, yang berarti separuh pemrogram di dunia memiliki pengalaman kurang dari lima tahun, dan tiga perempat pemrogram memiliki pengalaman kurang dari sepuluh tahun. dengan kata lain, tiga perempat programmer di dunia berusia di bawah 35 tahun. jadi ketika anda melihat sekeliling, yang anda lihat hanyalah anak-anak muda. anda mungkin bertanya, dimana semua programmer lama itu?faktanya, kita semua masih ada, hanya saja jumlahnya tidak terlalu mencolok.

hal ini menimbulkan ilusi bahwa pemrograman hanya cocok untuk anak muda, namun sebenarnya hal ini sepenuhnya salah. untuk menjadi seorang programmer yang benar-benar hebat, dibutuhkan waktu yang lama untuk mengumpulkannya. mungkin ada beberapa programmer senior yang merasa memiliki pengalaman sepuluh tahun itu bagus, tapi dalam lima tahun ke depan, dia bisa menjadi programmer yang lebih baik.

jadi, jika anda benar-benar suka menulis kode, menganggap ini favorit anda, dan ingin terus melakukannya, jangan menyerah. tidak harus jadi manajer. kalau ada orang yang pandai manajemen, biarkan saja. jika anda ingin terus menulis kode, teruslah melakukannya. anda tidak perlu berganti karier atau pensiun dini. bukan berarti otak anda tidak akan bekerja dengan baik saat anda menginjak usia 36 tahun. memang benar, saat ini banyak sekali orang-orang baru yang terjun ke industri ini, dan tidak hanya anak muda, tetapi orang-orang dari segala usia pun belajar pemrograman.itu tidak berarti anda tidak punya kesempatan.

"pemrogram baru": ini mengingatkan saya bahwa banyak programmer sekarang merasa ragu ketika menghadapi ai. namun sebenarnya keraguan diri bukanlah hal baru, dan banyak programmer lama pasti mengalami masalah yang sama di era sebelumnya. pernahkah anda merasa ragu pada diri sendiri sebelumnya?

paman bob: saat pertama kali memulai pemrograman, saya masih kecil. saya selalu merasa bisa membuat nama untuk diri saya sendiri. saya tidak pernah memiliki keraguan pada diri sendiri saat ini.

sebaliknya, saya mulai membuat kesalahan, dipecat, dan mengalami kemunduran lainnya. keraguan diri saat ini sebenarnya adalah hal yang baik.keraguan pada diri sendiri dalam jumlah sedang sebenarnya cukup sehat. karena setelah beberapa saat, anda belajar mengatasinya.anda berpikir, "oke, saya tahu cara menghindari kesalahan ini. saya tahu saya tidak sempurna, tapi selama saya memperhatikan, berhati-hati, dan berbicara dengan orang lain, saya seharusnya bisa memperbaiki masalah ini." kamu akan mengatasi keraguan diri itu. sebenarnya, melewati masa keraguan diri belum tentu merupakan hal yang buruk. ini memungkinkan anda untuk tumbuh dan menjadi lebih kuat.

"pemrogram baru":terakhir, bisakah anda memberikan saran kepada pengembang saat ini? terutama para programmer yang merasa bingung, atau bingung dengan pemrograman ai.

paman bobjika anda tidak tahu apa yang harus dilakukan saat menghadapi pemrograman ai, matikan ai. abaikan saja.habiskan satu bulan lagi untuk menulis kode sendiri, lalu aktifkan ai. mungkin kemudian ia akan melihat kode anda dan melihat apa yang ingin anda lakukan, dan kemudian ia akan dapat memberikan saran yang lebih baik.

misalnya, bayangkan anda seorang pemula yang belajar mengemudi. anda belum pernah menyentuh kemudi, dan anda ingin menggunakan mengemudi otomatis segera setelah anda memulai. segera setelah anda menekan autopilot, mobil mulai bergerak. anda mungkin ketakutan setengah mati, berpikir: "saya harus mematikannya dulu. biar saya punya pengalaman." sampai anda belajar mengemudi, coba autopilot lagi berpikirlah, "oh, sekarang saya mengerti cara kerjanya." maka anda dapat memanfaatkannya dengan lebih baik.hal yang sama juga berlaku untuk ai. ini mungkin tidak mulus pada awalnya, tetapi seiring berjalannya waktu, anda akan menjadi semakin mahir.