Sebagai programmer yang bekerja, Anda harus terus belajar setiap saat. Anda melihat tutorial, dokumentasi, pertanyaan Stack Overflow, apa pun yang dapat Anda temukan yang akan membantu Anda menulis kode dan menjaga keterampilan Anda tetap terkini. Tetapi seberapa sering Anda menemukan diri Anda menggali makalah ilmu komputer akademis untuk meningkatkan kemampuan pemrograman Anda?
Meskipun tutorial dapat membantu Anda menulis kode saat ini, makalah akademislah yang dapat membantu Anda memahami dari mana asal pemrograman dan ke mana arahnya. Setiap fitur pemrograman, mulai dari penunjuk nol (alias kesalahan miliaran dolar) hingga objek (melalui Smalltalk) telah dibangun di atas dasar penelitian yang membentang kembali ke tahun 1960-an (dan sebelumnya). Inovasi masa depan akan dibangun di atas penelitian hari ini.
Kami berbicara dengan tiga anggota tim Papers We Love, gudang online beasiswa ilmu komputer favorit mereka.
Zeeshan Lakhani, seorang direktur teknik di BlockFi, Darren Newton, seorang pemimpin tim teknik di Datadog, dan David Ashby, seorang staf insinyur di SageSure, semuanya bertemu saat bekerja di sebuah perusahaan bernama Arc90. Mereka menemukan bahwa tidak satupun dari mereka memiliki pelatihan formal dalam ilmu komputer, tetapi mereka semua ingin belajar lebih banyak. Ketiganya berasal dari disiplin ilmu humaniora dan seni: Ashby memiliki gelar bahasa Inggris dengan minor sejarah, Newton pergi ke sekolah seni dua kali, dan Lakhani pergi ke sekolah film untuk sarjana sebelum mendapatkan gelar master di bidang musik dan teknik audio. Semua bidang studi itu sangat bergantung pada teks bacaan yang membangun fondasi disiplin ilmu untuk memahami teori yang mendasari semua praktik.
Seperti halnya mahasiswa humaniora yang baik, mereka pergi mencari jawaban di arsip. “Saya memiliki pustakawan laten di dalam,” kata Newton. “Jadi saya selalu tertarik dengan materi sumber sejarah untuk hal-hal yang saya lakukan.”
Survei sejarah
Sebagai bagian dari belajar lebih banyak tentang sejarah pemrograman, Ashby membaca karya Tracy Kidder Jiwa Mesin Baru, tentang perlombaan merancang komputer mikro 32-bit di akhir tahun 70-an. Ini mencakup budaya rekayasa pada saat itu dan masalah serta konsep yang digeluti para insinyur itu. Ini terjadi sebelum masa pasar massal CPU dan komponen motherboard standar, jadi banyak hal yang kita anggap remeh saat ini masih dalam pengerjaan.
Dalam buku Kidder, Lakhani, Newton, dan Ashby melihat seluruh sejarah ilmu komputer yang tidak ada hubungannya dengan mereka, jadi mereka memutuskan untuk mencoba membaca makalah dasar: “Communicating Sequential Processes” karya Tony Hoare dari tahun 1978. Mereka sedang mengerjakan Clojure dan Clojurescript pada saat itu, jadi ini tampaknya relevan. Ketika mereka duduk untuk mendiskusikan makalah itu, mereka menyadari bahwa mereka bahkan tidak tahu bagaimana mendekati untuk memahaminya. “Sepertinya, saya tidak mengerti setengah dari formalisme ini, tapi mungkin intronya cukup bagus,” kata Lakhani. “Tapi kami membutuhkan seseorang seperti David Nolen untuk menjelaskan ini kepada kami.”
Nolen adalah seorang kenalan yang bekerja untuk The New York Times. Dia memberi ceramah di sana tentang Clojure dan bahasa mirip Lisp lainnya, merujuk banyak makalah awal John McCarthy. Mendengar penjelasan ini dengan konteks akademis mulai memutar beberapa roda gigi dalam pikiran mereka. Saat itulah ide Papers We Love lahir.
Mengetahui sejarah konsep komputasi yang Anda gunakan setiap hari membuka banyak pemahaman tentang cara kerjanya di tingkat praktis. Alat yang Anda gunakan, mulai dari database hingga bahasa pemrograman, dibangun di atas dasar penelitian akademis. “Memahami akar dari hal-hal yang sedang Anda kerjakan membuka banyak pengetahuan yang tidak akan Anda dapatkan secara murni hanya dengan menggunakannya setiap hari karena Anda tidak memahami jalur yang tidak dilaluinya,” kata Ashby .
Ada ceramah yang mereka sukai yang diberikan Bret Victor pada tahun 2013 yang disebut “Masa Depan Pemrograman.” Dia berpakaian seperti seorang insinyur dari tahun 70-an, kancing putih, celana khaki, pelindung saku. Dia mulai memberikan ceramahnya menggunakan proyektor overhead yang memiliki nama pembicaraan. Dia menyesuaikan slide dan itu mengungkapkan bahwa tanggalnya adalah 1973. Dia melanjutkan dengan berbicara tentang semua hal hebat yang keluar dari penelitian, semua hal yang akan mengguncang ilmu komputer. Dan itu semua adalah hal-hal yang masih dibahas oleh penonton, seperti perpindahan dari eksekusi berurutan ke model bersamaan.
“Tema teratas itu butuh waktu lama,” kata Lakhani. “Ada banyak hal yang lama menjadi baru lagi, lagi dan lagi.” Masalah yang sama masih relevan, apakah karena masalahnya lebih sulit dari yang diperkirakan atau karena penelitian tentang masalah tersebut telah dibagikan secara luas.
Trio di balik Papers We Love tidak sendirian dalam menemukan kecintaan pada sejarah komputasi. Ada minat yang meningkat dalam retrocomputing, para insinyur melihat sistem masa lalu untuk mempelajari lebih lanjut tentang praktik teknologi. Ini adalah kebalikan dari melihat kertas yang lebih tua; Anda melihat perangkat keras dan pemrogram perangkat lunak lama yang digunakan dan mengerjakannya dengan pola pikir masa kini. “Banyak orang yang menjalankan sistem operasi kuno ini di Raspberry PI dan bekerja dengannya,” kata Newton. “Seperti memutar VM Smalltalk lama di Raspberry PI atau membuat ulang PDP-10.”
Ketika Anda melihat masalah ini dalam konteks awalnya, seperti membaca makalah penelitian yang mencoba mengatasinya, Anda bisa mendapatkan perspektif yang lebih baik tentang di mana Anda berada sekarang. Itu dapat menyebabkan segala macam pencerahan. “Oh, objek melakukan hal yang mereka lakukan karena Smalltalk di tahun 80-an,” kata Ashby. “Dan itulah mengapa sistem besar terlihat seperti itu. Dan itulah mengapa Java terlihat seperti itu.”
Pemahaman baru itu dapat membantu Anda memecahkan masalah yang Anda hadapi saat ini.
Masa depan pemrograman (hari ini)
Ada lebih banyak hal untuk membaca makalah penelitian daripada memahami sejarah; Anda dapat menemukan cara baru untuk memecahkan masalah dengan membaca penelitian saat ini. “Ide Stack Overflow adalah: orang lain pernah mengalami masalah Anda sebelumnya,” kata Ashby. “Makalah akademis adalah: orang lain telah memikirkan masalah ini sebelumnya.”
Jika pekerjaan Anda melibatkan pembuatan variasi dari aplikasi CRUD lama yang sama di ruang baru, mungkin makalah penelitian tidak akan membantu Anda. Tetapi jika Anda mencoba memecahkan masalah unik industri Anda, maka beberapa penelitian di ruang masalah tersebut dapat membantu Anda mengatasinya. “Saya menemukan makalah untuk memperluas gagasan tentang apa yang mungkin dengan pekerjaan yang Anda lakukan,” kata Ashby. “Mereka dapat membantu Anda menghargai bahwa ada cara lain untuk memecahkan masalah ini.”
Bagi Newton dan rekan-rekannya di Datadog, makalah akademis merupakan bagian integral dari pekerjaan mereka. Perangkat lunak pemantauan mereka harus memproses banyak informasi secara real time untuk memberikan pandangan kepada para insinyur tentang aplikasi mereka dan tumpukan yang mereka jalankan. “Kami sangat memperhatikan algoritme kinerja dan cara yang lebih baik untuk melakukan statistik pada volume data yang besar,” kata Newton. “Kita perlu mengandalkan penelitian akademis untuk beberapa hal itu.”
Hanya karena ada penelitian, tentu saja, bukan berarti masalah Anda otomatis terpecahkan. Terkadang satu kertas hanya memberi Anda bagian dari solusi. “Saya berada di Comcast di mana kami ingin memanfaatkan pekerjaan penyeimbangan beban yang kami lakukan dalam hal perutean,” kata Lakhani. “Kami akhirnya menerapkan tiga jenis kertas berbeda yang tidak saling mengenal. Kami memasukkan semantik ke dalam paket jaringan, mengarahkannya berdasarkan kertas lain melalui protokol tertentu, dan menerapkan banyak spesifikasi IETF. Bagian dari pekerjaan ini sekarang tinggal di perpustakaan Rust yang bisa dijalankan orang hari ini.” Ini menemukan benang dalam karya akademis dan menjalinnya bersama-sama untuk memecahkan masalah yang dihadapi.
Tanpa membaca makalah-makalah itu, tim Lakhani tidak akan mampu merancang solusi yang begitu efektif. Mungkin mereka akan sampai di sana sendiri. Tapi bayangkan jumlah pekerjaan untuk meneliti ketiga konsep itu; tidak perlu mengulang pekerjaan mereka jika sudah selesai. Itu berdiri di atas bahu raksasa, seperti kata pepatah, dan jika Anda berada di puncak penelitian di bidang Anda, Anda tahu persis raksasa mana yang harus berdiri.
Peta bahu raksasa
Tentu saja, sebagai lulusan humaniora sendiri, saya ingin tahu yang merupakan raksasa ilmu komputer, makalah-makalah yang akan ada di silabus jika Anda membuat kurikulum gaya humaniora untuk sebuah kelas. Anggap saja sebagai peta bahu raksasa yang bisa Anda pijak untuk maju.
Ternyata, saya bukan orang pertama yang bertanya-tanya apa yang ada di kanon ilmu komputer. Pada tahun 1996, Phillip Laplante menulis Makalah Hebat dalam Ilmu Komputer, yang mungkin agak ketinggalan jaman pada saat ini. Untuk pandangan yang lebih baru tentang hal yang sama, trio merekomendasikan Ide yang Menciptakan Masa Depan, diterbitkan tahun lalu. Lakhani, yang sekarang mengambil gelar PhD dalam ilmu komputer di Carnegie Mellon University (almamater saya), menunjukkan bahwa ada kursus ketika dia tiba yang membahas makalah-makalah penting di lapangan.
Di satu sisi, kanon ini persis seperti yang ingin dibuat oleh repo Papers We Love. Ini berisi makalah dan tautan ke makalah yang disusun berdasarkan topik. Grup menyambut permintaan tarik baru dengan makalah akademis yang Anda semua sukai dan ingin Anda soroti.
Berikut adalah beberapa makalah (dan pembicaraan) yang mereka rekomendasikan kepada siapa pun yang ingin mulai membaca penelitian:
Tentu saja, ada banyak lagi.
Jika Anda terintimidasi dengan memulai di atas kertas, lihat beberapa presentasi Papers We Love, yang menawarkan panduan tentang cara memahami makalah. Seluruh gagasan pembicaraan ini lahir dari frustrasi pertama dengan kertas, kemudian menemukan jalan melalui itu dengan bantuan orang lain. “Mereka mendapatkan CliffsNotes,” kata Lakhani. “Sekarang mereka bisa menyerang koran dan benar-benar memahaminya.”
Komunitas Papers We Love terus berusaha untuk menjembatani antara industri dan akademisi. Semua orang diuntungkan—industri mendapatkan akses ke solusi baru tanpa harus menunggu orang lain untuk mengimplementasikan dan membukanya, dan akademisi dapat melihat ide mereka diuji dan diimplementasikan dalam situasi nyata.
“Salah satu tujuan Papers We Love adalah membuat Anda lebih cepat mengetahui berbagai hal,” kata Lakhani. “Mungkin itu mengubah banyak hal.”
Tags: makalah akademik, penelitian